diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Add-ADUserToLocalGroup.ps1 b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Add-ADUserToLocalGroup.ps1 new file mode 100644 index 0000000000..f4d71784a7 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Add-ADUserToLocalGroup.ps1 @@ -0,0 +1,49 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +. $PSScriptRoot\..\..\..\Shared\Invoke-CatchActionError.ps1 + +function Add-ADUserToLocalGroup { + [CmdletBinding()] + [OutputType([bool])] + param( + [string]$MemberUPN, + [string]$Group, + [scriptblock]$CatchActionFunction + ) + + <# + This function adds an Active Directory user to a local group. + #> + + try { + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + Add-Type -AssemblyName "System.DirectoryServices.AccountManagement" -ErrorAction Stop + + $localContext = [System.DirectoryServices.AccountManagement.ContextType]::Machine + $domainContext = [System.DirectoryServices.AccountManagement.ContextType]::Domain + $localMachine = New-Object -TypeName System.DirectoryServices.AccountManagement.PrincipalContext($localContext) + $localGroup = [System.DirectoryServices.AccountManagement.GroupPrincipal]::FindByIdentity($localMachine, $Group) + + if (-not($localGroup.Members.Contains($domainContext, [System.DirectoryServices.AccountManagement.IdentityType]::UserPrincipalName, $MemberUPN))) { + $localGroup.Members.Add($domainContext, [System.DirectoryServices.AccountManagement.IdentityType]::UserPrincipalName, $MemberUPN) + $localGroup.Save() + } else { + Write-Verbose ("User: $($MemberUPN) is already a member of group: $($Group)") + } + } catch [System.DirectoryServices.AccountManagement.PrincipalOperationException] { + throw ("There are users in the local administrators group which cannot be resolved - please remove them and run the script again") + Invoke-CatchActionError $CatchActionFunction + return + } catch { + Write-Verbose ("Exception: $($Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + return + } finally { + if ($null -ne $localGroup) { + $localGroup.Dispose() + } + } + + return $true +} diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Build-ExchangeAuthCertificateManagementAccount.ps1 b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Build-ExchangeAuthCertificateManagementAccount.ps1 new file mode 100644 index 0000000000..cb330ce5bb --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Build-ExchangeAuthCertificateManagementAccount.ps1 @@ -0,0 +1,204 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +. $PSScriptRoot\Add-ADUserToLocalGroup.ps1 +. $PSScriptRoot\New-AuthCertificateManagementAccount.ps1 +. $PSScriptRoot\..\..\..\Shared\Invoke-CatchActionError.ps1 + +function Build-ExchangeAuthCertificateManagementAccount { + [CmdletBinding(DefaultParameterSetName = "CreateNewAccount")] + [OutputType([System.Object])] + param( + [Parameter(Mandatory = $false, ValueFromPipeline = $true, ParameterSetName = "UseExistingAccount")] + [bool]$UseExistingAccount = $false, + [Parameter(Mandatory = $false, ValueFromPipeline = $true, ParameterSetName = "UseExistingAccount")] + [PSCredential]$AccountCredentialObject, + [Parameter(Mandatory = $true, ValueFromPipeline = $true, ParameterSetName = "CreateNewAccount")] + [securestring]$PasswordToSet, + [Parameter(Mandatory = $true, ValueFromPipeline = $true, ParameterSetName = "CreateNewAccount")] + [Parameter(Mandatory = $true, ValueFromPipeline = $true, ParameterSetName = "UseExistingAccount")] + [string]$DomainController, + [Parameter(Mandatory = $false, ValueFromPipeline = $true, ParameterSetName = "CreateNewAccount")] + [Parameter(Mandatory = $false, ValueFromPipeline = $true, ParameterSetName = "UseExistingAccount")] + [scriptblock]$CatchActionFunction + ) + + begin { + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + + $systemMailboxIdentity = "SM_ad0b1fe3a1a3" + $domainToUse = (Get-Mailbox -Arbitration -ErrorAction SilentlyContinue | Where-Object { + ($null -ne $_.UserPrincipalName) + } | Select-Object -First 1).UserPrincipalName.Split("@")[-1] + + if (($UseExistingAccount) -and + ($null -ne $AccountCredentialObject)) { + Write-Verbose ("Account information passed - we will use account: $($AccountCredentialObject.UserName)") + + if ($AccountCredentialObject.UserName.IndexOf("\") -ne -1) { + Write-Verbose ("Username passed in \ format") + $systemMailboxIdentity = ($AccountCredentialObject.UserName).Split("\")[-1] + } else { + Write-Verbose ("Username passed in UPN or plain format") + $systemMailboxIdentity = $AccountCredentialObject.UserName + } + + $PasswordToSet = $AccountCredentialObject.Password + } + + function NewAuthCertificateManagementRole { + [CmdletBinding()] + [OutputType([bool])] + param( + [string]$DomainController + ) + + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + + try { + $roleGroupParams = @{ + Name = "Auth Certificate Management" + Roles = "View-Only Configuration", "View-Only Recipients" , "Exchange Server Certificates", "Organization Client Access" + Description = "Members of this management group can create and manage Auth Certificates" + DomainController = $DomainController + ErrorAction = "Stop" + } + Write-Verbose ("Trying to create 'Auth Certificate Management' role group by using Domain Controller: $($DomainController)") + New-RoleGroup @roleGroupParams | Out-Null + + Write-Verbose ("Validate that the role group was created successful") + $roleGroup = Get-RoleGroup -Identity "Auth Certificate Management" -DomainController $DomainController -ErrorAction SilentlyContinue + if ($null -ne $roleGroup) { + Write-Verbose ("Role group 'Auth Certificate Management' found by using Domain Controller: $($DomainController)") + return $true + } else { + throw ("Role group 'Auth Certificate Management' not found by using Domain Controller: $($DomainController)") + } + } catch { + Write-Verbose ("Unable to create 'Auth Certificate Management' role group - Exception: $($Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + } + + return $false + } + } + process { + if ($null -eq $domainToUse) { + Write-Verbose ("Unable to figure out the domain used by the arbitration mailbox - we can't continue without this information") + return + } + + $authCertificateRoleGroup = Get-RoleGroup -Identity "Auth Certificate Management" -ErrorAction SilentlyContinue + + if ($null -eq $authCertificateRoleGroup) { + Write-Verbose ("Role group for Auth Certificate management doesn't exist. Group 'Auth Certificate Management' will be created now") + $newRoleGroupStatus = NewAuthCertificateManagementRole -DomainController $DomainController + } + + if (($null -ne $authCertificateRoleGroup) -or + ($newRoleGroupStatus)) { + Write-Verbose ("Role group exists or was created successfully - searching for Auth Certificate management account") + if ($UseExistingAccount -eq $false) { + Write-Verbose ("System mailbox doesn't exist and will be created now") + $newAuthCertificateManagementAccountParams = @{ + Password = $PasswordToSet + DomainToUse = $domainToUse + DomainController = $DomainController + } + + if ($null -ne $CatchActionFunction) { + $newAuthCertificateManagementAccountParams.Add("CatchActionFunction", ${Function:Invoke-CatchActions}) + } + + $adUserExistsOrCreated = New-AuthCertificateManagementAccount @newAuthCertificateManagementAccountParams + Write-Verbose ("Waiting 10 seconds for replication - please be patient") + Start-Sleep -Seconds 10 + } else { + Write-Verbose ("Trying to find the user which was passed to the function") + $adUserExistsOrCreated = ((Get-User -Identity $systemMailboxIdentity -DomainController $DomainController -ErrorAction SilentlyContinue).Count -eq 1) + Write-Verbose ("Does the account exists? $($adUserExistsOrCreated)") + } + } else { + Write-Verbose ("Something went wrong while preparing the Auth Certificate management role group") + return + } + + if ($adUserExistsOrCreated) { + Write-Verbose ("Auth Certificate management AD account is now ready to use - going to email enable it now") + $systemMailboxRecipientInfo = Get-Recipient -Identity $systemMailboxIdentity -ErrorAction SilentlyContinue + + if ($null -eq $systemMailboxRecipientInfo) { + Write-Verbose ("Recipient has not yet been email enabled") + try { + Enable-Mailbox -Identity $systemMailboxIdentity -DomainController $DomainController -ErrorAction Stop | Out-Null + Write-Verbose ("Wait another 5 seconds and give Exchange time to process") + Start-Sleep -Seconds 5 + } catch { + Write-Verbose ("Something went wrong while email activating the Auth Certificate management account") + Invoke-CatchActionError $CatchActionFunction + return + } + } + } else { + Write-Verbose ("Something went wrong while preparing the Auth Certificate management account") + return + } + + $systemMailboxMailboxInfo = Get-Mailbox -Identity $systemMailboxIdentity -DomainController $DomainController -ErrorAction SilentlyContinue + + if ($null -ne $systemMailboxMailboxInfo) { + Write-Verbose ("Auth Certificate management mailbox found") + if ($systemMailboxMailboxInfo.HiddenFromAddressListsEnabled -eq $false) { + Write-Verbose ("Auth Certificate management mailbox is not hidden from addresslist - going to hide the mailbox now") + try { + Set-Mailbox -Identity $systemMailboxIdentity -HiddenFromAddressListsEnabled $true -ErrorAction Stop | Out-Null + } catch { + Write-Verbose ("Unable to hide Auth Certificate management account from addresslist") + Invoke-CatchActionError $CatchActionFunction + return + } + } + } else { + Write-Verbose ("Unable to email enable the Auth Certificate management account") + return + } + + $roleGroupMembership = Get-RoleGroupMember "Auth Certificate Management" -ErrorAction SilentlyContinue + $systemMailboxUserInfo = Get-User -Identity $systemMailboxIdentity -DomainController $DomainController -ErrorAction SilentlyContinue + + if (($null -eq $roleGroupMembership) -or + (-not($roleGroupMembership.DistinguishedName.ToLower().Contains($systemMailboxUserInfo.DistinguishedName.ToLower())))) { + Write-Verbose ("Add Auth Certificate management account to 'Auth Certificate Management' role group") + try { + Add-RoleGroupMember "Auth Certificate Management" -Member $systemMailboxIdentity -ErrorAction Stop | Out-Null + Write-Verbose ("Auth Certificate management account added to 'Auth Certificate Management' role group") + } catch { + Write-Verbose ("Unable to add Auth Certificate management account to role group") + Invoke-CatchActionError $CatchActionFunction + return + } + } else { + Write-Verbose ("Account: $($systemMailboxIdentity) is already a member of the 'Auth Certificate Management' role group") + } + + if ($null -ne $systemMailboxUserInfo) { + Write-Verbose ("Account: $($systemMailboxIdentity) must be added to the local administrators group") + if (Add-ADUserToLocalGroup -MemberUPN $systemMailboxUserInfo.UserPrincipalName -Group "S-1-5-32-544") { + Write-Verbose ("Account successfully added to local administrators group") + } else { + Write-Verbose ("Error while adding the user to the local administrators group - Exception: $($Error[0].Exception.Message)") + return + } + } else { + Write-Verbose ("Something went wrong as we can no longer find the Auth Certificate management account") + return + } + } + end { + return [PSCustomObject]@{ + UserPrincipalName = $systemMailboxUserInfo.UserPrincipalName + SamAccountName = $systemMailboxUserInfo.SamAccountName + Password = $PasswordToSet + } + } +} diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Copy-ScriptToExchangeDirectory.ps1 b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Copy-ScriptToExchangeDirectory.ps1 new file mode 100644 index 0000000000..7bc9d6a78c --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Copy-ScriptToExchangeDirectory.ps1 @@ -0,0 +1,50 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +. $PSScriptRoot\..\..\..\Shared\Invoke-CatchActionError.ps1 + +function Copy-ScriptToExchangeDirectory { + [CmdletBinding()] + [OutputType([System.Object])] + param( + [Parameter(Mandatory = $false)] + [string]$FullPathToScript = $MyInvocation.ScriptName, + [Parameter(Mandatory = $false)] + [scriptblock]$CatchActionFunction + ) + + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + + $exchangeInstallPath = $env:ExchangeInstallPath + $scriptName = $FullPathToScript.Split("\")[-1] + + if ($null -ne $exchangeInstallPath) { + Write-Verbose ("ExchangeInstallPath is: $($exchangeInstallPath)") + $localScriptsPath = [System.IO.Path]::Combine($exchangeInstallPath, "Scripts") + + try { + if (-not(Test-Path -Path $localScriptsPath)) { + Write-Verbose ("Folder: $($localScriptsPath) doesn't exist - it will be created now") + New-Item -Path $exchangeInstallPath -ItemType Directory -Name "Scripts" -ErrorAction Stop | Out-Null + } + + if (Test-Path -Path $localScriptsPath -ErrorAction Stop) { + Write-Verbose ("Path: $($localScriptsPath) was successfully created") + Copy-Item -Path $FullPathToScript -Destination $localScriptsPath -Force -ErrorAction Stop + + if (Test-Path -Path $FullPathToScript) { + Write-Verbose ("Script: $($scriptName) successfully copied over to: $($localScriptsPath)") + return [PSCustomObject]@{ + WorkingDirectory = $localScriptsPath + ScriptName = $scriptName + } + } + } + } catch { + Write-Verbose ("Something went wrong - Exception: $($Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + } + } + + return +} diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Export-ExchangeAuthCertificate.ps1 b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Export-ExchangeAuthCertificate.ps1 new file mode 100644 index 0000000000..5425d0d8e9 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Export-ExchangeAuthCertificate.ps1 @@ -0,0 +1,96 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +. $PSScriptRoot\..\..\..\Shared\Invoke-CatchActionError.ps1 + +function Export-ExchangeAuthCertificate { + [CmdletBinding()] + [OutputType([System.Object])] + param( + [Parameter(Mandatory = $true)] + [securestring]$Password, + [scriptblock]$CatchActionFunction + ) + + <# + This function exports the current Auth Certificate and (if configured) the next Auth Certificate. + The certificates will be stored as password protected .pfx file. + #> + + try { + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + $certificatesReadyToExportList = New-Object 'System.Collections.Generic.List[object]' + $certificatesUnableToExportList = New-Object 'System.Collections.Generic.List[string]' + $currentAuthConfig = Get-AuthConfig -ErrorAction Stop + $allExchangeCertificates = Get-ExchangeCertificate -Server $env:COMPUTERNAME -ErrorAction SilentlyContinue + + if ($null -ne $currentAuthConfig) { + $currentAuthCertThumbprint = $currentAuthConfig.CurrentCertificateThumbprint + $nextAuthCertThumbprint = $currentAuthConfig.NextCertificateThumbprint + + if (-not([System.String]::IsNullOrEmpty($currentAuthCertThumbprint))) { + Write-Verbose ("CurrentCertificateThumbprint is: $($currentAuthCertThumbprint) - trying to find it on the local computer") + $currentAuthCertificate = $allExchangeCertificates | Where-Object { + ($_.Thumbprint -eq $currentAuthCertThumbprint) + } + + if (($null -eq $currentAuthCertificate) -or + ($currentAuthCertificate.HasPrivateKey -eq $false) -or + ($currentAuthCertificate.PrivateKeyExportable -eq $false)) { + Write-Verbose ("Current Auth Certificate doesn't fullfil the requirements to be exportable on this machine") + $certificatesUnableToExportList.Add($currentAuthCertThumbprint) + } else { + Write-Verbose ("Current Auth Certificate was detected on the local machine and is ready to be exported") + $certificatesReadyToExportList.Add($currentAuthCertificate) + } + } + + if (-not([System.String]::IsNullOrEmpty($nextAuthCertThumbprint))) { + Write-Verbose ("NextCertificateThumbprint is: $($nextAuthCertThumbprint) - trying to find it on the local computer") + $nextAuthCertificate = $allExchangeCertificates | Where-Object { + ($_.Thumbprint -eq $nextAuthCertThumbprint) + } + + if (($null -eq $nextAuthCertificate) -or + ($nextAuthCertificate.HasPrivateKey -eq $false) -or + ($nextAuthCertificate.PrivateKeyExportable -eq $false)) { + Write-Verbose ("Next Auth Certificate doesn't fullfil the requirements to be exportable on this machine") + $certificatesUnableToExportList.Add($nextAuthCertThumbprint) + } else { + Write-Verbose ("Next Auth Certificate was detected on the local machine and is ready to be exported") + $certificatesReadyToExportList.Add($nextAuthCertificate) + } + } + + Write-Verbose ("There are: $($certificatesReadyToExportList.Count) certificates on the list that will be exported now") + $dateTimeAppendix = (Get-Date -Format "yyyyMMddhhmmss") + foreach ($cert in $certificatesReadyToExportList) { + Write-Verbose ("Exporting the certificate with thumbprint: $($cert.Thumbprint) now...") + try { + $authCert = Export-ExchangeCertificate -Thumbprint $cert.Thumbprint -BinaryEncoded -Password $Password + $certExportPath = "$($PSScriptRoot)\$($cert.Thumbprint)-$($dateTimeAppendix).pfx" + [System.IO.File]::WriteAllBytes($certExportPath, $authCert.FileData) + Write-Verbose ("Certificate exported to: $certExportPath") + } catch { + Write-Verbose ("We hit an issue during certificate export - Exception $($Error[0].Exception.Message)") + $certificatesUnableToExportList.Add($authCert.Thumbprint) + Invoke-CatchActionError $CatchActionFunction + } + } + } else { + Write-Verbose ("No valid Auth Config returned") + return + } + } catch { + Write-Verbose ("Unable to query the Exchange Auth Config - Exception: $($Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + } + + return [PSCustomObject]@{ + CertificatesAvailableToExport = ($certificatesReadyToExportList.Count -gt 0) + ExportSuccessful = (($certificatesReadyToExportList.Count -gt 0) -and ($certificatesUnableToExportList.Count -eq 0)) + NumberOfCertificatesToExport = $certificatesReadyToExportList.Count + NumberOfCertificatesUnableToExport = $certificatesUnableToExportList.Count + UnableToExportCertificatesList = $certificatesUnableToExportList + } +} diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/New-AuthCertificateManagementAccount.ps1 b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/New-AuthCertificateManagementAccount.ps1 new file mode 100644 index 0000000000..b26c84e236 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/New-AuthCertificateManagementAccount.ps1 @@ -0,0 +1,77 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +. $PSScriptRoot\..\..\..\Shared\Invoke-CatchActionError.ps1 + +function New-AuthCertificateManagementAccount { + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '', Justification = 'Only non-destructive operations are performed in this function.')] + [CmdletBinding()] + [OutputType([bool])] + param( + [securestring]$Password, + [string]$DomainToUse = $env:USERDNSDOMAIN, + [string]$DomainController = $env:USERDNSDOMAIN, + [scriptblock]$CatchActionFunction + ) + + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + + $systemMailboxGuid = "b963af59-3975-4f92-9d58-ad0b1fe3a1a3" + $samAccountName = "SM_ad0b1fe3a1a3" + $userPrincipalName = "SystemMailbox{$($systemMailboxGuid)}@$($DomainToUse)" + + Write-Verbose ("Domain passed to the function is: $($DomainToUse)") + Write-Verbose ("Domain or Domain Controller to be used with 'New-ADUser' call is: $($DomainController)") + try { + $adAccount = Get-ADUser -Identity $samAccountName -Server $DomainController -ErrorAction Stop + } catch [Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException] { + Write-Verbose ("AD user account wasn't found using Domain Controller: $($DomainController)") + Invoke-CatchActionError $CatchActionFunction + } catch { + Write-Verbose ("We hit an unhandled exception and cannot continue - Exception: $($Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + return $false + } + + if ($null -eq $adAccount) { + try { + $newADUserParams = @{ + Name = "SystemMailbox{$($systemMailboxGuid)}" + DisplayName = "Microsoft Exchange Auth Certificate Manager" + SamAccountName = $samAccountName + UserPrincipalName = $userPrincipalName + AccountPassword = $Password + Enabled = $true + PasswordNeverExpires = $true + Server = $DomainController + ErrorAction = "Stop" + } + + New-ADUser @newADUserParams | Out-Null + Write-Verbose ("User: 'Microsoft Exchange Auth Certificate Manager' was successfully created") + return $true + } catch [System.UnauthorizedAccessException] { + Write-Verbose ("You don't have the permissions to create a new AD user account") + Invoke-CatchActionError $CatchActionFunction + } catch { + Write-Verbose ("Something went wrong while creating the 'Microsoft Exchange Auth Certificate Manager' account - Exception: $($Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + } + } else { + Write-Verbose ("The AD account: $($userPrincipalName) already exists") + Write-Verbose ("Trying to reset the password for the account") + try { + Set-ADAccountPassword -Identity $adAccount -NewPassword $Password -Reset -Server $DomainController -Confirm:$false -ErrorAction Stop + Set-ADUser -Identity $adAccount -ChangePasswordAtLogon $false -Server $DomainController -Confirm:$false -ErrorAction Stop + return $true + } catch [System.UnauthorizedAccessException] { + Write-Verbose ("You don't have the permissions to reset the password of an AD account") + Invoke-CatchActionError $CatchActionFunction + } catch { + Write-Verbose ("Unable to reset the password for the already existing AD user account - Exception: $($Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + } + } + + return $false +} diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/New-AuthCertificateMonitoringLogFolder.ps1 b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/New-AuthCertificateMonitoringLogFolder.ps1 new file mode 100644 index 0000000000..c6f6ff17bb --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/New-AuthCertificateMonitoringLogFolder.ps1 @@ -0,0 +1,28 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +function New-AuthCertificateMonitoringLogFolder { + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '', Justification = 'Only non-destructive operations are performed in this function.')] + [CmdletBinding()] + [OutputType([System.String])] + param() + + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + $exchangeInstallPath = $env:ExchangeInstallPath + if ($null -eq $exchangeInstallPath) { + Write-Verbose ("ExchangeInstallPath environment variable doesn't exist - fallback to use temp folder to store logs") + $exchangeInstallPath = $env:TEMP + } + + if ($null -ne $exchangeInstallPath) { + $logFilePath = [System.IO.Path]::Combine($exchangeInstallPath, "Logging") + $finalLogPath = [System.IO.Path]::Combine($logFilePath, "AuthCertificateMonitoring") + + if ((Test-Path -Path $finalLogPath) -eq $false) { + New-Item -Path $logFilePath -ItemType Directory -Name "AuthCertificateMonitoring" -ErrorAction SilentlyContinue | Out-Null + } + return $finalLogPath + } + + return +} diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/New-ExchangeAuthCertificate.ps1 b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/New-ExchangeAuthCertificate.ps1 new file mode 100644 index 0000000000..9a5bd662a3 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/New-ExchangeAuthCertificate.ps1 @@ -0,0 +1,384 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +. $PSScriptRoot\..\DataCollection\Get-ExchangeServerCertificate.ps1 +. $PSScriptRoot\..\DataCollection\Import-ExchangeCertificateFromRawData.ps1 +. $PSScriptRoot\..\..\..\Shared\Invoke-CatchActionError.ps1 + +function New-ExchangeAuthCertificate { + [Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '', Justification = 'Logic via UnattendedMode parameter implemented')] + [CmdletBinding(DefaultParameterSetName = "NewPrimaryAuthCert")] + [OutputType([System.Object])] + param( + [Parameter(Mandatory = $false, ParameterSetName = "NewPrimaryAuthCert")] + [switch]$ReplaceExpiredAuthCertificate, + + [Parameter(Mandatory = $false, ParameterSetName = "NewNextAuthCert")] + [switch]$ConfigureNextAuthCertificate, + + [Parameter(Mandatory = $true, ParameterSetName = "NewNextAuthCert")] + [int]$CurrentAuthCertificateLifetimeInDays, + + [Parameter(Mandatory = $false, ParameterSetName = "NewPrimaryAuthCert")] + [Parameter(Mandatory = $false, ParameterSetName = "NewNextAuthCert")] + [bool]$UnattendedMode = $false, + + [Parameter(Mandatory = $false, ParameterSetName = "NewPrimaryAuthCert")] + [bool]$RecycleAppPoolsAfterRenewal = $false, + + [Parameter(Mandatory = $false, ParameterSetName = "NewPrimaryAuthCert")] + [Parameter(Mandatory = $false, ParameterSetName = "NewNextAuthCert")] + [scriptblock]$CatchActionFunction + ) + + begin { + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + + function GetCertificateBoundToDefaultWebSiteThumbprints { + [CmdletBinding()] + param() + + <# + Returns the thumbprint of the certificate which is bound to the 'Default Web Site' in IIS + #> + + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + + try { + # Remove emtpy elements from array as they could be returned if no certificate is bound to a binding in between, then sort + # the array and remove duplicates. + $hashes = ((Get-Website -Name "Default Web Site" -ErrorAction Stop).bindings.collection.certificatehash) | Where-Object { + $_ + } | Sort-Object -Unique + } catch { + Write-Verbose ("Unable to query 'Default Web Site' SSL binding information") + Invoke-CatchActionError $CatchActionFunction + } + + return $hashes + } + + function GenerateNewAuthCertificate { + [CmdletBinding()] + [OutputType([System.Object])] + param( + [bool]$SuppressInternalTransportConfirmation = $false + ) + + <# + Generates a new Auth Certificate which can then be configured via 'Set-AuthConfig' + Returns a PSCustomObject with the information of the newly generated certificate + which can then be consumed by the next function which configures the certificate as + new Auth Certificate. + #> + + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + $operationSuccessful = $false + $internalTransportCertificateFoundOnServer = $false + $errorCount = $Error.Count + + $authCertificateFriendlyName = ("Microsoft Exchange Server Auth Certificate - $(Get-Date -Format yyyyMMddhhmmss)") + + try { + $newInternalTransportCertificateParams = @{ + Server = $env:COMPUTERNAME + KeySize = 2048 + PrivateKeyExportable = $true + FriendlyName = $env:COMPUTERNAME + DomainName = $env:COMPUTERNAME + IncludeServerFQDN = $true + Services = "SMTP" + Force = $true + ErrorAction = "Stop" + } + + $newAuthCertificateParams = @{ + Server = $env:COMPUTERNAME + KeySize = 2048 + PrivateKeyExportable = $true + SubjectName = "cn=Microsoft Exchange Server Auth Certificate" + FriendlyName = $authCertificateFriendlyName + DomainName = @() + ErrorAction = "Stop" + } + + if ($SuppressInternalTransportConfirmation) { + Write-Verbose ("Function called in unattended mode - internal transport certificate will be overwritten for a short time and then reset to the previous one") + $internalTransportCertificate = Get-InternalTransportCertificateFromServer $env:COMPUTERNAME + $defaultWebSiteCertificateThumbprints = GetCertificateBoundToDefaultWebSiteThumbprints + [string]$internalTransportCertificateThumbprint = $internalTransportCertificate.Thumbprint + + if (($null -ne $internalTransportCertificate) -and + ($null -ne $defaultWebSiteCertificateThumbprints)) { + $newAuthCertificateParams.Add("Force", $true) + $servicesToEnable = $null + $servicesToEnableList = New-Object 'System.Collections.Generic.List[object]' + try { + $internalTransportCertificate = Get-ExchangeServerCertificate -Server $env:COMPUTERNAME -Thumbprint $internalTransportCertificateThumbprint -ErrorAction Stop + + if ($null -ne $internalTransportCertificate) { + $internalTransportCertificateFoundOnServer = $true + $isInternalTransportBoundToIISFE = $defaultWebSiteCertificateThumbprints.Contains($internalTransportCertificateThumbprint) + + if (($null -ne $internalTransportCertificate.Services) -and + ($internalTransportCertificate.Services -ne 0)) { + $servicesToEnableList.AddRange(($internalTransportCertificate.Services).ToString().ToUpper().Split(",").Trim()) + + # Make sure to remove IIS from list if the certificate was not bound to Front End Website before + if (($isInternalTransportBoundToIISFE -eq $false) -and + ($servicesToEnableList.Contains("IIS"))) { + Write-Verbose ("Internal transport certificate is bound to Back End Website - avoid to enable it for IIS to prevent it being bound to Front End") + $servicesToEnableList.Remove("IIS") + } + } elseif ($null -eq $internalTransportCertificate.Services) { + Write-Verbose ("No service information returned for internal transport certificate") + if ($isInternalTransportBoundToIISFE) { + Write-Verbose ("Internal transport certificate was bound to Front-End Website and will be rebound to it again") + $servicesToEnableList.Add("IIS") + } + $servicesToEnableList.Add("SMTP") + } + + $servicesToEnable = $([string]::Join(", ", $servicesToEnableList)) + } + } catch { + Invoke-CatchActionError $CatchActionFunction + Write-Verbose ("Internal transport certificate wasn't detected on server: $($env:COMPUTERNAME)") + Write-Verbose ("We will generate a new internal transport certificate now") + try { + $newSelfSignedTransportCertificate = New-ExchangeCertificate @newInternalTransportCertificateParams + if ($null -ne $newSelfSignedTransportCertificate) { + if ($null -ne $newSelfSignedTransportCertificate.Thumbprint) { + Write-Verbose ("Certificate object sucessfully deserialized") + [string]$internalTransportCertificateThumbprint = $newSelfSignedTransportCertificate.Thumbprint + } else { + Write-Verbose ("Looks like deserialization of the certificate object failed - trying to import from RawData") + [string]$internalTransportCertificateThumbprint = (Import-ExchangeCertificateFromRawData $newSelfSignedTransportCertificate).Thumbprint + if ($null -ne $internalTransportCertificateThumbprint) { + Write-Verbose ("Import from RawData was successful") + } else { + throw ("Import from RawData failed") + } + } + + Write-Verbose ("A new internal transport certifcate with thumbprint: $($internalTransportCertificateThumbprint) was generated") + $servicesToEnable = "SMTP" + } + } catch { + Write-Verbose ("Hit an exception while trying to generate a new internal transport certificate - Exception: $(Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + } + } + } + } + + Write-Verbose ("Starting Auth Certificate creation process") + try { + $newAuthCertificate = New-ExchangeCertificate @newAuthCertificateParams + Start-Sleep -Seconds 5 + } catch { + Write-Verbose ("Hit an exception while trying to generate a new Exchange Server Auth Certificate - Exception: $($Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + } + + if ($internalTransportCertificateFoundOnServer) { + Write-Verbose ("Resetting internal transport certificate back to previous one") + Enable-ExchangeCertificate -Server $env:COMPUTERNAME -Thumbprint $internalTransportCertificateThumbprint -Services $servicesToEnable -Force | Out-Null + Start-Sleep -Seconds 10 + } + + if ($null -ne $newAuthCertificate) { + $operationSuccessful = $true + if ($null -ne $newAuthCertificate.Thumbprint) { + Write-Verbose ("Certificate object sucessfully deserialized") + [string]$newAuthCertificateThumbprint = $newAuthCertificate.Thumbprint + } else { + Write-Verbose ("Looks like deserialization of the certificate object failed - trying to import from RawData") + [string]$newAuthCertificateThumbprint = (Import-ExchangeCertificateFromRawData $newAuthCertificate).Thumbprint + if ($null -ne $newAuthCertificateThumbprint) { + Write-Verbose ("Import from RawData was successful") + } else { + throw ("Import from RawData failed") + } + } + Write-Verbose ("New Auth Certificate was successfully created. Thumbprint: $($newAuthCertificateThumbprint)") + } + } catch { + Write-Verbose ("We hit an exception during Auth Certificate creation process - Exception: $($Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + } + + return [PSCustomObject]@{ + ComputerName = $env:COMPUTERNAME + InternalTransportThumbprint = $internalTransportCertificateThumbprint + FriendlyName = $authCertificateFriendlyName + Thumbprint = $newAuthCertificateThumbprint + Successful = $operationSuccessful + ErrorOccured = if ($Error.Count -gt $errorCount) { $($Error[0].Exception.Message) } + } + } + + function ConfigureNextAuthCertificate { + [CmdletBinding()] + [OutputType([System.Object])] + param( + [bool]$UnattendedMode = $false, + [int]$CurrentAuthCertificateLifetimeInDays, + [int]$EnableDaysInFuture = 30 + ) + + <# + We must generate a new self-signed certificate and set it as new certificate by the help of the + -NewCertificateThumbprint parameter. We must also specify a DateTime (via -NewCertificateEffectiveDate) + when the new certificate becomes active. + + Returns $true if renewal was successful, returns $false if it wasn't + #> + + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + + $renewalSuccessful = $false + $newAuthCertificateObject = GenerateNewAuthCertificate -SuppressInternalTransportConfirmation $UnattendedMode + $nextAuthCertificateActiveOn = (Get-Date).AddDays($EnableDaysInFuture) + + if ($null -ne $CurrentAuthCertificateLifetimeInDays) { + Write-Verbose ("Current Auth Certificate will expire in: $($CurrentAuthCertificateLifetimeInDays) days") + + if ($CurrentAuthCertificateLifetimeInDays -lt ($EnableDaysInFuture + 2)) { + Write-Verbose ("Need to re-calculate the EnableDaysInFuture value to ensure a smooth Auth Certificate rotation") + # Assuming that there is not much time (< 2 days) until the current Auth Certificate expires, + # the next Auth Certificate should become active as soon as the AuthAdmin servicelet runs on the server + $EnableDaysInFuture = 0 + + if (($CurrentAuthCertificateLifetimeInDays - 4) -gt 0) { + $EnableDaysInFuture = 4 + } elseif (($CurrentAuthCertificateLifetimeInDays - 2) -gt 0) { + $EnableDaysInFuture = 2 + } + + $nextAuthCertificateActiveOn = (Get-Date).AddDays($EnableDaysInFuture) + Write-Verbose ("The new Auth Certificate will become active in: $($EnableDaysInFuture) days") + } else { + Write-Verbose ("There is enough time to initiate the Auth Certificate rotation - no need to adjust EnableDaysInFuture") + } + } + + if (($null -ne $newAuthCertificateObject) -and + ($newAuthCertificateObject.Successful)) { + [string]$newAuthCertificateThumbprint = $newAuthCertificateObject.Thumbprint + Write-Verbose ("New Auth Certificate with thumbprint: $($newAuthCertificateThumbprint) generated - the new one will replace the existing one in: $($EnableDaysInFuture) days") + try { + Write-Verbose ("[Required] Step 1: Set certificate: $($newAuthCertificateThumbprint) as the next Auth Certificate") + Set-AuthConfig -NewCertificateThumbprint $newAuthCertificateThumbprint -NewCertificateEffectiveDate $nextAuthCertificateActiveOn -Force -ErrorAction Stop + + if ($EnableDaysInFuture -eq 0) { + # Restart MSExchangeServiceHost service to ensure that the new Auth Certificate is used immediately as don't have time + # to wait until the AuthAdmin servicelet runs on the server due to the limited time until the current Auth Certificate expires + Write-Verbose ("[Optional] Step 2: Restart service 'MSExchangeServiceHost' on computer: $($env:COMPUTERNAME)") + Restart-Service -Name "MSExchangeServiceHost" -ErrorAction Stop + } + Write-Verbose ("Done - Certificate: $($newAuthCertificateThumbprint) set as the next Auth Certificate") + Write-Verbose ("Effective date is: $($nextAuthCertificateActiveOn)") + $renewalSuccessful = $true + } catch { + Write-Verbose ("Error while enabling the next Auth Certificate. Error: $($Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + } + } + + return [PSCustomObject]@{ + RenewalSuccessful = $renewalSuccessful + NextCertificateActiveOnDate = $nextAuthCertificateActiveOn + NewCertificateThumbprint = $newAuthCertificateThumbprint + } + } + + function ReplaceExpiredAuthCertificate { + [CmdletBinding()] + [OutputType([System.Object])] + param( + [bool]$UnattendedMode = $false, + [bool]$RecycleAppPools = $false + ) + + <# + We must generate a new self-signed certificate and repalce the existing Auth Certificate + if it's already expired. We must also set it as active by specifying the current DateTime via + -NewCertificateEffectiveDate parameter. + To speed things up, restarting 'MSExchangeServiceHost' service is needed as well as 'MSExchangeOWAAppPool' + and 'MSExchangeECPAppPool' app pools. However, it shouldn't become a problem if restarting the service or + app pools fails. + + Returns $true if renewal was successful, returns $false if it wasn't + #> + + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + Write-Verbose ("AppPools will be recycled after renewal? $($RecycleAppPools)") + $newAuthCertificateActiveOn = (Get-Date) + $renewalSuccessful = $false + $newAuthCertificateObject = GenerateNewAuthCertificate -SuppressInternalTransportConfirmation $UnattendedMode + + if (($null -ne $newAuthCertificateObject) -and + ($newAuthCertificateObject.Successful)) { + [string]$newAuthCertificateThumbprint = $newAuthCertificateObject.Thumbprint + Write-Verbose ("New Auth Certificate with thumbprint: $($newAuthCertificateThumbprint) generated - the existing one will be replaced immediately with the new one") + try { + Write-Verbose ("[Required] Step 1: Set certificate: $($newAuthCertificateThumbprint) as new Auth Certificate") + Set-AuthConfig -NewCertificateThumbprint $newAuthCertificateThumbprint -NewCertificateEffectiveDate $newAuthCertificateActiveOn -Force -ErrorAction Stop + + Write-Verbose ("[Required] Step 2: Publish the new Auth Certificate") + Set-AuthConfig -PublishCertificate -ErrorAction Stop + + Write-Verbose ("[Required] Step 3: Clear previous Auth Certificate") + Set-AuthConfig -ClearPreviousCertificate -ErrorAction Stop + + try { + # Run these commands in a separate try / catch as it isn't a terminating issue if they fail + Write-Verbose ("[Optional] Step 4: Restart service 'MSExchangeServiceHost' on computer: $($env:COMPUTERNAME)") + Restart-Service -Name "MSExchangeServiceHost" -ErrorAction Stop + + if ($RecycleAppPools) { + Write-Verbose ("[Optional] Step 5: Restart WebApp Pools 'MSExchangeOWAAppPool' and 'MSExchangeECPAppPool' on computer $($env:COMPUTERNAME)") + Restart-WebAppPool -Name "MSExchangeOWAAppPool" -ErrorAction Stop + Restart-WebAppPool -Name "MSExchangeECPAppPool" -ErrorAction Stop + } + } catch { + Write-Warning ("Error while restarting service 'MSExchangeServiceHost' or WebApp Pools") + Write-Warning ("However, these steps are optional and not required - the Auth Certificate was replaced with a new one") + Invoke-CatchActionError $CatchActionFunction + } + + Write-Verbose ("Done - Certificate: $($newAuthCertificateThumbprint) is the new Auth Certificate") + $renewalSuccessful = $true + } catch { + Write-Verbose ("Error while enabling the new Auth Certificate - Exception: $($Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + } + } + + return [PSCustomObject]@{ + RenewalSuccessful = $renewalSuccessful + NextCertificateActiveOnDate = $newAuthCertificateActiveOn + NewCertificateThumbprint = $newAuthCertificateThumbprint + } + } + } + process { + if ($ReplaceExpiredAuthCertificate) { + Write-Verbose ("Calling function to replace an alredy expired or invalid Auth Certificat") + $renewalActionPerformed = ReplaceExpiredAuthCertificate -UnattendedMode $UnattendedMode -RecycleAppPools $RecycleAppPoolsAfterRenewal + } elseif ($ConfigureNextAuthCertificate) { + Write-Verbose ("Calling function to state the next Auth Certificate for rotation") + $renewalActionPerformed = ConfigureNextAuthCertificate -UnattendedMode $UnattendedMode -CurrentAuthCertificateLifetimeInDays $CurrentAuthCertificateLifetimeInDays + } else { + Write-Verbose ("No Auth Certificate configuration action was specified") + } + } + end { + return [PSCustomObject]@{ + RenewalActionPerformed = ($renewalActionPerformed.RenewalSuccessful -eq $true) + AuthCertificateActivationDate = ($renewalActionPerformed.NextCertificateActiveOnDate) + NewCertificateThumbprint = ($renewalActionPerformed.NewCertificateThumbprint) + } + } +} diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Register-AuthCertificateRenewalTask.ps1 b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Register-AuthCertificateRenewalTask.ps1 new file mode 100644 index 0000000000..affb98ae17 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Register-AuthCertificateRenewalTask.ps1 @@ -0,0 +1,86 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +. $PSScriptRoot\..\..\..\Shared\Invoke-CatchActionError.ps1 + +function Register-AuthCertificateRenewalTask { + [CmdletBinding()] + [OutputType([bool])] + param( + [string]$TaskName = "Daily Auth Certificate Check", + [string]$Username, + [securestring]$Password, + [string]$WorkingDirectory, + [string]$ScriptName, + [bool]$IgnoreOfflineServers = $false, + [bool]$IgnoreHybridConfig = $false, + [string]$DailyRuntime = "10am", + [string]$TaskDescription = "AutoGeneratedViaMonitorExchangeAuthCertificateScript", + [scriptblock]$CatchActionFunction + ) + + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + + $fullPathToScript = [System.IO.Path]::Combine($WorkingDirectory, $ScriptName) + try { + $existingScheduledTask = Get-ScheduledTask -TaskName $($TaskName) -ErrorAction Stop | Where-Object { + ($_.Description -eq $TaskDescription) + } + } catch { + Write-Verbose ("No scheduled task with name: $($TaskName) was found - we don't need to unregister it") + Invoke-CatchActionError $CatchActionFunction + } + + if ($null -ne $existingScheduledTask) { + Write-Verbose ("Scheduled task already exists - will be deleted now to re-create a new one") + try { + foreach ($t in $existingScheduledTask) { + Unregister-ScheduledTask -TaskPath $($t.TaskPath) -TaskName $($t.TaskName) -Confirm:$false -ErrorAction Stop + Write-Verbose ("Scheduled task: $($t.TaskName) successfully unregistered") + } + } catch { + Write-Verbose ("The scheduled task already exists and we were unable to unregister it - Exception $($Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + return $false + } + } + + if (Test-Path -Path $fullPathToScript) { + $passwordAsPlaintextString = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($Password)) + + $schTaskTrigger = New-ScheduledTaskTrigger -Daily -At $DailyRuntime + + $newScheduledTaskParams = @{ + Execute = "powershell.exe" + WorkingDirectory = "$($WorkingDirectory)" + Argument = "-NonInteractive -NoLogo -NoProfile -Command `".\$($ScriptName) -ValidateAndRenewAuthCertificate `$true -IgnoreUnreachableServers `$$($IgnoreOfflineServers) -IgnoreHybridConfig `$$($IgnoreHybridConfig) -Confirm:`$false`"" + } + + $schTaskAction = New-ScheduledTaskAction @newScheduledTaskParams + + $registerSchTaskParams = @{ + TaskName = $TaskName + Trigger = $schTaskTrigger + Action = $schTaskAction + Description = $TaskDescription + RunLevel = "Highest" + User = $Username + Password = $passwordAsPlaintextString + Force = $true + ErrorAction = "Stop" + } + + try { + Register-ScheduledTask @registerSchTaskParams | Out-Null + Write-Verbose ("Scheduled Task: $($TaskName) successfully created") + return $true + } catch { + Write-Verbose ("Error while creating Scheduled Task: $($TaskName) - Exception: $($Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + } + } else { + Write-Verbose ("Script: $($fullPathToScript) doesn't exist") + } + + return $false +} diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Copy-ScriptToExchangeDirectory.Tests.ps1 b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Copy-ScriptToExchangeDirectory.Tests.ps1 new file mode 100644 index 0000000000..51c9bfbf70 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Copy-ScriptToExchangeDirectory.Tests.ps1 @@ -0,0 +1,38 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingInvokeExpression', '', Justification = 'Pester testing file')] +[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidOverwritingBuiltInCmdlets', '', Justification = 'Pester testing file')] +[CmdletBinding()] +param() +BeforeAll { + $Script:parentPath = (Split-Path -Parent $PSScriptRoot) + $Script:Server = $env:COMPUTERNAME + . $Script:parentPath\Copy-ScriptToExchangeDirectory.ps1 +} + +Describe "Testing Copy-ScriptToExchangeDirectory.ps1" { + + Context "Executed On Exchange Server" { + BeforeAll { + $env:ExchangeInstallPath = $env:TEMP + $Script:results = Copy-ScriptToExchangeDirectory -FullPathToScript $Script:parentPath\Copy-ScriptToExchangeDirectory.ps1 + } + + It "Should Copy The Script To ExchangeScripts Folder" { + $results.WorkingDirectory | Should -Be ('{0}\Scripts' -f $env:TEMP) + $results.ScriptName | Should -Be 'Copy-ScriptToExchangeDirectory.ps1' + } + } + + Context "Executed On Non-Exchange Server" { + BeforeAll { + $env:ExchangeInstallPath = $null + $Script:results = Copy-ScriptToExchangeDirectory + } + + It "Should Not Do Anything And Return Null" { + $results | Should -Be $null + } + } +} diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/GetExchangeCertifiateWithNewAuthConfigCert.xml b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/GetExchangeCertifiateWithNewAuthConfigCert.xml new file mode 100644 index 0000000000..a60e3d5c4a --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/GetExchangeCertifiateWithNewAuthConfigCert.xml @@ -0,0 +1,85 @@ + + + + Microsoft.Exchange.Management.SystemConfigurationTasks.ExchangeCertificate + System.Security.Cryptography.X509Certificates.X509Certificate2 + System.Security.Cryptography.X509Certificates.X509Certificate + System.Object + + [Subject]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 164A288374E263814BE363E1ED8B98BD_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 01/05/2023 13:57:11_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 01/05/2028 13:57:11_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ B22BD738BED13136D29B7F410CE2993C5313F8FA_x000D__x000A_ + + MIIDKTCCAhGgAwIBAgIQFkoog3TiY4FL42Ph7YuYvTANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwHhcNMjMwMTA1MTM1NzExWhcNMjgwMTA1MTM1NzExWjA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDObFhepiQeqSaz48L+p55jTZw88GUmWFLxRAONcl452gLcM/RSDA6AUCOuOCgeaGCmn/rdEygqv8cxY1I2yApFjJM8O7Tjdu0KUXlI5Y8Wiyxij1P261atT3bH1iN4D8H9g0JUiTK5seEdQvZkSHtvVcHIKdBKCCpbZx3tDq5yTH0I7TJR9J3IpqAT5MfUwXYPnK4NGod2ZT8fu6qqjp/qdw9cjG6z/WnWNHx0NIz4xFK7VOMHcCC9NpRy6pVK85sgNYJX7vYC2pMoGdNHjXhXfwhlY5F30SnBRLGVhyRN6mFlcareybkAuaPGVAyaCqryti9GLexwWByK9/shjZ9NAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQC/NYoyxej0lPGswhBf9ah4htsVSjHkEaCBEbDnYfMaz9UuPySZkGIHqTSCEKsNsmTeLdQizGCMCXil06S8njmn+yEV+LP5nfKuWlJ+ZNVrCj/DDBcy39YivwqliM9gWPupc2MYhBnZH4i3nIyA4lDm9bd/FMZcelvOv+Ka9JKl96EhvSqsJF/HqdBIg24nwXrKnjz1cJZSlMh+NMyr9/1amdjwExd1rdq0CjL4NnqSDy2CpzBZzMPGXVYzjihyuu0ovEJk8F+IJQeWflGZt7n0xXJ16SzCEHoZGnGZObUygS9GqMdOdTz8q2aVkj22HRte/XsCXmNPDuWhsE6Oibe6 + + + e2k16-1.contoso.lab + 4e029ce4-dec4-4e71-8696-578e14f119b3 + false + I3NpZyP3CgAAAAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5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 + + + + + [Subject]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 448899ABC500C6AB41297497850D44A2_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 01/04/2023 14:15:54_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 01/04/2028 14:15:54_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ BC6BF924D6EF046E64F8D1987DC1D7D2F4C0042A_x000D__x000A_ + + MIIDKTCCAhGgAwIBAgIQRIiZq8UAxqtBKXSXhQ1EojANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwHhcNMjMwMTA0MTQxNTU0WhcNMjgwMTA0MTQxNTU0WjA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJNrnPVHde/ZUYJXlJ+uczX72i82AVDymeiZi395mut02srCW5vPLDMfjpdJwa07wj+DJflg6RBXDhQsR85tcUbWQ+62yoQ5FQkm1WtlWcBw67f2hM9xVkJINSAe8YyELEjJ7qrkAAVOrv1PEb/fvjUFYd52apX5NSfR3UHnxhlv8/NV470lKtUNa+MTN3O3V9XKTFYKTiws+HKeSgQSRbgk8/Tgx6WaM529h5wqZ4o8nWvHyCHMFvKy4NB/FGcOMzocSjYrGNowT0W/aBitB6EuzDqoJdLUv+yZxp8vcQCAeiIOkCWH3czatu8ZM5coSgTofri6sT9v3opm27ppx/AgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQCQQ62rb4AAHvx6BGxp8jjbir0ET0HYIJOFXCs6his/N8e6ZJuC1/9A32SNpU/JVNDpS5Q+IdqMdAYxcYUYBU4+sO0lbHE4vNwq69ja7iZ4WlNGTO3uvQgtgAG3y6peI2L7d5SINJPUTsFdh1ccnFYCncgOEYbIiV5VQwyyqRPr4HyMyfsRhlm/AtZIAOFlP/yulNvB+AtsuyfnZkhGTPVkhwJE+S17bCMGKBpY+qwr6txxZ1h+zaZv+IKXfbxphQmuMku318pfGeCaDzYABSd1vGUqgAUPDifSCRSqyI0yhLGgg6sZQpqjImgaKM2jiAEycwcDDl8JQ2kLOiE1oHR5 + + + e2k16-1.contoso.lab + 4e029ce4-dec4-4e71-8696-578e14f119b3 + false + I3NpZyNXCwAAAAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZUF1dGhvcml0eVR5cGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfr///9GTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwEAAAAHdmFsdWVfXwAIAgAAABAAAAAJBwAAAAEGCAAAADxFMmsxNi0xLkNvbnRvc28ubGFiXEJDNkJGOTI0RDZFRjA0NkU2NEY4RDE5ODdEQzFEN0QyRjRDMDA0MkEPAwAAAEkFAAACXAAAAAEAAAAEAAAAAAgAABkAAAABAAAAEAAAAPy0lrsS1g3C3+417ByhuOsPAAAAAQAAACAAAAAj0bWI7Ws08J3KWdR1wPx4icZTluCm8CmqrHxcgWGiYQQAAAABAAAAEAAAAHi2GhRvAaUVGyOiOFUAFH8LAAAAAQAAAHgAAABNAGkAYwByAG8AcwBvAGYAdAAgAEUAeABjAGgAYQBuAGcAZQAgAFMAZQByAHYAZQByACAAQQB1AHQAaAAgAEMAZQByAHQAaQBmAGkAYwBhAHQAZQAgAC0AIAAyADAAMgAzADAAMQAwADQAMAAyADEANQA1ADQAAAACAAAAAQAAAMwAAAAcAAAAbAAAAAwAAAAgAAAAAAAAAAAAAAABAAAAewA5AEIAQgA4AEUAQgA1AEEALQBEADkAMwAwAC0ANABFADQAOAAtAEEANABFADQALQA3AEYAQQAxADMAQgA4ADgAOABCAEMAMgB9AAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAFIAUwBBACAAUwBDAGgAYQBuAG4AZQBsACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgAAAAAAAAADAAAAAQAAABQAAAC8a/kk1u8EbmT40Zh9wdfS9MAEKhQAAAABAAAAFAAAAOmq6sS/GRUabX+R6URy41AyfiQyIAAAAAEAAAAtAwAAMIIDKTCCAhGgAwIBAgIQRIiZq8UAxqtBKXSXhQ1EojANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwHhcNMjMwMTA0MTQxNTU0WhcNMjgwMTA0MTQxNTU0WjA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJNrnPVHde/ZUYJXlJ+uczX72i82AVDymeiZi395mut02srCW5vPLDMfjpdJwa07wj+DJflg6RBXDhQsR85tcUbWQ+62yoQ5FQkm1WtlWcBw67f2hM9xVkJINSAe8YyELEjJ7qrkAAVOrv1PEb/fvjUFYd52apX5NSfR3UHnxhlv8/NV470lKtUNa+MTN3O3V9XKTFYKTiws+HKeSgQSRbgk8/Tgx6WaM529h5wqZ4o8nWvHyCHMFvKy4NB/FGcOMzocSjYrGNowT0W/aBitB6EuzDqoJdLUv+yZxp8vcQCAeiIOkCWH3czatu8ZM5coSgTofri6sT9v3opm27ppx/AgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQCQQ62rb4AAHvx6BGxp8jjbir0ET0HYIJOFXCs6his/N8e6ZJuC1/9A32SNpU/JVNDpS5Q+IdqMdAYxcYUYBU4+sO0lbHE4vNwq69ja7iZ4WlNGTO3uvQgtgAG3y6peI2L7d5SINJPUTsFdh1ccnFYCncgOEYbIiV5VQwyyqRPr4HyMyfsRhlm/AtZIAOFlP/yulNvB+AtsuyfnZkhGTPVkhwJE+S17bCMGKBpY+qwr6txxZ1h+zaZv+IKXfbxphQmuMku318pfGeCaDzYABSd1vGUqgAUPDifSCRSqyI0yhLGgg6sZQpqjImgaKM2jiAEycwcDDl8JQ2kLOiE1oHR5BAcAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBAAAQ01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5JaXNTZXJ2aWNlW10CAAAACAgJCQAAAAAAAAABAAAABwkAAAAAAQAAAAAAAAAEQU1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5JaXNTZXJ2aWNlAgAAAAtajVv8AjYVO1AwXzJn7NRBVypKKVlKFVAiebYZ+6l5cA== + + + + + [Subject]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 5A384D3A84FCD19F4926684747BAD093_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 12/30/2022 16:55:13_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 12/30/2027 16:55:13_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ E1BDF9AE58C93C75E76C9DD882138FB8FF0FA786_x000D__x000A_ + + MIIDKTCCAhGgAwIBAgIQWjhNOoT80Z9JJmhHR7rQkzANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwHhcNMjIxMjMwMTY1NTEzWhcNMjcxMjMwMTY1NTEzWjA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuaovJR+bviko2GwaKeA8E4PRRBtRRuRJDkcdLhP3HAL1Fn1AR8VaFhDvLl0VjSVPZFbLuYNe9m+V32vDKruGz95abQ14hoMSJWsccaxVcgo0RPkaALo0Iwjd4Xv4uiUNn5n5TphQiXLJl2rCRCm4frImUEiw3+0+PjXElbO4LHpBjfXLXTSLH0GED8mRF0HhkZREEIDtfdbc8/B9ELbWSIw+Se7fMDtoSFmD5RWWA5fFdrJKRJ+Ya2vbvQmmmnOJa9DIB2DYVzdL67G4spdsHObcf0upKjw66e8iVnR/D25OslQW5qVlEHsDvLFi9RZHpO+NMb6nJPwSMS4isQkPBAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQBRdsD06RnsjFBItzh1dYkTc4XRo44IpspZpNcGMjlaKowFOlqR+ei/yhPyAeeTEJZZLCD/e6m8VzVDaVCjYNyW6HfDEsIK6iXWw9/4ecqgctwUbne/car1vl0mrC9iW7GryU6NZh5FpiCHyvGILxdOncwMECh7a/iAoYpP5+05JENI8MxmhTjdfsItZZKGftl+8wudiYWDwZfpe0tmKwbSiMZOeYEKmnqpykY04dAHbCaSc80p1F/O7ly3AmqkBYLrOg1sjZGvodMKAetnLleW0CT/7HK14RQwHR3XTYaI59z3j67blwfONv0LC7lRFn5h1ODJ73XqQBxa1CavU3zI + + + e2k16-1.contoso.lab + 4e029ce4-dec4-4e71-8696-578e14f119b3 + false + I3NpZyNXCwAAAAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZUF1dGhvcml0eVR5cGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfr///9GTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwEAAAAHdmFsdWVfXwAIAgAAABAAAAAJBwAAAAEGCAAAADxFMmsxNi0xLkNvbnRvc28ubGFiXEUxQkRGOUFFNThDOTNDNzVFNzZDOUREODgyMTM4RkI4RkYwRkE3ODYPAwAAAEkFAAACXAAAAAEAAAAEAAAAAAgAABkAAAABAAAAEAAAALME8R/b6EpmdIZUjnECPYYPAAAAAQAAACAAAABythz33FMLUN+V8hBAoFuod4cfH821Q68e70lvEPc7KwQAAAABAAAAEAAAACRy3yPvgdknEtIJQp3PuPcLAAAAAQAAAHgAAABNAGkAYwByAG8AcwBvAGYAdAAgAEUAeABjAGgAYQBuAGcAZQAgAFMAZQByAHYAZQByACAAQQB1AHQAaAAgAEMAZQByAHQAaQBmAGkAYwBhAHQAZQAgAC0AIAAyADAAMgAyADEAMgAzADAAMAA0ADUANQAxADIAAAACAAAAAQAAAMwAAAAcAAAAbAAAAAwAAAAgAAAAAAAAAAAAAAABAAAAewA5ADAAMgAxADUANwA3ADEALQBDAEMAMQBBAC0ANABEADgANQAtAEEARQAyADgALQA0ADMANQAwADUAQgBFADMANwBEADkAOAB9AAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAFIAUwBBACAAUwBDAGgAYQBuAG4AZQBsACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgAAAAAAAAADAAAAAQAAABQAAADhvfmuWMk8dedsndiCE4+4/w+nhhQAAAABAAAAFAAAAI/vA54XmCA+1VmsYcB4cteZAbEZIAAAAAEAAAAtAwAAMIIDKTCCAhGgAwIBAgIQWjhNOoT80Z9JJmhHR7rQkzANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwHhcNMjIxMjMwMTY1NTEzWhcNMjcxMjMwMTY1NTEzWjA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuaovJR+bviko2GwaKeA8E4PRRBtRRuRJDkcdLhP3HAL1Fn1AR8VaFhDvLl0VjSVPZFbLuYNe9m+V32vDKruGz95abQ14hoMSJWsccaxVcgo0RPkaALo0Iwjd4Xv4uiUNn5n5TphQiXLJl2rCRCm4frImUEiw3+0+PjXElbO4LHpBjfXLXTSLH0GED8mRF0HhkZREEIDtfdbc8/B9ELbWSIw+Se7fMDtoSFmD5RWWA5fFdrJKRJ+Ya2vbvQmmmnOJa9DIB2DYVzdL67G4spdsHObcf0upKjw66e8iVnR/D25OslQW5qVlEHsDvLFi9RZHpO+NMb6nJPwSMS4isQkPBAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQBRdsD06RnsjFBItzh1dYkTc4XRo44IpspZpNcGMjlaKowFOlqR+ei/yhPyAeeTEJZZLCD/e6m8VzVDaVCjYNyW6HfDEsIK6iXWw9/4ecqgctwUbne/car1vl0mrC9iW7GryU6NZh5FpiCHyvGILxdOncwMECh7a/iAoYpP5+05JENI8MxmhTjdfsItZZKGftl+8wudiYWDwZfpe0tmKwbSiMZOeYEKmnqpykY04dAHbCaSc80p1F/O7ly3AmqkBYLrOg1sjZGvodMKAetnLleW0CT/7HK14RQwHR3XTYaI59z3j67blwfONv0LC7lRFn5h1ODJ73XqQBxa1CavU3zIBAcAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBAAAQ01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5JaXNTZXJ2aWNlW10CAAAACAgJCQAAAAAAAAABAAAABwkAAAAAAQAAAAAAAAAEQU1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5JaXNTZXJ2aWNlAgAAAAsKC1h35bGeKsS0FVk24DR12kCdZhafT4SsFgAL6jc4Ow== + + + + + [Subject]_x000D__x000A_ CN=E2k16-1_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=E2k16-1_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 69FC45493FF2248140DD9D53B4D92957_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 12/30/2022 14:39:08_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 12/30/2027 14:39:08_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ D003810EBE1624145889D031FBB77ED2BD280FD3_x000D__x000A_ + + MIIDDDCCAfSgAwIBAgIQafxFST/yJIFA3Z1TtNkpVzANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDEwdFMmsxNi0xMB4XDTIyMTIzMDE0MzkwOFoXDTI3MTIzMDE0MzkwOFowEjEQMA4GA1UEAxMHRTJrMTYtMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL329TDnYHScVTPyXPRE+xM92V1tDJVOc/QyB9j/cMrMH905PIfHqecgVSGKhZpS5LCJ666fOZYj4Q/qctIqCK1kemQWJzOyCfD+eTsybFpy8ePaXX6J8ap5iUxj4OBQpEI9tlLxwPxrgXBZC8Alm9ikierdK7os1AysFnJX1TaoIJElyYPfTiY44HL27q33x4+EIo3FHNn2t5A2zc3KQsa8hYQ2LBnO52tBlHOzngd3VLJoKtDajWRinHF1LlBNwAmjJWeVfWcE7q4nngs+5NIUr6rNTx9EUql0ikukr3tHgnHVXDUKNK9f5chSoaycRpMkhOFHNjqcp71SIhe09bUCAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgWgMCcGA1UdEQQgMB6CB0UyazE2LTGCE0UyazE2LTEuQ29udG9zby5sYWIwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAQEAqYpdfs2fN+lHCxB3Ems0vU2AzBic/2CjStSfuPxKXeTjKnikgAhBv/GHNqQ6dphaLLktAfzONQr4NE9iWTn/i46PXDiimEWSllTP3aBMeWcnjezQsGROxq+OWAcWhhc6maXh85VoZwrhG3Nwc6lxqdi0X9c26GLlq+vBzIK3b2wWz+dtdyPui6CadQFXBKuSYdgGsQlmeHpi17mRfTmrVH8RNyOm8Y3TuCij7FDKp8c3PGk9H9giYrYCnSJ2b1KO+LOoGXhDzJ5POas/gy5qe1SPizAwbdWmT21y6JVFbT8kfm5PqBEVggYwCfhMZkjWaOKHHuDzC5E59jxH+j2g4A== + + + e2k16-1.contoso.lab + 4e029ce4-dec4-4e71-8696-578e14f119b3 + false + I3NpZyO+DAAAAAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZUF1dGhvcml0eVR5cGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfr///9GTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwEAAAAHdmFsdWVfXwAIAgAAABkAAAAJBwAAAAEGCAAAADxFMmsxNi0xLkNvbnRvc28ubGFiXEQwMDM4MTBFQkUxNjI0MTQ1ODg5RDAzMUZCQjc3RUQyQkQyODBGRDMPAwAAAIYEAAACWQAAAAEAAAAWAAAAUgBTAEEALwBTAEgAQQAyADUANgAAABkAAAABAAAAEAAAAIl+1UrIu4OReAGakdQbz/EEAAAAAQAAABAAAAD11nyUzfvUgaJUPpMmrN4nAwAAAAEAAAAUAAAA0AOBDr4WJBRYidAx+7d+0r0oD9MCAAAAAQAAAGwAAAAcAAAAAAAAAAwAAAAgAAAAAAAAAAAAAAABAAAAOAA0ADMAMwBmAGQAOQAzAC0AOABjADYAOAAtADQANwA2AGMALQA4AGMANwBiAC0AYwAyADAAYwBmADgAMQA3ADYAMgA3AGQAAAAAAAAAAAAUAAAAAQAAABQAAADI7WiokCypwPT5bWiEZknQ6fG44gsAAAABAAAAEAAAAEUAMgBrADEANgAtADEAAAAPAAAAAQAAACAAAABlzrklSK3uCY9HQ6VahG6MEulF6c4R+1dAucyOL7vHVFwAAAABAAAABAAAAAAIAAAgAAAAAQAAABADAAAwggMMMIIB9KADAgECAhBp/EVJP/IkgUDdnVO02SlXMA0GCSqGSIb3DQEBCwUAMBIxEDAOBgNVBAMTB0UyazE2LTEwHhcNMjIxMjMwMTQzOTA4WhcNMjcxMjMwMTQzOTA4WjASMRAwDgYDVQQDEwdFMmsxNi0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvfb1MOdgdJxVM/Jc9ET7Ez3ZXW0MlU5z9DIH2P9wyswf3Tk8h8ep5yBVIYqFmlLksInrrp85liPhD+py0ioIrWR6ZBYnM7IJ8P55OzJsWnLx49pdfonxqnmJTGPg4FCkQj22UvHA/GuBcFkLwCWb2KSJ6t0ruizUDKwWclfVNqggkSXJg99OJjjgcvburffHj4QijcUc2fa3kDbNzcpCxryFhDYsGc7na0GUc7OeB3dUsmgq0NqNZGKccXUuUE3ACaMlZ5V9ZwTurieeCz7k0hSvqs1PH0RSqXSKS6Sve0eCcdVcNQo0r1/lyFKhrJxGkySE4Uc2OpynvVIiF7T1tQIDAQABo14wXDAOBgNVHQ8BAf8EBAMCBaAwJwYDVR0RBCAwHoIHRTJrMTYtMYITRTJrMTYtMS5Db250b3NvLmxhYjATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQCpil1+zZ836UcLEHcSazS9TYDMGJz/YKNK1J+4/Epd5OMqeKSACEG/8Yc2pDp2mFosuS0B/M41Cvg0T2JZOf+Ljo9cOKKYRZKWVM/doEx5ZyeN7NCwZE7Gr45YBxaGFzqZpeHzlWhnCuEbc3BzqXGp2LRf1zboYuWr68HMgrdvbBbP5213I+6LoJp1AVcEq5Jh2AaxCWZ4emLXuZF9OatUfxE3I6bxjdO4KKPsUMqnxzc8aT0f2CJitgKdInZvUo74s6gZeEPMnk85qz+DLmp7VI+LMDBt1aZPbXLolUVtPyR+bk+oERWCBjAJ+ExmSNZo4oce4PMLkTn2PEf6PaDgBAcAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBAAAQ01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5JaXNTZXJ2aWNlW10CAAAACAgJCQAAAAEAAAABAAAABwkAAAAAAQAAAAQAAAAEQU1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5JaXNTZXJ2aWNlAgAAAAkKAAAADQMMCwAAAElTeXN0ZW0sIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQoAAABBTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UFAAAAC3NlcnZpY2VOYW1lC2ludGVybmFsVXJsEGludGVybmFsVXJsVmFsaWQLZXh0ZXJuYWxVcmwQZXh0ZXJuYWxVcmxWYWxpZAEEBAQEClN5c3RlbS5VcmkLAAAARE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5VcmxWYWxpZGF0aW9uAgAAAApTeXN0ZW0uVXJpCwAAAERNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudC5TeXN0ZW1Db25maWd1cmF0aW9uVGFza3MuVXJsVmFsaWRhdGlvbgIAAAACAAAABgwAAAAVSUlTOi8vRTJrMTYtMS9XM1NWQy8yCgXz////RE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5VcmxWYWxpZGF0aW9uAQAAAAd2YWx1ZV9fAAgCAAAAAAAAAAoB8v////P///8AAAAACxbtnDli++3O8ZgUY4PakuQ/3dRIC0VCgSLbosY4Jokd + + + + + [Subject]_x000D__x000A_ CN=mail.contoso.lab_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=mail.contoso.lab_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 114127F15159879440EC068324801D00_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 09/05/2022 14:41:02_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 09/05/2027 14:41:02_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ 2759456DC53C76E3DED093B567B6D8DAA42C0ADD_x000D__x000A_ + + MIIDWDCCAkCgAwIBAgIQEUEn8VFZh5RA7AaDJIAdADANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBtYWlsLmNvbnRvc28ubGFiMB4XDTIyMDkwNTE0NDEwMloXDTI3MDkwNTE0NDEwMlowGzEZMBcGA1UEAxMQbWFpbC5jb250b3NvLmxhYjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALQfyACywzz9w+oF18+J3N4R177FIUdzQldYStcIYdM2fPFzwn9FcgojJmMNKBEk17/EFw2BC8ad0k/OrG7lqrAWulodJHuAL4bvErUm/26TZan0f/BnYiQTXg9XutydabdH1MDnSbTWqKeQiamV4zBfo3CrVJz8ZhomjdGmSXWIZF++JJrB7EJAV9qfKcd4qyRU3fMS3kyzFWlrTo/lzm24oNAx36v9XKVkYJZg1UCDLwfnqAVcevAoKmHuBXkesUCWEj2sbMHw1YA6gxrSwf0aQ+hYPoZJRtoGvjX8LJNpNQq94JgFN+0RRteLXx7U5a3Q6yq4Vq6Ue9q6etXQjIkCAwEAAaOBlzCBlDAOBgNVHQ8BAf8EBAMCBaAwXwYDVR0RBFgwVoIQbWFpbC5jb250b3NvLmxhYoIYYXV0b2Rpc2NvdmVyLmNvbnRvc28ubGFighNlMmsxNi0xLmNvbnRvc28ubGFighNlMmsxNi0yLmNvbnRvc28ubGFiMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggEBAAXEUjkOVY0FQmZIrwhL5OVvoyap02EY/e9YMG7hNm3b52sbpo81WGTfO8z++6z6dTgLbxyT3MjMiS68kTWJqu3g+IWtaKj1JmoNva8uMs6PD1sBeS4YQ5NUH1RRmU85WCv63YoSbGNnBAKuMLTClEakAZ/KZROumvVkU6Tzo+PXzgbXMeD443iEG/zfkbzEdFfNmKs7IrgfjzUaghc4wvqYwGOEYKyUGdvLYnIeZh6opoW3D5fSLLjUJGCUeLiOoFBJFjaTpFP4jIcMBh4yhPZd+peG+OcCDheermSJheDE3DSBW6tLw6oR1pRYM6UHsp3g7ZaPU8lVYLtpmqo14Cw= + + + e2k16-1.contoso.lab + 4e029ce4-dec4-4e71-8696-578e14f119b3 + false + I3NpZyOEDQAAAAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5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ODU2YWQzNjRlMzVdXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBAAAQ01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5JaXNTZXJ2aWNlW10CAAAACAgJCQAAAAEAAAABAAAABwkAAAAAAQAAAAQAAAAEQU1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5JaXNTZXJ2aWNlAgAAAAkKAAAADQMMCwAAAElTeXN0ZW0sIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQoAAABBTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UFAAAAC3NlcnZpY2VOYW1lC2ludGVybmFsVXJsEGludGVybmFsVXJsVmFsaWQLZXh0ZXJuYWxVcmwQZXh0ZXJuYWxVcmxWYWxpZAEEBAQEClN5c3RlbS5VcmkLAAAARE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5VcmxWYWxpZGF0aW9uAgAAAApTeXN0ZW0uVXJpCwAAAERNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudC5TeXN0ZW1Db25maWd1cmF0aW9uVGFza3MuVXJsVmFsaWRhdGlvbgIAAAACAAAABgwAAAAVSUlTOi8vRTJrMTYtMS9XM1NWQy8xCgXz////RE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5VcmxWYWxpZGF0aW9uAQAAAAd2YWx1ZV9fAAgCAAAAAAAAAAoB8v////P///8AAAAACyi5gJAtSM3tmPFVYXW2CKDMYeYvmLIVkv91ZHHOGRMo + + + + + [Subject]_x000D__x000A_ CN=WMSvc-SHA2-E2k16-1_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=WMSvc-SHA2-E2k16-1_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 306B900B4592B6A045E4B124A889E26D_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 07/29/2021 05:24:40_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 07/27/2031 05:24:40_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ FE0FAE9305F294F49DD2426AB214CC17853A7E87_x000D__x000A_ + + MIIC6zCCAdOgAwIBAgIQMGuQC0WStqBF5LEkqInibTANBgkqhkiG9w0BAQsFADAdMRswGQYDVQQDExJXTVN2Yy1TSEEyLUUyazE2LTEwHhcNMjEwNzI5MDUyNDQwWhcNMzEwNzI3MDUyNDQwWjAdMRswGQYDVQQDExJXTVN2Yy1TSEEyLUUyazE2LTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCaVSPBdBAte0hnZkzhSYdeo+3kkfWv+uQyIWdFgkXwjpA0clolCszHvCYbboYmcWNrde69Uk7jJPG0i/v30y76iOR8YDm/9DVuurlQgEqF2XMGCgfokYEMd0DhFhq/Zd4uzh5hQPwT593mSqOxRyFgypzOSOrtCFPfP3e+kTxqnOm7rtaURvoLElzyPX1atq2bV2kKszFYGdzFacjuZdYNHFVHu2X8MuhFplletWxBPkuv0oI+hWsFhhgsGfHCN5EbvjBIc9Hd8F/TNpaH/ZmvIOUeh80vQaR24JtzJuiNshL1M7kIxxfmPzhs3ES/GBaK4oCYA/HdE+n/FCay4gu9AgMBAAGjJzAlMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA4GA1UdDwQHAwUAsAAAADANBgkqhkiG9w0BAQsFAAOCAQEAIDIzyvH4p5BXwHy/uaQpvM2ACCd/iz5fwpSCc5AZV9cG2skBDYM7Xd6Ta3sfkedfLyNs79vSHVjv/5gav9M+MbUwPx2rz3kT/dM4WbF0CIqT3QN+n2WMiMCcvo3p0FhFwyGFqIcE/QsQnANPrxnj948/PHgrpImd2HZMTav7qg3MdW9sBZlQO39IFcy545NHKTQtCq9GmpF60FnziYp28CcSxf8wTC90gwXGPIRP2gfdrelimFeeP+7vffnxx8a30mX0NYCXF7QEFJNPObefpr0633MSJXYi7tgLuv/VpLlf+xfshxytmxTr66fzQTRoLrUj9M649hpghrL9WMJxEg== + + + e2k16-1.contoso.lab + 4e029ce4-dec4-4e71-8696-578e14f119b3 + false + I3NpZyPJCgAAAAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5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 + + + \ No newline at end of file diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/GetInternalTransportCertificateFromServer.xml b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/GetInternalTransportCertificateFromServer.xml new file mode 100644 index 0000000000..30073dca00 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/GetInternalTransportCertificateFromServer.xml @@ -0,0 +1,13 @@ + + + + System.Security.Cryptography.X509Certificates.X509Certificate2 + System.Security.Cryptography.X509Certificates.X509Certificate + System.Object + + [Subject]_x000D__x000A_ CN=E2k16-1_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=E2k16-1_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 69FC45493FF2248140DD9D53B4D92957_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 12/30/2022 2:39:08 PM_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 12/30/2027 2:39:08 PM_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ D003810EBE1624145889D031FBB77ED2BD280FD3_x000D__x000A_ + + MIIDDDCCAfSgAwIBAgIQafxFST/yJIFA3Z1TtNkpVzANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDEwdFMmsxNi0xMB4XDTIyMTIzMDE0MzkwOFoXDTI3MTIzMDE0MzkwOFowEjEQMA4GA1UEAxMHRTJrMTYtMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL329TDnYHScVTPyXPRE+xM92V1tDJVOc/QyB9j/cMrMH905PIfHqecgVSGKhZpS5LCJ666fOZYj4Q/qctIqCK1kemQWJzOyCfD+eTsybFpy8ePaXX6J8ap5iUxj4OBQpEI9tlLxwPxrgXBZC8Alm9ikierdK7os1AysFnJX1TaoIJElyYPfTiY44HL27q33x4+EIo3FHNn2t5A2zc3KQsa8hYQ2LBnO52tBlHOzngd3VLJoKtDajWRinHF1LlBNwAmjJWeVfWcE7q4nngs+5NIUr6rNTx9EUql0ikukr3tHgnHVXDUKNK9f5chSoaycRpMkhOFHNjqcp71SIhe09bUCAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgWgMCcGA1UdEQQgMB6CB0UyazE2LTGCE0UyazE2LTEuQ29udG9zby5sYWIwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAQEAqYpdfs2fN+lHCxB3Ems0vU2AzBic/2CjStSfuPxKXeTjKnikgAhBv/GHNqQ6dphaLLktAfzONQr4NE9iWTn/i46PXDiimEWSllTP3aBMeWcnjezQsGROxq+OWAcWhhc6maXh85VoZwrhG3Nwc6lxqdi0X9c26GLlq+vBzIK3b2wWz+dtdyPui6CadQFXBKuSYdgGsQlmeHpi17mRfTmrVH8RNyOm8Y3TuCij7FDKp8c3PGk9H9giYrYCnSJ2b1KO+LOoGXhDzJ5POas/gy5qe1SPizAwbdWmT21y6JVFbT8kfm5PqBEVggYwCfhMZkjWaOKHHuDzC5E59jxH+j2g4A== + + + \ No newline at end of file diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/GetWebSite.json b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/GetWebSite.json new file mode 100644 index 0000000000..f3dad313fb --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/GetWebSite.json @@ -0,0 +1,4866 @@ +[ + { + "Attributes": [ + { + "IsInheritedFromDefaultValue": false, + "IsProtected": false, + "Name": "name", + "TypeName": "System.String", + "Schema": { + "AllowInfinite": false, + "DefaultValue": null, + "IsCaseSensitive": false, + "IsCombinedKey": false, + "IsEncrypted": false, + "IsExpanded": false, + "IsRequired": true, + "IsUniqueKey": true, + "Name": "name", + "TimeSpanFormat": "string", + "Type": "string", + "ClrType": "string", + "ValidationParameter": "", + "ValidationType": "siteName" + }, + "Value": "Default Web Site", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": false, + "IsProtected": false, + "Name": "id", + "TypeName": "System.Int64", + "Schema": { + "AllowInfinite": false, + "DefaultValue": null, + "IsCaseSensitive": false, + "IsCombinedKey": false, + "IsEncrypted": false, + "IsExpanded": false, + "IsRequired": true, + "IsUniqueKey": true, + "Name": "id", + "TimeSpanFormat": "string", + "Type": "uint", + "ClrType": "uint32", + "ValidationParameter": "", + "ValidationType": "" + }, + "Value": 1, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "serverAutoStart", + "TypeName": "System.Boolean", + "Schema": { + "AllowInfinite": false, + "DefaultValue": true, + "IsCaseSensitive": false, + "IsCombinedKey": false, + "IsEncrypted": false, + "IsExpanded": false, + "IsRequired": false, + "IsUniqueKey": false, + "Name": "serverAutoStart", + "TimeSpanFormat": "string", + "Type": "bool", + "ClrType": "System.Object", + "ValidationParameter": "", + "ValidationType": "" + }, + "Value": true, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": false, + "IsProtected": false, + "Name": "state", + "TypeName": "System.UInt32", + "Schema": { + "AllowInfinite": false, + "DefaultValue": 0, + "IsCaseSensitive": false, + "IsCombinedKey": false, + "IsEncrypted": false, + "IsExpanded": false, + "IsRequired": false, + "IsUniqueKey": false, + "Name": "state", + "TimeSpanFormat": "string", + "Type": "enum", + "ClrType": "System.Object", + "ValidationParameter": "", + "ValidationType": "" + }, + "Value": 1, + "IsExtended": true + } + ], + "ChildElements": [ + [ + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + } + ], + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "limits", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "limits" + } + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "" + ], + "ElementTagName": "logFile", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "logFile" + } + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "traceFailedRequestsLogging", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "traceFailedRequestsLogging" + } + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "applicationDefaults", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": true, + "Name": "applicationDefaults" + } + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": true, + "Name": "virtualDirectoryDefaults" + } + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "ftpServer", + "Methods": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod" + ], + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "ftpServer" + } + } + ], + "ElementTagName": "site", + "Methods": [ + { + "Name": "Start", + "Schema": { + "InputSchema": null, + "Name": "Start", + "OutputSchema": null + } + }, + { + "Name": "Stop", + "Schema": { + "InputSchema": null, + "Name": "Stop", + "OutputSchema": null + } + } + ], + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": [ + { + "AllowInfinite": false, + "DefaultValue": null, + "IsCaseSensitive": false, + "IsCombinedKey": false, + "IsEncrypted": false, + "IsExpanded": false, + "IsRequired": true, + "IsUniqueKey": true, + "Name": "name", + "TimeSpanFormat": "string", + "Type": "string", + "ClrType": "string", + "ValidationParameter": "", + "ValidationType": "siteName" + }, + { + "AllowInfinite": false, + "DefaultValue": null, + "IsCaseSensitive": false, + "IsCombinedKey": false, + "IsEncrypted": false, + "IsExpanded": false, + "IsRequired": true, + "IsUniqueKey": true, + "Name": "id", + "TimeSpanFormat": "string", + "Type": "uint", + "ClrType": "uint32", + "ValidationParameter": "", + "ValidationType": "" + }, + { + "AllowInfinite": false, + "DefaultValue": true, + "IsCaseSensitive": false, + "IsCombinedKey": false, + "IsEncrypted": false, + "IsExpanded": false, + "IsRequired": false, + "IsUniqueKey": false, + "Name": "serverAutoStart", + "TimeSpanFormat": "string", + "Type": "bool", + "ClrType": "System.Object", + "ValidationParameter": "", + "ValidationType": "" + }, + { + "AllowInfinite": false, + "DefaultValue": 0, + "IsCaseSensitive": false, + "IsCombinedKey": false, + "IsEncrypted": false, + "IsExpanded": false, + "IsRequired": false, + "IsUniqueKey": false, + "Name": "state", + "TimeSpanFormat": "string", + "Type": "enum", + "ClrType": "System.Object", + "ValidationParameter": "", + "ValidationType": "" + } + ], + "ChildElementSchemas": [ + { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "", + "ChildElementSchemas": null, + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "bindings" + }, + { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "limits" + }, + { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "logFile" + }, + { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "traceFailedRequestsLogging" + }, + { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": true, + "Name": "applicationDefaults" + }, + { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": true, + "Name": "virtualDirectoryDefaults" + }, + { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "ftpServer" + } + ], + "CollectionSchema": { + "AddElementNames": "application", + "AllowDuplicates": false, + "ClearElementName": null, + "IsMergeAppend": true, + "RemoveElementName": null + }, + "IsCollectionDefault": false, + "Name": "site" + }, + "name": "Default Web Site", + "id": 1, + "serverAutoStart": true, + "state": "Started", + "bindings": { + "Attributes": [ + + ], + "ChildElements": [ + + ], + "ElementTagName": "bindings", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": [ + + ], + "ChildElementSchemas": null, + "CollectionSchema": { + "AddElementNames": "binding", + "AllowDuplicates": false, + "ClearElementName": "clear", + "IsMergeAppend": true, + "RemoveElementName": null + }, + "IsCollectionDefault": false, + "Name": "bindings" + }, + "Collection": [ + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "protocol": "http", + "bindingInformation": "*:80:", + "sslFlags": 0, + "isDsMapperEnabled": false, + "certificateHash": "", + "certificateStoreName": "" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "protocol": "net.tcp", + "bindingInformation": "808:*", + "sslFlags": 0, + "isDsMapperEnabled": null, + "certificateHash": null, + "certificateStoreName": null + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "protocol": "net.msmq", + "bindingInformation": "localhost", + "sslFlags": 0, + "isDsMapperEnabled": null, + "certificateHash": null, + "certificateStoreName": null + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "protocol": "msmq.formatname", + "bindingInformation": "localhost", + "sslFlags": 0, + "isDsMapperEnabled": null, + "certificateHash": null, + "certificateStoreName": null + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "protocol": "net.pipe", + "bindingInformation": "*", + "sslFlags": 0, + "isDsMapperEnabled": null, + "certificateHash": null, + "certificateStoreName": null + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "protocol": "http", + "bindingInformation": "127.0.0.1:80:", + "sslFlags": 0, + "isDsMapperEnabled": false, + "certificateHash": "", + "certificateStoreName": "" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "protocol": "https", + "bindingInformation": "127.0.0.1:443:", + "sslFlags": 0, + "isDsMapperEnabled": false, + "certificateHash": "2759456DC53C76E3DED093B567B6D8DAA42C0ADD", + "certificateStoreName": "My" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "protocol": "https", + "bindingInformation": "*:443:", + "sslFlags": 0, + "isDsMapperEnabled": false, + "certificateHash": "2759456DC53C76E3DED093B567B6D8DAA42C0ADD", + "certificateStoreName": "My" + } + ] + }, + "limits": { + "Attributes": [ + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "maxBandwidth", + "TypeName": "System.Int64", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 4294967295, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "maxConnections", + "TypeName": "System.Int64", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 4294967295, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "connectionTimeout", + "TypeName": "System.TimeSpan", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "00:02:00", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "maxUrlSegments", + "TypeName": "System.Int64", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 32, + "IsExtended": false + } + ], + "ChildElements": [ + + ], + "ElementTagName": "limits", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema" + ], + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "limits" + }, + "maxBandwidth": 4294967295, + "maxConnections": 4294967295, + "connectionTimeout": { + "Ticks": 1200000000, + "Days": 0, + "Hours": 0, + "Milliseconds": 0, + "Minutes": 2, + "Seconds": 0, + "TotalDays": 0.0013888888888888887, + "TotalHours": 0.033333333333333333, + "TotalMilliseconds": 120000, + "TotalMinutes": 2, + "TotalSeconds": 120 + }, + "maxUrlSegments": 32 + }, + "logFile": { + "Attributes": [ + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "logExtFileFlags", + "TypeName": "System.UInt32", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 2478031, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "customLogPluginClsid", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": false, + "IsProtected": false, + "Name": "logFormat", + "TypeName": "System.UInt32", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 2, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "logTargetW3C", + "TypeName": "System.UInt32", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 1, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": false, + "IsProtected": false, + "Name": "directory", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "%SystemDrive%\\inetpub\\logs\\LogFiles", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "period", + "TypeName": "System.UInt32", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 1, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "truncateSize", + "TypeName": "System.Int64", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 20971520, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "localTimeRollover", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": false, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "enabled", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": true, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "logSiteId", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": true, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "flushByEntryCountW3CLog", + "TypeName": "System.Int64", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 0, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "maxLogLineLength", + "TypeName": "System.Int64", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 65536, + "IsExtended": false + } + ], + "ChildElements": [ + [ + + ] + ], + "ElementTagName": "logFile", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema" + ], + "ChildElementSchemas": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + ], + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "logFile" + }, + "logExtFileFlags": "Date,Time,ClientIP,UserName,ServerIP,Method,UriStem,UriQuery,HttpStatus,Win32Status,TimeTaken,ServerPort,UserAgent,Referer,HttpSubStatus", + "customLogPluginClsid": "", + "logFormat": "W3C", + "logTargetW3C": "File", + "directory": "%SystemDrive%\\inetpub\\logs\\LogFiles", + "period": "Daily", + "truncateSize": 20971520, + "localTimeRollover": false, + "enabled": true, + "logSiteId": true, + "flushByEntryCountW3CLog": 0, + "maxLogLineLength": 65536, + "customFields": { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "customFields", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "customFields" + }, + "maxCustomFieldLength": 4096, + "Collection": [ + + ] + } + }, + "traceFailedRequestsLogging": { + "Attributes": [ + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "enabled", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": false, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": false, + "IsProtected": false, + "Name": "directory", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "%SystemDrive%\\inetpub\\logs\\FailedReqLogFiles", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "maxLogFiles", + "TypeName": "System.Int64", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 50, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "maxLogFileSizeKB", + "TypeName": "System.Int64", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 1024, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "customActionsEnabled", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": false, + "IsExtended": false + } + ], + "ChildElements": [ + + ], + "ElementTagName": "traceFailedRequestsLogging", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema" + ], + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "traceFailedRequestsLogging" + }, + "enabled": false, + "directory": "%SystemDrive%\\inetpub\\logs\\FailedReqLogFiles", + "maxLogFiles": 50, + "maxLogFileSizeKB": 1024, + "customActionsEnabled": false + }, + "applicationDefaults": { + "Attributes": [ + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "path", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "applicationPool", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "enabledProtocols", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "http", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "serviceAutoStartEnabled", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": false, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "serviceAutoStartProvider", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "preloadEnabled", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": false, + "IsExtended": false + } + ], + "ChildElements": [ + + ], + "ElementTagName": "applicationDefaults", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema" + ], + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": true, + "Name": "applicationDefaults" + }, + "path": "", + "applicationPool": "", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false + }, + "virtualDirectoryDefaults": { + "Attributes": [ + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "path", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "physicalPath", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "userName", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "password", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "logonMethod", + "TypeName": "System.UInt32", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 3, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "allowSubDirConfig", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": true, + "IsExtended": false + } + ], + "ChildElements": [ + + ], + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema" + ], + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": true, + "Name": "virtualDirectoryDefaults" + }, + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "ftpServer": { + "Attributes": [ + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "state", + "TypeName": "System.UInt32", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": null, + "IsExtended": true + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "lastStartupStatus", + "TypeName": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": null, + "IsExtended": true + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "allowUTF8", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": true, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "serverAutoStart", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": true, + "IsExtended": false + } + ], + "ChildElements": [ + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "connections", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "", + "ChildElements": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement Microsoft.IIs.PowerShell.Framework.ConfigurationElementCollection Microsoft.IIs.PowerShell.Framework.ConfigurationElement Microsoft.IIs.PowerShell.Framework.ConfigurationElement Microsoft.IIs.PowerShell.Framework.ConfigurationElement Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "ElementTagName": "security", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "", + "ChildElements": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementCollection", + "ElementTagName": "customFeatures", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "messages", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "fileHandling", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "firewallSupport", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "ElementTagName": "userIsolation", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "directoryBrowse", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "logFile", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + } + ], + "ElementTagName": "ftpServer", + "Methods": [ + { + "Name": "Start", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethodSchema" + }, + { + "Name": "Stop", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethodSchema" + }, + { + "Name": "FlushLog", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethodSchema" + } + ], + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema" + ], + "ChildElementSchemas": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + ], + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "ftpServer" + }, + "state": null, + "lastStartupStatus": null, + "allowUTF8": true, + "serverAutoStart": true, + "sessions": { + "Attributes": [ + + ], + "ChildElements": [ + + ], + "ElementTagName": "sessions", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "", + "ChildElementSchemas": null, + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "sessions" + }, + "Collection": [ + + ] + }, + "connections": { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "connections", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "connections" + }, + "unauthenticatedTimeout": 30, + "controlChannelTimeout": 120, + "dataChannelTimeout": 30, + "disableSocketPooling": false, + "serverListenBacklog": 60, + "minBytesPerSecond": 240, + "maxConnections": 4294967295, + "resetOnMaxConnections": false, + "maxBandwidth": 4294967295 + }, + "security": { + "Attributes": [ + + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "security", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "security" + }, + "dataChannelSecurity": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "dataChannelSecurity", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "matchClientAddressForPort": true, + "matchClientAddressForPasv": true + }, + "commandFiltering": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "commandFiltering", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "maxCommandLine": 4096, + "allowUnlisted": true, + "Collection": "" + }, + "ssl": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "ssl", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "serverCertHash": "", + "serverCertStoreName": "MY", + "ssl128": false, + "controlChannelPolicy": "SslRequire", + "dataChannelPolicy": "SslRequire" + }, + "sslClientCertificates": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "sslClientCertificates", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "clientCertificatePolicy": "CertIgnore", + "useActiveDirectoryMapping": false, + "validationFlags": "", + "revocationFreshnessTime": "00:00:00", + "revocationUrlRetrievalTimeout": "00:01:00" + }, + "authentication": { + "Attributes": "", + "ChildElements": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement Microsoft.IIs.PowerShell.Framework.ConfigurationElement Microsoft.IIs.PowerShell.Framework.ConfigurationElement Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "ElementTagName": "authentication", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "anonymousAuthentication": { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "enabled": false, + "userName": "IUSR", + "password": "", + "defaultLogonDomain": "NT AUTHORITY", + "logonMethod": "ClearText" + }, + "basicAuthentication": { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "enabled": false, + "defaultLogonDomain": "", + "logonMethod": "ClearText" + }, + "clientCertAuthentication": { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "enabled": false + }, + "customAuthentication": { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "providers": { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Collection": "" + } + } + }, + "customAuthorization": { + "Attributes": "", + "ChildElements": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "ElementTagName": "customAuthorization", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "provider": { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "name": "", + "enabled": true + } + } + }, + "customFeatures": { + "Attributes": [ + + ], + "ChildElements": [ + "" + ], + "ElementTagName": "customFeatures", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "customFeatures" + }, + "providers": { + "Attributes": "", + "ChildElements": "", + "ElementTagName": "providers", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Collection": "" + } + }, + "messages": { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "messages", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "messages" + }, + "exitMessage": "", + "greetingMessage": "", + "bannerMessage": "", + "maxClientsMessage": "", + "suppressDefaultBanner": false, + "allowLocalDetailedErrors": true, + "expandVariables": false + }, + "fileHandling": { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "fileHandling", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "fileHandling" + }, + "keepPartialUploads": false, + "allowReplaceOnRename": false, + "allowReadUploadsInProgress": false + }, + "firewallSupport": { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "firewallSupport", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "firewallSupport" + }, + "externalIp4Address": "" + }, + "userIsolation": { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "userIsolation", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "userIsolation" + }, + "mode": "None", + "activeDirectory": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "activeDirectory", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "adUserName": "", + "adPassword": "", + "adCacheRefresh": "00:01:00" + } + }, + "directoryBrowse": { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "directoryBrowse", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "directoryBrowse" + }, + "showFlags": "", + "virtualDirectoryTimeout": 5 + }, + "logFile": { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "logFile", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "logFile" + }, + "logExtFileFlags": "Date,Time,ClientIP,UserName,ServerIP,Method,UriStem,FtpStatus,Win32Status,ServerPort,FtpSubStatus,Session,FullPath", + "directory": "C:\\inetpub\\logs\\LogFiles", + "period": "Daily", + "truncateSize": 20971520, + "localTimeRollover": false, + "enabled": true, + "selectiveLogging": "LogSuccessful,LogError,LogInfrastructure" + } + }, + "Collection": [ + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/", + "applicationPool": "MSExchangeOWAAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "%SystemDrive%\\inetpub\\wwwroot", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/owa", + "applicationPool": "MSExchangeOWAAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\FrontEnd\\HttpProxy\\owa", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/owa/Calendar", + "applicationPool": "MSExchangeOWACalendarAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\FrontEnd\\HttpProxy\\owa", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/owa/Integrated", + "applicationPool": "MSExchangeOWAAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\FrontEnd\\HttpProxy\\owa", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/owa/oma", + "applicationPool": "MSExchangeOWAAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\FrontEnd\\HttpProxy\\owa", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/ecp", + "applicationPool": "MSExchangeECPAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\FrontEnd\\HttpProxy\\ecp", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/EWS", + "applicationPool": "MSExchangeServicesAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\FrontEnd\\HttpProxy\\EWS", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/API", + "applicationPool": "MSExchangeRestFrontEndAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\FrontEnd\\HttpProxy\\Rest", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/Autodiscover", + "applicationPool": "MSExchangeAutodiscoverAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\FrontEnd\\HttpProxy\\Autodiscover", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/Microsoft-Server-ActiveSync", + "applicationPool": "MSExchangeSyncAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\FrontEnd\\HttpProxy\\sync", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/OAB", + "applicationPool": "MSExchangeOABAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\FrontEnd\\HttpProxy\\OAB", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/PowerShell", + "applicationPool": "MSExchangePowerShellFrontEndAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\FrontEnd\\HttpProxy\\PowerShell", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/mapi", + "applicationPool": "MSExchangeMapiFrontEndAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\FrontEnd\\HttpProxy\\mapi", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/Rpc", + "applicationPool": "MSExchangeRpcProxyFrontEndAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\FrontEnd\\HttpProxy\\rpc", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + } + ], + "applicationPool": "MSExchangeOWAAppPool", + "enabledProtocols": "http", + "physicalPath": "%SystemDrive%\\inetpub\\wwwroot", + "userName": "", + "password": "" + }, + { + "Attributes": [ + { + "IsInheritedFromDefaultValue": false, + "IsProtected": false, + "Name": "name", + "TypeName": "System.String", + "Schema": { + "AllowInfinite": false, + "DefaultValue": null, + "IsCaseSensitive": false, + "IsCombinedKey": false, + "IsEncrypted": false, + "IsExpanded": false, + "IsRequired": true, + "IsUniqueKey": true, + "Name": "name", + "TimeSpanFormat": "string", + "Type": "string", + "ClrType": "string", + "ValidationParameter": "", + "ValidationType": "siteName" + }, + "Value": "Exchange Back End", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": false, + "IsProtected": false, + "Name": "id", + "TypeName": "System.Int64", + "Schema": { + "AllowInfinite": false, + "DefaultValue": null, + "IsCaseSensitive": false, + "IsCombinedKey": false, + "IsEncrypted": false, + "IsExpanded": false, + "IsRequired": true, + "IsUniqueKey": true, + "Name": "id", + "TimeSpanFormat": "string", + "Type": "uint", + "ClrType": "uint32", + "ValidationParameter": "", + "ValidationType": "" + }, + "Value": 2, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": false, + "IsProtected": false, + "Name": "serverAutoStart", + "TypeName": "System.Boolean", + "Schema": { + "AllowInfinite": false, + "DefaultValue": true, + "IsCaseSensitive": false, + "IsCombinedKey": false, + "IsEncrypted": false, + "IsExpanded": false, + "IsRequired": false, + "IsUniqueKey": false, + "Name": "serverAutoStart", + "TimeSpanFormat": "string", + "Type": "bool", + "ClrType": "System.Object", + "ValidationParameter": "", + "ValidationType": "" + }, + "Value": true, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": false, + "IsProtected": false, + "Name": "state", + "TypeName": "System.UInt32", + "Schema": { + "AllowInfinite": false, + "DefaultValue": 0, + "IsCaseSensitive": false, + "IsCombinedKey": false, + "IsEncrypted": false, + "IsExpanded": false, + "IsRequired": false, + "IsUniqueKey": false, + "Name": "state", + "TimeSpanFormat": "string", + "Type": "enum", + "ClrType": "System.Object", + "ValidationParameter": "", + "ValidationType": "" + }, + "Value": 1, + "IsExtended": true + } + ], + "ChildElements": [ + [ + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + } + ], + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "limits", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "limits" + } + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "" + ], + "ElementTagName": "logFile", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "logFile" + } + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "traceFailedRequestsLogging", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "traceFailedRequestsLogging" + } + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "applicationDefaults", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": true, + "Name": "applicationDefaults" + } + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": true, + "Name": "virtualDirectoryDefaults" + } + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "ftpServer", + "Methods": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod" + ], + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "ftpServer" + } + } + ], + "ElementTagName": "site", + "Methods": [ + { + "Name": "Start", + "Schema": { + "InputSchema": null, + "Name": "Start", + "OutputSchema": null + } + }, + { + "Name": "Stop", + "Schema": { + "InputSchema": null, + "Name": "Stop", + "OutputSchema": null + } + } + ], + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": [ + { + "AllowInfinite": false, + "DefaultValue": null, + "IsCaseSensitive": false, + "IsCombinedKey": false, + "IsEncrypted": false, + "IsExpanded": false, + "IsRequired": true, + "IsUniqueKey": true, + "Name": "name", + "TimeSpanFormat": "string", + "Type": "string", + "ClrType": "string", + "ValidationParameter": "", + "ValidationType": "siteName" + }, + { + "AllowInfinite": false, + "DefaultValue": null, + "IsCaseSensitive": false, + "IsCombinedKey": false, + "IsEncrypted": false, + "IsExpanded": false, + "IsRequired": true, + "IsUniqueKey": true, + "Name": "id", + "TimeSpanFormat": "string", + "Type": "uint", + "ClrType": "uint32", + "ValidationParameter": "", + "ValidationType": "" + }, + { + "AllowInfinite": false, + "DefaultValue": true, + "IsCaseSensitive": false, + "IsCombinedKey": false, + "IsEncrypted": false, + "IsExpanded": false, + "IsRequired": false, + "IsUniqueKey": false, + "Name": "serverAutoStart", + "TimeSpanFormat": "string", + "Type": "bool", + "ClrType": "System.Object", + "ValidationParameter": "", + "ValidationType": "" + }, + { + "AllowInfinite": false, + "DefaultValue": 0, + "IsCaseSensitive": false, + "IsCombinedKey": false, + "IsEncrypted": false, + "IsExpanded": false, + "IsRequired": false, + "IsUniqueKey": false, + "Name": "state", + "TimeSpanFormat": "string", + "Type": "enum", + "ClrType": "System.Object", + "ValidationParameter": "", + "ValidationType": "" + } + ], + "ChildElementSchemas": [ + { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "", + "ChildElementSchemas": null, + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "bindings" + }, + { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "limits" + }, + { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "logFile" + }, + { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "traceFailedRequestsLogging" + }, + { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": true, + "Name": "applicationDefaults" + }, + { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": true, + "Name": "virtualDirectoryDefaults" + }, + { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "ftpServer" + } + ], + "CollectionSchema": { + "AddElementNames": "application", + "AllowDuplicates": false, + "ClearElementName": null, + "IsMergeAppend": true, + "RemoveElementName": null + }, + "IsCollectionDefault": false, + "Name": "site" + }, + "name": "Exchange Back End", + "id": 2, + "serverAutoStart": true, + "state": "Started", + "bindings": { + "Attributes": [ + + ], + "ChildElements": [ + + ], + "ElementTagName": "bindings", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": [ + + ], + "ChildElementSchemas": null, + "CollectionSchema": { + "AddElementNames": "binding", + "AllowDuplicates": false, + "ClearElementName": "clear", + "IsMergeAppend": true, + "RemoveElementName": null + }, + "IsCollectionDefault": false, + "Name": "bindings" + }, + "Collection": [ + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "protocol": "http", + "bindingInformation": "*:81:", + "sslFlags": 0, + "isDsMapperEnabled": false, + "certificateHash": "", + "certificateStoreName": "" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "protocol": "net.pipe", + "bindingInformation": "*", + "sslFlags": 0, + "isDsMapperEnabled": null, + "certificateHash": null, + "certificateStoreName": null + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "binding", + "Methods": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod Microsoft.IIs.PowerShell.Framework.ConfigurationMethod", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "protocol": "https", + "bindingInformation": "*:444:", + "sslFlags": 0, + "isDsMapperEnabled": false, + "certificateHash": "D003810EBE1624145889D031FBB77ED2BD280FD3", + "certificateStoreName": "My" + } + ] + }, + "limits": { + "Attributes": [ + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "maxBandwidth", + "TypeName": "System.Int64", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 4294967295, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "maxConnections", + "TypeName": "System.Int64", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 4294967295, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "connectionTimeout", + "TypeName": "System.TimeSpan", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "00:02:00", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "maxUrlSegments", + "TypeName": "System.Int64", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 32, + "IsExtended": false + } + ], + "ChildElements": [ + + ], + "ElementTagName": "limits", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema" + ], + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "limits" + }, + "maxBandwidth": 4294967295, + "maxConnections": 4294967295, + "connectionTimeout": { + "Ticks": 1200000000, + "Days": 0, + "Hours": 0, + "Milliseconds": 0, + "Minutes": 2, + "Seconds": 0, + "TotalDays": 0.0013888888888888887, + "TotalHours": 0.033333333333333333, + "TotalMilliseconds": 120000, + "TotalMinutes": 2, + "TotalSeconds": 120 + }, + "maxUrlSegments": 32 + }, + "logFile": { + "Attributes": [ + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "logExtFileFlags", + "TypeName": "System.UInt32", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 2478031, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "customLogPluginClsid", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": false, + "IsProtected": false, + "Name": "logFormat", + "TypeName": "System.UInt32", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 2, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "logTargetW3C", + "TypeName": "System.UInt32", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 1, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": false, + "IsProtected": false, + "Name": "directory", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "%SystemDrive%\\inetpub\\logs\\LogFiles", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "period", + "TypeName": "System.UInt32", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 1, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "truncateSize", + "TypeName": "System.Int64", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 20971520, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "localTimeRollover", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": false, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "enabled", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": true, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "logSiteId", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": true, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "flushByEntryCountW3CLog", + "TypeName": "System.Int64", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 0, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "maxLogLineLength", + "TypeName": "System.Int64", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 65536, + "IsExtended": false + } + ], + "ChildElements": [ + [ + + ] + ], + "ElementTagName": "logFile", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema" + ], + "ChildElementSchemas": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + ], + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "logFile" + }, + "logExtFileFlags": "Date,Time,ClientIP,UserName,ServerIP,Method,UriStem,UriQuery,HttpStatus,Win32Status,TimeTaken,ServerPort,UserAgent,Referer,HttpSubStatus", + "customLogPluginClsid": "", + "logFormat": "W3C", + "logTargetW3C": "File", + "directory": "%SystemDrive%\\inetpub\\logs\\LogFiles", + "period": "Daily", + "truncateSize": 20971520, + "localTimeRollover": false, + "enabled": true, + "logSiteId": true, + "flushByEntryCountW3CLog": 0, + "maxLogLineLength": 65536, + "customFields": { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "customFields", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "customFields" + }, + "maxCustomFieldLength": 4096, + "Collection": [ + + ] + } + }, + "traceFailedRequestsLogging": { + "Attributes": [ + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "enabled", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": false, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": false, + "IsProtected": false, + "Name": "directory", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "%SystemDrive%\\inetpub\\logs\\FailedReqLogFiles", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "maxLogFiles", + "TypeName": "System.Int64", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 50, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "maxLogFileSizeKB", + "TypeName": "System.Int64", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 1024, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "customActionsEnabled", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": false, + "IsExtended": false + } + ], + "ChildElements": [ + + ], + "ElementTagName": "traceFailedRequestsLogging", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema" + ], + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "traceFailedRequestsLogging" + }, + "enabled": false, + "directory": "%SystemDrive%\\inetpub\\logs\\FailedReqLogFiles", + "maxLogFiles": 50, + "maxLogFileSizeKB": 1024, + "customActionsEnabled": false + }, + "applicationDefaults": { + "Attributes": [ + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "path", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "applicationPool", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "enabledProtocols", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "http", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "serviceAutoStartEnabled", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": false, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "serviceAutoStartProvider", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "preloadEnabled", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": false, + "IsExtended": false + } + ], + "ChildElements": [ + + ], + "ElementTagName": "applicationDefaults", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema" + ], + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": true, + "Name": "applicationDefaults" + }, + "path": "", + "applicationPool": "", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false + }, + "virtualDirectoryDefaults": { + "Attributes": [ + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "path", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "physicalPath", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "userName", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "password", + "TypeName": "System.String", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": "", + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "logonMethod", + "TypeName": "System.UInt32", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": 3, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "allowSubDirConfig", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": true, + "IsExtended": false + } + ], + "ChildElements": [ + + ], + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema" + ], + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": true, + "Name": "virtualDirectoryDefaults" + }, + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "ftpServer": { + "Attributes": [ + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "state", + "TypeName": "System.UInt32", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": null, + "IsExtended": true + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "lastStartupStatus", + "TypeName": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": null, + "IsExtended": true + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "allowUTF8", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": true, + "IsExtended": false + }, + { + "IsInheritedFromDefaultValue": true, + "IsProtected": false, + "Name": "serverAutoStart", + "TypeName": "System.Boolean", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Value": true, + "IsExtended": false + } + ], + "ChildElements": [ + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "connections", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "", + "ChildElements": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement Microsoft.IIs.PowerShell.Framework.ConfigurationElementCollection Microsoft.IIs.PowerShell.Framework.ConfigurationElement Microsoft.IIs.PowerShell.Framework.ConfigurationElement Microsoft.IIs.PowerShell.Framework.ConfigurationElement Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "ElementTagName": "security", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "", + "ChildElements": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementCollection", + "ElementTagName": "customFeatures", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "messages", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "fileHandling", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "firewallSupport", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "ElementTagName": "userIsolation", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "directoryBrowse", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + }, + { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "logFile", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + } + ], + "ElementTagName": "ftpServer", + "Methods": [ + { + "Name": "Start", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethodSchema" + }, + { + "Name": "Stop", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethodSchema" + }, + { + "Name": "FlushLog", + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationMethodSchema" + } + ], + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema" + ], + "ChildElementSchemas": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema" + ], + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "ftpServer" + }, + "state": null, + "lastStartupStatus": null, + "allowUTF8": true, + "serverAutoStart": true, + "sessions": { + "Attributes": [ + + ], + "ChildElements": [ + + ], + "ElementTagName": "sessions", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "", + "ChildElementSchemas": null, + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "sessions" + }, + "Collection": [ + + ] + }, + "connections": { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "connections", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "connections" + }, + "unauthenticatedTimeout": 30, + "controlChannelTimeout": 120, + "dataChannelTimeout": 30, + "disableSocketPooling": false, + "serverListenBacklog": 60, + "minBytesPerSecond": 240, + "maxConnections": 4294967295, + "resetOnMaxConnections": false, + "maxBandwidth": 4294967295 + }, + "security": { + "Attributes": [ + + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "security", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "security" + }, + "dataChannelSecurity": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "dataChannelSecurity", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "matchClientAddressForPort": true, + "matchClientAddressForPasv": true + }, + "commandFiltering": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "commandFiltering", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "maxCommandLine": 4096, + "allowUnlisted": true, + "Collection": "" + }, + "ssl": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "ssl", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "serverCertHash": "", + "serverCertStoreName": "MY", + "ssl128": false, + "controlChannelPolicy": "SslRequire", + "dataChannelPolicy": "SslRequire" + }, + "sslClientCertificates": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "sslClientCertificates", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "clientCertificatePolicy": "CertIgnore", + "useActiveDirectoryMapping": false, + "validationFlags": "", + "revocationFreshnessTime": "00:00:00", + "revocationUrlRetrievalTimeout": "00:01:00" + }, + "authentication": { + "Attributes": "", + "ChildElements": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement Microsoft.IIs.PowerShell.Framework.ConfigurationElement Microsoft.IIs.PowerShell.Framework.ConfigurationElement Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "ElementTagName": "authentication", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "anonymousAuthentication": { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "enabled": false, + "userName": "IUSR", + "password": "", + "defaultLogonDomain": "NT AUTHORITY", + "logonMethod": "ClearText" + }, + "basicAuthentication": { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "enabled": false, + "defaultLogonDomain": "", + "logonMethod": "ClearText" + }, + "clientCertAuthentication": { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "enabled": false + }, + "customAuthentication": { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "providers": { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "Collection": "" + } + } + }, + "customAuthorization": { + "Attributes": "", + "ChildElements": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "ElementTagName": "customAuthorization", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "provider": { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "name": "", + "enabled": true + } + } + }, + "customFeatures": { + "Attributes": [ + + ], + "ChildElements": [ + "" + ], + "ElementTagName": "customFeatures", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "customFeatures" + }, + "providers": { + "Attributes": "", + "ChildElements": "", + "ElementTagName": "providers", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "Collection": "" + } + }, + "messages": { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "messages", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "messages" + }, + "exitMessage": "", + "greetingMessage": "", + "bannerMessage": "", + "maxClientsMessage": "", + "suppressDefaultBanner": false, + "allowLocalDetailedErrors": true, + "expandVariables": false + }, + "fileHandling": { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "fileHandling", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "fileHandling" + }, + "keepPartialUploads": false, + "allowReplaceOnRename": false, + "allowReadUploadsInProgress": false + }, + "firewallSupport": { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "firewallSupport", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "firewallSupport" + }, + "externalIp4Address": "" + }, + "userIsolation": { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "userIsolation", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "userIsolation" + }, + "mode": "None", + "activeDirectory": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "activeDirectory", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "adUserName": "", + "adPassword": "", + "adCacheRefresh": "00:01:00" + } + }, + "directoryBrowse": { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "directoryBrowse", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "directoryBrowse" + }, + "showFlags": "", + "virtualDirectoryTimeout": 5 + }, + "logFile": { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + + ], + "ElementTagName": "logFile", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": null, + "CollectionSchema": null, + "IsCollectionDefault": false, + "Name": "logFile" + }, + "logExtFileFlags": "Date,Time,ClientIP,UserName,ServerIP,Method,UriStem,FtpStatus,Win32Status,ServerPort,FtpSubStatus,Session,FullPath", + "directory": "C:\\inetpub\\logs\\LogFiles", + "period": "Daily", + "truncateSize": 20971520, + "localTimeRollover": false, + "enabled": true, + "selectiveLogging": "LogSuccessful,LogError,LogInfrastructure" + } + }, + "Collection": [ + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/", + "applicationPool": "DefaultAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/mapi", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\mapi", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/Exchange", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\owa", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/Exchweb", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\owa", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/Public", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\owa", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/PowerShell", + "applicationPool": "MSExchangePowerShellAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\PowerShell-Proxy", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/mapi/emsmdb", + "applicationPool": "MSExchangeMapiMailboxAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\mapi\\emsmdb", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/mapi/nspi", + "applicationPool": "MSExchangeMapiAddressBookAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\mapi\\nspi", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/API", + "applicationPool": "MSExchangeRestAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\rest", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/owa", + "applicationPool": "MSExchangeOWAAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\owa", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/owa/Calendar", + "applicationPool": "MSExchangeOWACalendarAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\owa", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/OAB", + "applicationPool": "MSExchangeOABAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\OAB", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/ecp", + "applicationPool": "MSExchangeECPAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\ecp", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/Autodiscover", + "applicationPool": "MSExchangeAutodiscoverAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\Autodiscover", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/Microsoft-Server-ActiveSync", + "applicationPool": "MSExchangeSyncAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\sync", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/EWS", + "applicationPool": "MSExchangeServicesAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\exchweb\\EWS", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/EWS/bin", + "applicationPool": "MSExchangeServicesAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\exchweb\\EWS\\bin", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/Rpc", + "applicationPool": "MSExchangeRpcProxyAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "%windir%\\System32\\RpcProxy", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/RpcWithCert", + "applicationPool": "MSExchangeRpcProxyAppPool", + "enabledProtocols": "http", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "%windir%\\System32\\RpcProxy", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + }, + { + "Attributes": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute" + ], + "ChildElements": [ + "Microsoft.IIs.PowerShell.Framework.ConfigurationElement" + ], + "ElementTagName": "application", + "Methods": null, + "Schema": { + "AllowUnrecognizedAttributes": false, + "AttributeSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema Microsoft.IIs.PowerShell.Framework.ConfigurationAttributeSchema", + "ChildElementSchemas": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "CollectionSchema": "Microsoft.IIs.PowerShell.Framework.ConfigurationCollectionSchema", + "IsCollectionDefault": false, + "Name": "application" + }, + "path": "/PushNotifications", + "applicationPool": "MSExchangePushNotificationsAppPool", + "enabledProtocols": "http,net.pipe", + "serviceAutoStartEnabled": false, + "serviceAutoStartProvider": "", + "preloadEnabled": false, + "previouslyEnabledProtocols": "", + "serviceAutoStartMode": "All", + "virtualDirectoryDefaults": { + "Attributes": "Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute", + "ChildElements": "", + "ElementTagName": "virtualDirectoryDefaults", + "Methods": null, + "Schema": "Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema", + "path": "", + "physicalPath": "", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + }, + "Collection": [ + { + "value": "Microsoft.IIs.PowerShell.Framework.ConfigurationElement", + "path": "/", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess\\PushNotifications", + "userName": "", + "password": "", + "logonMethod": "ClearText", + "allowSubDirConfig": true + } + ], + "PhysicalPath": null + } + ], + "applicationPool": "DefaultAppPool", + "enabledProtocols": "http", + "physicalPath": "F:\\Program Files\\Microsoft\\Exchange\\ClientAccess", + "userName": "", + "password": "" + } +] diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/InvalidExchangeDefaultTransportCertificate.xml b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/InvalidExchangeDefaultTransportCertificate.xml new file mode 100644 index 0000000000..b4207a4227 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/InvalidExchangeDefaultTransportCertificate.xml @@ -0,0 +1,20 @@ + + + + Microsoft.Exchange.Management.SystemConfigurationTasks.ExchangeCertificate + System.Security.Cryptography.X509Certificates.X509Certificate2 + System.Security.Cryptography.X509Certificates.X509Certificate + System.Object + + [Subject]_x000D__x000A_ CN=E2k16-1_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=E2k16-1_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 18B82B133C38BBAA43055CD0BBB71A38_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 01/05/2023 15:13:46_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 01/05/2028 15:13:46_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ 0CEB5AC90A9E4BB9E4F8F1F0D7FC8F4EEA4F2CA2_x000D__x000A_ + + MIIDDDCCAfSgAwIBAgIQGLgrEzw4u6pDBVzQu7caODANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDEwdFMmsxNi0xMB4XDTIzMDEwNTE1MTM0NloXDTI4MDEwNTE1MTM0NlowEjEQMA4GA1UEAxMHRTJrMTYtMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxRcEMt909QD0w+XNCNejyOZPV2gxOHc0WbhK9C4QlaWNkdUC9FRq0YTImP+uuUu0RqLthrU1jpN+ULQM+WEteEwaRvk8e7Z3Ucy4nREsSf2vrCmk0hGkaxsurj4Kq8fCeAfEcXy9F+GlgjKq2pmgc4siRW0oKx8Z4Kj0Qszp0MeaGnUyIqYyHI/dJcf+mQBoM6Fz4U5uGhIdLknsm5y+O5qQll/43Sj8zQevrNo1OxPVfET9kHPmrbq9iVRsxdEn3Pv2C/WC1DtiF3+7ho9JkxnQm2mx4u8fpsH4RR97sj/oNJBDAmEOAH6XttpvPsKqk6KqmO1oiOvDD/d2IpeAMCAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgWgMCcGA1UdEQQgMB6CB0UyazE2LTGCE0UyazE2LTEuQ29udG9zby5sYWIwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAQEAaT26wAQzPHWUOng/+mVFhhPIZa82B4YGKTPfuCV2tT3NmCrt8GK8n74maLxQgu8+s2QwHSrbhWI024hd5CFICTeIH2VPj51wwIlg/fVxqAE8+YjiUo463dEBQvU1jHKNxf4kr2ZzAem2TP63M+J1fpepoCGJEYcVU8mJyCe+kv+Nco/IVJFVGm3W5V3bNppm3PQ4I3vLrgFJTTMWaUU8DuZAqSpOxkI0F7AVZ7gIz9o4dQjaHDACk3z3TwJnxIoAErrQHNj3kTKXg6EXPr1Vso7osxmVh+FYgc8sL7ehbO9L1alruk+IqQzQnlm26AYrYKNnJZZE/QanUfkYP6g/hA== + + + e2k16-1.contoso.lab + 4e029ce4-dec4-4e71-8696-578e14f119b3 + false + I3NpZyMaCgAAAAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZUF1dGhvcml0eVR5cGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfr///9GTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwEAAAAHdmFsdWVfXwAIAgAAABEAAAAJBwAAAAEGCAAAADxFMmsxNi0xLkNvbnRvc28ubGFiXDBDRUI1QUM5MEE5RTRCQjlFNEY4RjFGMEQ3RkM4RjRFRUE0RjJDQTIPAwAAAAwEAAACBAAAAAEAAAAQAAAAuFGVTOlVyRLDQl4CBFB2jwsAAAABAAAAEAAAAEUAMgBrADEANgAtADEAAAADAAAAAQAAABQAAAAM61rJCp5LueT48fDX/I9O6k8sogIAAAABAAAAbAAAABwAAAAAAAAADAAAACAAAAAAAAAAAAAAAAEAAABiADEAMwAxAGQAMgAwADQALQBmAGUAYwBlAC0ANABmAGEAZgAtADgANwBkADQALQBjADQANgA1ADgAMQBlAGMAYwA3ADgAYwAAAAAAAAAAABQAAAABAAAAFAAAAJYsN5G37JBob7Kod9pnAYcNDz20IAAAAAEAAAAQAwAAMIIDDDCCAfSgAwIBAgIQGLgrEzw4u6pDBVzQu7caODANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDEwdFMmsxNi0xMB4XDTIzMDEwNTE1MTM0NloXDTI4MDEwNTE1MTM0NlowEjEQMA4GA1UEAxMHRTJrMTYtMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxRcEMt909QD0w+XNCNejyOZPV2gxOHc0WbhK9C4QlaWNkdUC9FRq0YTImP+uuUu0RqLthrU1jpN+ULQM+WEteEwaRvk8e7Z3Ucy4nREsSf2vrCmk0hGkaxsurj4Kq8fCeAfEcXy9F+GlgjKq2pmgc4siRW0oKx8Z4Kj0Qszp0MeaGnUyIqYyHI/dJcf+mQBoM6Fz4U5uGhIdLknsm5y+O5qQll/43Sj8zQevrNo1OxPVfET9kHPmrbq9iVRsxdEn3Pv2C/WC1DtiF3+7ho9JkxnQm2mx4u8fpsH4RR97sj/oNJBDAmEOAH6XttpvPsKqk6KqmO1oiOvDD/d2IpeAMCAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgWgMCcGA1UdEQQgMB6CB0UyazE2LTGCE0UyazE2LTEuQ29udG9zby5sYWIwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAQEAaT26wAQzPHWUOng/+mVFhhPIZa82B4YGKTPfuCV2tT3NmCrt8GK8n74maLxQgu8+s2QwHSrbhWI024hd5CFICTeIH2VPj51wwIlg/fVxqAE8+YjiUo463dEBQvU1jHKNxf4kr2ZzAem2TP63M+J1fpepoCGJEYcVU8mJyCe+kv+Nco/IVJFVGm3W5V3bNppm3PQ4I3vLrgFJTTMWaUU8DuZAqSpOxkI0F7AVZ7gIz9o4dQjaHDACk3z3TwJnxIoAErrQHNj3kTKXg6EXPr1Vso7osxmVh+FYgc8sL7ehbO9L1alruk+IqQzQnlm26AYrYKNnJZZE/QanUfkYP6g/hAQHAAAAyQFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5JaXNTZXJ2aWNlLCBNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVyc2lvbgQAAENNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudC5TeXN0ZW1Db25maWd1cmF0aW9uVGFza3MuSWlzU2VydmljZVtdAgAAAAgICQkAAAAAAAAAAQAAAAcJAAAAAAEAAAAAAAAABEFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudC5TeXN0ZW1Db25maWd1cmF0aW9uVGFza3MuSWlzU2VydmljZQIAAAAL9QG+ELD9toNkzt1D7jNSMbNOaRRmIvyddAJ6XDrafek= + + + \ No newline at end of file diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/NewExchangeAuthCertificate.xml b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/NewExchangeAuthCertificate.xml new file mode 100644 index 0000000000..4412ec2124 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/NewExchangeAuthCertificate.xml @@ -0,0 +1,20 @@ + + + + Microsoft.Exchange.Management.SystemConfigurationTasks.ExchangeCertificate + System.Security.Cryptography.X509Certificates.X509Certificate2 + System.Security.Cryptography.X509Certificates.X509Certificate + System.Object + + [Subject]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 164A288374E263814BE363E1ED8B98BD_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 01/05/2023 13:57:11_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 01/05/2028 13:57:11_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ B22BD738BED13136D29B7F410CE2993C5313F8FA_x000D__x000A_ + + MIIDKTCCAhGgAwIBAgIQFkoog3TiY4FL42Ph7YuYvTANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwHhcNMjMwMTA1MTM1NzExWhcNMjgwMTA1MTM1NzExWjA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDObFhepiQeqSaz48L+p55jTZw88GUmWFLxRAONcl452gLcM/RSDA6AUCOuOCgeaGCmn/rdEygqv8cxY1I2yApFjJM8O7Tjdu0KUXlI5Y8Wiyxij1P261atT3bH1iN4D8H9g0JUiTK5seEdQvZkSHtvVcHIKdBKCCpbZx3tDq5yTH0I7TJR9J3IpqAT5MfUwXYPnK4NGod2ZT8fu6qqjp/qdw9cjG6z/WnWNHx0NIz4xFK7VOMHcCC9NpRy6pVK85sgNYJX7vYC2pMoGdNHjXhXfwhlY5F30SnBRLGVhyRN6mFlcareybkAuaPGVAyaCqryti9GLexwWByK9/shjZ9NAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQC/NYoyxej0lPGswhBf9ah4htsVSjHkEaCBEbDnYfMaz9UuPySZkGIHqTSCEKsNsmTeLdQizGCMCXil06S8njmn+yEV+LP5nfKuWlJ+ZNVrCj/DDBcy39YivwqliM9gWPupc2MYhBnZH4i3nIyA4lDm9bd/FMZcelvOv+Ka9JKl96EhvSqsJF/HqdBIg24nwXrKnjz1cJZSlMh+NMyr9/1amdjwExd1rdq0CjL4NnqSDy2CpzBZzMPGXVYzjihyuu0ovEJk8F+IJQeWflGZt7n0xXJ16SzCEHoZGnGZObUygS9GqMdOdTz8q2aVkj22HRte/XsCXmNPDuWhsE6Oibe6 + + + e2k16-1.contoso.lab + 4e029ce4-dec4-4e71-8696-578e14f119b3 + false + I3NpZyP3CgAAAAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5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 + + + \ No newline at end of file diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/NewExchangeCertificateDefaultTransport.xml b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/NewExchangeCertificateDefaultTransport.xml new file mode 100644 index 0000000000..3c603eded0 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/Data/NewExchangeCertificateDefaultTransport.xml @@ -0,0 +1,20 @@ + + + + Microsoft.Exchange.Management.SystemConfigurationTasks.ExchangeCertificate + System.Security.Cryptography.X509Certificates.X509Certificate2 + System.Security.Cryptography.X509Certificates.X509Certificate + System.Object + + [Subject]_x000D__x000A_ CN=E2k16-1_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=E2k16-1_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 6C2CAAA255215799440B8C5982BD9291_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 01/05/2023 15:06:40_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 01/05/2028 15:06:40_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ A86B1B7414E51491D446905511A329A7FE120510_x000D__x000A_ + + MIIDDDCCAfSgAwIBAgIQbCyqolUhV5lEC4xZgr2SkTANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDEwdFMmsxNi0xMB4XDTIzMDEwNTE1MDY0MFoXDTI4MDEwNTE1MDY0MFowEjEQMA4GA1UEAxMHRTJrMTYtMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMzJlz0bK6JBPuDHWeqrG4dalrOeEluTw0INxAMs4IbfmIGIiitf9eXMH4gIL0iTFIZl95Pme1d1/kgtWk/3Lk/t5sjQ24cwhTUj4d/XYns+fW6CYQvnzzjQRvuYoYWdAHttl7tAW3M15wFdSFln/Z3mp/MFEgt0Qzk2hyFfM1yGaVsazDfbSCmtlJXXckNXWaPIQbQgdA7PCHdcBWReuLAfhdVChbU1jzsWrwk8piI/tcLIkWBRRv+pjlEY7j4fkdsxzUTMiUk4990T6yhsznTJOySi7wLvky5GWX/5V2lvVnSs4Knx1T1oizOkXtlmk7r9C8siYQzXkjPI3IpZI1sCAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgWgMCcGA1UdEQQgMB6CB0UyazE2LTGCE0UyazE2LTEuQ29udG9zby5sYWIwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAQEAAODvXog79U93BFXfIaUnsYjKoW1pvNnJn3oy24kTV0OVY7gviszFXcAPNPtTLenniZ4dXdu/9/g7paoMdWe+KX97weseTuADAfX92iSS84UgtCljvYEaje1IEb5+5q3yxEc1xf3nMw1E7Kpvgv+YLfIHW3NtaIIdWuZNrZZ3czx6/eYZtCMoRV3cJhn84l8+I1s7Xgj2kJ6QMIwK+dAbqQe+DxKeYdJwuPSqEFDQYxkJIeZenwJ6leNCMomtuk45TjsncbgfcjJkVH9aRbWZpSJoGEdrVK7SiWPkCmgUG/Ov8tITcaA+4mnod5Fj+ogRDiNh0TYqC3kWHeMKtkK1Eg== + + + e2k16-1.contoso.lab + 4e029ce4-dec4-4e71-8696-578e14f119b3 + false + I3NpZyP6CQAAAAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5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 + + + \ No newline at end of file diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/New-AuthCertificateMonitoringLogFolder.Tests.ps1 b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/New-AuthCertificateMonitoringLogFolder.Tests.ps1 new file mode 100644 index 0000000000..70dbab19f6 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/New-AuthCertificateMonitoringLogFolder.Tests.ps1 @@ -0,0 +1,37 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingInvokeExpression', '', Justification = 'Pester testing file')] +[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidOverwritingBuiltInCmdlets', '', Justification = 'Pester testing file')] +[CmdletBinding()] +param() +BeforeAll { + $Script:parentPath = (Split-Path -Parent $PSScriptRoot) + $Script:Server = $env:COMPUTERNAME + . $Script:parentPath\New-AuthCertificateMonitoringLogFolder.ps1 +} + +Describe "Testing New-AuthCertificateMonitoringLogFolder.ps1" { + + Context "Executed On Exchange Server" { + BeforeAll { + $env:ExchangeInstallPath = 'C:\Program Files\Microsoft\Exchange Server\V15' + $Script:results = New-AuthCertificateMonitoringLogFolder + } + + It "Should Create The Log Folder Under ExchangeInstallPath" { + $results | Should -Be 'C:\Program Files\Microsoft\Exchange Server\V15\Logging\AuthCertificateMonitoring' + } + } + + Context "Executed On Non-Exchange Server" { + BeforeAll { + $env:ExchangeInstallPath = $null + $Script:results = New-AuthCertificateMonitoringLogFolder + } + + It "Should Create The Log Folder Under Temp Folder" { + $results | Should -Be ('{0}\Logging\AuthCertificateMonitoring' -f $env:TEMP) + } + } +} diff --git a/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/New-ExchangeAuthCertificate.Tests.ps1 b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/New-ExchangeAuthCertificate.Tests.ps1 new file mode 100644 index 0000000000..69a853d5b1 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/ConfigurationAction/Tests/New-ExchangeAuthCertificate.Tests.ps1 @@ -0,0 +1,189 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingInvokeExpression', '', Justification = 'Pester testing file')] +[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidOverwritingBuiltInCmdlets', '', Justification = 'Pester testing file')] +[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '', Justification = 'Pester testing file')] +[CmdletBinding()] +param() +BeforeAll { + $Script:parentPath = (Split-Path -Parent $PSScriptRoot) + $Script:Server = $env:COMPUTERNAME + . $Script:parentPath\New-ExchangeAuthCertificate.ps1 + + function Invoke-CatchActionError { + param() + } + + function Get-Date { + param() + + return [DateTime]::Parse('2023-01-01T00:00:00') + } + + function Get-WebSite { + param() + + <# + Data exported like this: + ConvertTo-Json -InputObject (Get-WebSite) -Depth 4 | Out-File GetWebSite.json -Encoding UTF8 + #> + return Get-Content $Script:parentPath\Tests\Data\GetWebSite.json | ConvertFrom-Json + } + + function New-ExchangeCertificate { + param() + } + + function Enable-ExchangeCertificate { + param() + } + + function Set-AuthConfig { + param() + } + + function Restart-Service { + param() + } + + function Get-ExchangeServerCertificate { + param( + [string]$Thumbprint = $null + ) + + if ($null -ne $Thumbprint) { + return Import-Clixml $Script:parentPath\..\DataCollection\Tests\Data\GetExchangeCertificate.xml | Where-Object { $_.Thumbprint -eq $Thumbprint } + } + return Import-Clixml $Script:parentPath\..\DataCollection\Tests\Data\GetExchangeCertificate.xml + } + + function Restart-WebAppPool { + param() + } + + function Get-InternalTransportCertificateFromServer { + param() + + return Import-Clixml $Script:parentPath\Tests\Data\GetInternalTransportCertificateFromServer.xml + } +} + +Describe "Testing New-ExchangeAuthCertificate.ps1" { + + Context "Running New-ExchangeAuthCertificate To Replace The Primary Auth Certificate" { + BeforeAll { + Mock Set-AuthConfig { return $null } + Mock Restart-Service { return $null } + Mock Restart-WebAppPool { return $null } + Mock New-ExchangeCertificate { return Import-Clixml $Script:parentPath\Tests\Data\NewExchangeAuthCertificate.xml } -ParameterFilter { + $SubjectName -eq 'cn=Microsoft Exchange Server Auth Certificate' + } + Mock New-ExchangeCertificate { return Import-Clixml $Script:parentPath\Tests\Data\NewExchangeCertificateDefaultTransport.xml } + } + + It "Should Replace The Primary Auth Certificate Without Restarting The Web App Pools" { + $Script:results = New-ExchangeAuthCertificate -ReplaceExpiredAuthCertificate -UnattendedMode $true + $results | Should -BeOfType 'System.Management.Automation.PSCustomObject' + $results.RenewalActionPerformed | Should -Be $true + $results.AuthCertificateActivationDate | Should -BeOfType 'System.DateTime' + Should -Invoke New-ExchangeCertificate -Times 1 -Exactly + Should -Invoke Set-AuthConfig -Times 3 -Exactly + Should -Invoke Restart-Service -Times 1 -Exactly + Should -Invoke Restart-WebAppPool -Times 0 -Exactly + } + + It "Should Replace The Primary Auth Certificate And Restarts The Web App Pools" { + $Script:results = New-ExchangeAuthCertificate -ReplaceExpiredAuthCertificate -UnattendedMode $true -RecycleAppPoolsAfterRenewal $true + $results | Should -BeOfType 'System.Management.Automation.PSCustomObject' + $results.RenewalActionPerformed | Should -Be $true + $results.AuthCertificateActivationDate | Should -BeOfType 'System.DateTime' + Should -Invoke New-ExchangeCertificate -Times 1 -Exactly + Should -Invoke Set-AuthConfig -Times 3 -Exactly + Should -Invoke Restart-Service -Times 1 -Exactly + Should -Invoke Restart-WebAppPool -Times 2 -Exactly + } + } + + Context "Running New-ExchangeAuthCertificate To Stage The Next Auth Certificate" { + BeforeAll { + Mock Set-AuthConfig { return $null } + Mock Restart-Service { return $null } + Mock Restart-WebAppPool { return $null } + Mock New-ExchangeCertificate { return Import-Clixml $Script:parentPath\Tests\Data\NewExchangeAuthCertificate.xml } -ParameterFilter { + $SubjectName -eq 'cn=Microsoft Exchange Server Auth Certificate' + } + Mock New-ExchangeCertificate { return Import-Clixml $Script:parentPath\Tests\Data\NewExchangeCertificateDefaultTransport.xml } + } + + It "Should Replace the Next Auth Certificate In 30 Days Without Restarting The MSExchangeServiceHost Service" { + $Script:results = New-ExchangeAuthCertificate -ConfigureNextAuthCertificate -CurrentAuthCertificateLifetimeInDays 50 -UnattendedMode $true + $results | Should -BeOfType 'System.Management.Automation.PSCustomObject' + $results.RenewalActionPerformed | Should -Be $true + $results.AuthCertificateActivationDate | Should -BeOfType 'System.DateTime' + ($results.AuthCertificateActivationDate - (Get-Date)).Days | Should -Be 30 + Should -Invoke New-ExchangeCertificate -Times 1 -Exactly + Should -Invoke Set-AuthConfig -Times 1 -Exactly + Should -Invoke Restart-Service -Times 0 -Exactly + } + + It "Should Replace the Next Auth Certificate And Rotate In 4 Days" { + $Script:results = New-ExchangeAuthCertificate -ConfigureNextAuthCertificate -CurrentAuthCertificateLifetimeInDays 10 -UnattendedMode $true + $results | Should -BeOfType 'System.Management.Automation.PSCustomObject' + $results.RenewalActionPerformed | Should -Be $true + $results.AuthCertificateActivationDate | Should -BeOfType 'System.DateTime' + ($results.AuthCertificateActivationDate - (Get-Date)).Days | Should -Be 4 + Should -Invoke New-ExchangeCertificate -Times 1 -Exactly + Should -Invoke Set-AuthConfig -Times 1 -Exactly + Should -Invoke Restart-Service -Times 0 -Exactly + } + + It "Should Replace the Next Auth Certificate As Rotate In 2 Days" { + $Script:results = New-ExchangeAuthCertificate -ConfigureNextAuthCertificate -CurrentAuthCertificateLifetimeInDays 3 -UnattendedMode $true + $results | Should -BeOfType 'System.Management.Automation.PSCustomObject' + $results.RenewalActionPerformed | Should -Be $true + $results.AuthCertificateActivationDate | Should -BeOfType 'System.DateTime' + ($results.AuthCertificateActivationDate - (Get-Date)).Days | Should -Be 2 + Should -Invoke New-ExchangeCertificate -Times 1 -Exactly + Should -Invoke Set-AuthConfig -Times 1 -Exactly + Should -Invoke Restart-Service -Times 0 -Exactly + } + + It "Should Replace the Next Auth Certificate And Rotate Immediately" { + $Script:results = New-ExchangeAuthCertificate -ConfigureNextAuthCertificate -CurrentAuthCertificateLifetimeInDays 0 -UnattendedMode $true + $results | Should -BeOfType 'System.Management.Automation.PSCustomObject' + $results.RenewalActionPerformed | Should -Be $true + $results.AuthCertificateActivationDate | Should -BeOfType 'System.DateTime' + ($results.AuthCertificateActivationDate - (Get-Date)).Days | Should -Be 0 + Should -Invoke New-ExchangeCertificate -Times 1 -Exactly + Should -Invoke Set-AuthConfig -Times 1 -Exactly + Should -Invoke Restart-Service -Times 1 -Exactly + } + } + + Context "Replace Expired Auth Certificate And Configure New Internal SMTP Certificate If The Existing One Wasn't Detected" { + BeforeAll { + Mock Set-AuthConfig { return $null } + Mock Restart-Service { return $null } + Mock Restart-WebAppPool { return $null } + Mock New-ExchangeCertificate { return Import-Clixml $Script:parentPath\Tests\Data\NewExchangeAuthCertificate.xml } -ParameterFilter { + $SubjectName -eq 'cn=Microsoft Exchange Server Auth Certificate' + } + Mock New-ExchangeCertificate { return Import-Clixml $Script:parentPath\Tests\Data\NewExchangeCertificateDefaultTransport.xml } + Mock Get-Date { return [DateTime]::Parse('2029-01-03T00:00:00') } + Mock Get-ExchangeServerCertificate { throw 'No Exchange Server Certificate Found' } -ParameterFilter { + $Thumbprint -eq '0CEB5AC90A9E4BB9E4F8F1F0D7FC8F4EEA4F2CA2' + } + Mock Get-InternalTransportCertificateFromServer { return Import-Clixml $Script:parentPath\Tests\Data\InvalidExchangeDefaultTransportCertificate.xml } + } + + It "Should Create A New Internal SMTP Certificate" { + $Script:results = New-ExchangeAuthCertificate -ReplaceExpiredAuthCertificate -UnattendedMode:$true + # Call this 2 time as the first call is to create a new Auth Certificate and the second call is to create a new Internal SMTP Certificate + Should -Invoke New-ExchangeCertificate -Times 2 -Exactly + Should -Invoke Set-AuthConfig -Times 3 -Exactly + Should -Invoke Restart-Service -Times 1 -Exactly + Should -Invoke Restart-WebAppPool -Times 0 -Exactly + } + } +} diff --git a/Admin/MonitorExchangeAuthCertificate/DataCollection/Get-ExchangeAuthCertificateStatus.ps1 b/Admin/MonitorExchangeAuthCertificate/DataCollection/Get-ExchangeAuthCertificateStatus.ps1 new file mode 100644 index 0000000000..41c486c73e --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/DataCollection/Get-ExchangeAuthCertificateStatus.ps1 @@ -0,0 +1,170 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +. $PSScriptRoot\Get-ExchangeServerCertificate.ps1 + +function Get-ExchangeAuthCertificateStatus { + [CmdletBinding()] + [OutputType([System.Object])] + param( + [bool]$IgnoreUnreachableServers = $false, + [bool]$IgnoreHybridSetup = $false, + [scriptblock]$CatchActionFunction + ) + + <# + Returns an object which contains information if the current Auth Certificate and/or the next Auth Certificate must be renewed. + The object contains the following properties: + - CurrentAuthCertificateLifetimeInDays + - ReplaceRequired + - ConfigureNextAuthRequired + - NumberOfUnreachableServers + - UnreachableServerList + - HybridSetupDetected + - StopProcessingDueToHybrid + - MultipleExchangeADSites + #> + + begin { + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + $replaceRequired = $false + $configureNextAuthRequired = $false + + $currentAuthCertificateValidInDays = 0 + $nextAuthCertificateValidInDays = 0 + + $exchangeServersUnreachableList = New-Object 'System.Collections.Generic.List[string]' + $exchangeServersReachableList = New-Object 'System.Collections.Generic.List[string]' + $currentAuthCertificateMissingOnServersList = New-Object 'System.Collections.Generic.List[string]' + $nextAuthCertificateMissingOnServersList = New-Object 'System.Collections.Generic.List[string]' + } process { + $authConfiguration = Get-AuthConfig -ErrorAction SilentlyContinue + $allMailboxServers = Get-ExchangeServer | Where-Object { + ((($_.IsMailboxServer) -or + ($_.IsClientAccessServer)) -and + ($_.AdminDisplayVersion -Match "^Version 15")) + } + + $multipleExchangeSites = (($allMailboxServers.Site.Name | Sort-Object -Unique).Count -gt 1) + Write-Verbose ("Exchange deployed to multiple AD sites? $($multipleExchangeSites)") + + try { + $hybridConfiguration = Get-HybridConfiguration -ErrorAction Stop + } catch { + Write-Verbose ("We hit an exception while querying the Exchange Hybrid configuration state - Exception: $($Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + } + + if ($null -ne $authConfiguration) { + Write-Verbose ("AuthConfig returned via 'Get-AuthConfig' call") + + if (-not([string]::IsNullOrEmpty($authConfiguration.CurrentCertificateThumbprint))) { + Write-Verbose ("CurrentCertificateThumbprint is: $($authConfiguration.CurrentCertificateThumbprint)") + foreach ($mbxServer in $allMailboxServers) { + try { + Write-Verbose ("Trying to query current Auth Certificate on server: $($mbxServer)") + $currentAuthCertificate = Get-ExchangeServerCertificate -Server $($mbxServer.Fqdn) -Thumbprint $authConfiguration.CurrentCertificateThumbprint -ErrorAction Stop + $exchangeServersReachableList.Add($mbxServer.Fqdn) + } catch { + Write-Verbose ("We hit an exception - going to determine the reason") + Invoke-CatchActionError $CatchActionFunction + + if ((($error[0].CategoryInfo).Reason) -eq "InvalidOperationException") { + # Auth Certificate must exist on all servers, if it doesn't, generate a new one and replace the existing one + Write-Verbose ("Current Auth Certificate not found on server: $($mbxServer)") + $exchangeServersReachableList.Add($mbxServer.Fqdn) + $currentAuthCertificateMissingOnServersList.Add($mbxServer.Fqdn) + } else { + Write-Verbose ("Computer: $($mbxServer.Fqdn) is unreachable and cannot take into account") + $exchangeServersUnreachableList.Add($mbxServer.Fqdn) + } + } + } + } + + if (-not([string]::IsNullOrEmpty($authConfiguration.NextCertificateThumbprint))) { + Write-Verbose ("NextCertificateThumbprint is: $($authConfiguration.NextCertificateThumbprint)") + foreach ($mbxServer in $exchangeServersReachableList) { + try { + Write-Verbose ("Trying to query next Auth Certificate on server: $($mbxServer)") + $nextAuthCertificate = Get-ExchangeServerCertificate -Server $mbxServer -Thumbprint $authConfiguration.NextCertificateThumbprint -ErrorAction Stop + } catch { + Invoke-CatchActionError $CatchActionFunction + + if ((($error[0].CategoryInfo).Reason) -eq "InvalidOperationException") { + # Next Auth Certificate must exist on all servers, if it doesn't, generate a new one and replace the existing + Write-Verbose ("Next Auth Certificate not found on server: $($mbxServer)") + $nextAuthCertificateMissingOnServersList.Add($mbxServer) + } else { + Write-Verbose ("Exception reason is: $(($error[0].CategoryInfo).Reason)") + Write-Verbose ("Do nothing as we can't say for sure if the Auth Certificate exists or not") + } + } + } + } + + Write-Verbose ("Number of unreachable servers: $($exchangeServersUnreachableList.Count) - IgnoreUnreachableServers? $($IgnoreUnreachableServers)") + + if (($exchangeServersUnreachableList.Count -eq 0) -or + (($exchangeServersUnreachableList.Count -gt 0) -and + ($IgnoreUnreachableServers))) { + + if ($exchangeServersReachableList.Count -gt $currentAuthCertificateMissingOnServersList.Count) { + $currentAuthCertificateValidInDays = (($currentAuthCertificate.NotAfter) - (Get-Date)).Days + } + + if ($exchangeServersReachableList.Count -gt $nextAuthCertificateMissingOnServersList.Count) { + $nextAuthCertificateValidInDays = (($nextAuthCertificate.NotAfter) - (Get-Date)).Days + } + + if (($currentAuthCertificateValidInDays -lt 0) -and + ($nextAuthCertificateValidInDays -lt 0)) { + # Scenario 1: Current Auth Certificate has expired and no next Auth Certificate defined or the next Auth Certificate has expired + $replaceRequired = $true + } elseif ((($currentAuthCertificateValidInDays -ge 0) -and + ($currentAuthCertificateValidInDays -le 60)) -and + (($nextAuthCertificateValidInDays -le 0) -or + ($nextAuthCertificateValidInDays -le 120)) -and + ($currentAuthCertificateMissingOnServersList.Count -eq 0) -and + ($nextAuthCertificateMissingOnServersList.Count -eq 0)) { + # Scenario 2: Current Auth Certificate is valid but no next Auth Certificate defined or next Auth Certificate will expire in < 120 days + $configureNextAuthRequired = $true + } elseif (($currentAuthCertificateValidInDays -le 0) -and + ($nextAuthCertificateValidInDays -ge 0)) { + # Scenario 3: Unlikely but possible - current Auth Certificate has expired and next Auth Certificate is set but not yet active + $replaceRequired = $true + } elseif ($currentAuthCertificateMissingOnServersList.Count -gt 0) { + # Scenario 4: Current Auth Certificate is missing on at least one (1) mailbox or CAS server + $replaceRequired = $true + } elseif ($nextAuthCertificateMissingOnServersList.Count -gt 0) { + # Scenario 5: Next Auth Certificate is missing on at least one (1) mailbox or CAS server + $configureNextAuthRequired = $true + } + + $stopProcessingDueToHybrid = ((($null -ne $hybridConfiguration) -and ($IgnoreHybridSetup -eq $false)) -and + (($replaceRequired) -or ($configureNextAuthRequired))) + + Write-Verbose ("Replace of the primary Auth Certificate required? $($replaceRequired)") + Write-Verbose ("Replace of the next Auth Certificate required? $($configureNextAuthRequired)") + Write-Verbose ("Hybrid Configuration detected? $($null -ne $hybridConfiguration)") + Write-Verbose ("Stop processing due to hybrid? $($stopProcessingDueToHybrid)") + } else { + Write-Verbose ("Unable to reach the following Exchange Servers: $([string]::Join(", ", $exchangeServersUnreachableList))") + Write-Verbose ("No renewal action will be performed as we can't for sure validate the Auth Certificate state on the offline servers") + } + } else { + Write-Verbose ("Unable to query AuthConfig - therefore no action will be executed") + } + } end { + return [PSCustomObject]@{ + CurrentAuthCertificateLifetimeInDays = $currentAuthCertificateValidInDays + ReplaceRequired = $replaceRequired + ConfigureNextAuthRequired = $configureNextAuthRequired + NumberOfUnreachableServers = $exchangeServersUnreachableList.Count + UnreachableServersList = $exchangeServersUnreachableList + HybridSetupDetected = ($null -ne $hybridConfiguration) + StopProcessingDueToHybrid = $stopProcessingDueToHybrid + MultipleExchangeADSites = $multipleExchangeSites + } + } +} diff --git a/Admin/MonitorExchangeAuthCertificate/DataCollection/Get-ExchangeServerCertificate.ps1 b/Admin/MonitorExchangeAuthCertificate/DataCollection/Get-ExchangeServerCertificate.ps1 new file mode 100644 index 0000000000..cfc368dab0 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/DataCollection/Get-ExchangeServerCertificate.ps1 @@ -0,0 +1,47 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +. $PSScriptRoot\Import-ExchangeCertificateFromRawData.ps1 + +function Get-ExchangeServerCertificate { + [CmdletBinding()] + [OutputType([System.Object])] + param( + [string]$Server = $env:COMPUTERNAME, + [string]$Thumbprint = $null + ) + + begin { + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + $allExchangeCertificates = New-Object 'System.Collections.Generic.List[object]' + } process { + $getExchangeCertificateParams = @{ + Server = $Server + ErrorAction = "Stop" + } + + if (-not([System.String]::IsNullOrEmpty($Thumbprint))) { + $getExchangeCertificateParams.Add("Thumbprint", $Thumbprint) + } + + $exchangeCertificates = Get-ExchangeCertificate @getExchangeCertificateParams + + if ($null -ne $exchangeCertificates) { + if ($null -ne $exchangeCertificates[0].Thumbprint) { + Write-Verbose ("Deserialization of the Exchange certificates was successful") + foreach ($c in $exchangeCertificates) { + $allExchangeCertificates.Add($c) + } + } else { + Write-Verbose ("Deserialization of the Exchange certificates failed - trying to import from RawData") + foreach ($c in $exchangeCertificates) { + $allExchangeCertificates.Add($(Import-ExchangeCertificateFromRawData $c)) + } + } + + Write-Verbose ("$($allExchangeCertificates.Count) Exchange Server certificates were returned") + } + } end { + return $allExchangeCertificates + } +} diff --git a/Admin/MonitorExchangeAuthCertificate/DataCollection/Import-ExchangeCertificateFromRawData.ps1 b/Admin/MonitorExchangeAuthCertificate/DataCollection/Import-ExchangeCertificateFromRawData.ps1 new file mode 100644 index 0000000000..ff34ea74c2 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/DataCollection/Import-ExchangeCertificateFromRawData.ps1 @@ -0,0 +1,39 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +function Import-ExchangeCertificateFromRawData { + [CmdletBinding()] + param( + [System.Object[]]$ExchangeCertificates + ) + + <# + This helper function must be used if Serialization Data Signing is enabled, but the Auth Certificate + which is configured has expired or isn't available on the system where the script runs. + The 'Get-ExchangeCertificate' cmdlet fails to deserialize and so, only RawData (byte[]) will be returned. + To workaround, we initialize the X509Certificate2 class and import the data by using the Import() method. + #> + + begin { + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + $exchangeCertificatesList = New-Object 'System.Collections.Generic.List[object]' + } process { + if ($ExchangeCertificates.Count -ne 0) { + Write-Verbose ("Going to process '$($ExchangeCertificates.Count )' Exchange certificates") + + foreach ($c in $ExchangeCertificates) { + # Initialize X509Certificate2 class + $certObject = New-Object 'System.Security.Cryptography.X509Certificates.X509Certificate2' + # Use the Import() method to import byte[] RawData + $certObject.Import($c.RawData) + + if ($null -ne $certObject.Thumbprint) { + Write-Verbose ("Certificate with thumbprint: $($certObject.Thumbprint) imported successfully") + $exchangeCertificatesList.Add($certObject) + } + } + } + } end { + return $exchangeCertificatesList + } +} diff --git a/Admin/MonitorExchangeAuthCertificate/DataCollection/Test-IsServerValidForAuthCertificateGeneration.ps1 b/Admin/MonitorExchangeAuthCertificate/DataCollection/Test-IsServerValidForAuthCertificateGeneration.ps1 new file mode 100644 index 0000000000..1b7361ca4e --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/DataCollection/Test-IsServerValidForAuthCertificateGeneration.ps1 @@ -0,0 +1,37 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +. $PSScriptRoot\..\..\..\Shared\Invoke-CatchActionError.ps1 + +function Test-IsServerValidForAuthCertificateGeneration { + [CmdletBinding()] + [OutputType([bool])] + param( + [string]$ComputerName = $env:COMPUTERNAME, + [scriptblock]$CatchActionFunction + ) + + <# + Validates that the server on which the script runs is a mailbox server running Exchange major version 15 or greater + #> + + try { + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + $isValid = $false + Write-Verbose ("Trying to query Exchange Server details") + $exchangeServerDetails = Get-ExchangeServer -Identity $ComputerName -ErrorAction Stop + + if (($exchangeServerDetails.IsMailboxServer) -and + (($exchangeServerDetails.AdminDisplayVersion -Match "^Version 15"))) { + Write-Verbose ("Exchange Server role and version is VALID to renew the Auth Certificate") + $isValid = $true + } else { + Write-Verbose ("Exchange Server role or version is INVALID to renew the Auth Certificate") + } + } catch { + Write-Verbose ("Unable to query Exchange Server details - Exception: $($Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + } + + return $isValid +} diff --git a/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Data/GetAuthConfig.xml b/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Data/GetAuthConfig.xml new file mode 100644 index 0000000000..83111e741d --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Data/GetAuthConfig.xml @@ -0,0 +1,142 @@ + + + + Microsoft.Exchange.Data.Directory.SystemConfiguration.AuthConfig + Microsoft.Exchange.Data.Directory.SystemConfiguration.ADConfigurationObject + Microsoft.Exchange.Data.Directory.ADObject + Microsoft.Exchange.Data.Directory.ADRawEntry + Microsoft.Exchange.Data.ConfigurableObject + System.Object + + Auth Configuration + + E1BDF9AE58C93C75E76C9DD882138FB8FF0FA786 + + BC6BF924D6EF046E64F8D1987DC1D7D2F4C0042A +
2023-02-03T14:16:02+00:00
+ 00000002-0000-0ff1-ce00-000000000000 + + + + Auth Configuration + + + + Microsoft.Exchange.Data.ExchangeObjectVersion + System.Object + + 0.20 (15.0.0.0) + + 1.0 (0.0.0.0) + 0.21 (0.0.0.0) + 0 + 20 + 15.0.0.0 + + + I3NpZyNaAQAAAAEAAAD/////AQAAAAAAAAAMAgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VPYmplY3RWZXJzaW9uAwAAAAVNYWpvcgVNaW5vcg1FeGNoYW5nZUJ1aWxkAAAEAgIlTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VCdWlsZAIAAAACAAAAABQF/f///yVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZUJ1aWxkBAAAAAVNYWpvcgVNaW5vcgVCdWlsZA1CdWlsZFJldmlzaW9uAAAAAAICDg4CAAAADwAAAAAAC+gnu/Vcs+LecgY8xz7h3ePDeTzqKwfXTes7KB220RDH + + + CN=Auth Configuration,CN=Contoso Labs,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=lab + + + Microsoft.Exchange.Data.Directory.ADObjectId + Microsoft.Exchange.Data.ObjectId + System.Object + + Auth Configuration + + + false + CN=Auth Configuration + Contoso Labs + 6 + CN=Auth Configuration,CN=Contoso Labs,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=lab + false + Contoso.lab + 59ce2f71-eaa2-4ddf-a4fa-f25069d0b324 + Contoso.lab + 9ed390c2-e6fd-4bd4-a7c0-65ca6bc791d7 + Auth Configuration + + + I3NpZyOcBQAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAAT9////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBgQAAAALQ29udG9zby5sYWIB+/////3////CkNOe/ebUS6fAZcprx5HXBgYAAABqQ049QXV0aCBDb25maWd1cmF0aW9uLENOPUNvbnRvc28gTGFicyxDTj1NaWNyb3NvZnQgRXhjaGFuZ2UsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoGAAAABgcAAAASQXV0aCBDb25maWd1cmF0aW9uCQgAAAAFCAAAADBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQFAAAAB29yZ1VuaXQKY29uZmlnVW5pdAtwYXJ0aXRpb25JZB9leHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkI3NhZmVFeHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkBAQEAwMsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAAbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1tU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAKCgkJAAAACgoFCQAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAACmZvcmVzdEZRRE4RcGFydGl0aW9uT2JqZWN0SWQBA21TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAYKAAAAC0NvbnRvc28ubGFiCgsR3nO18i4ASm8vRAJ3A/7MQocgcQ4FRXXgDdj8vZtHpw== + + + 9ed390c2-e6fd-4bd4-a7c0-65ca6bc791d7 + + + Contoso.lab/Configuration/Schema/ms-Exch-Auth-Auth-Config + + + false + CN=ms-Exch-Auth-Auth-Config + Contoso.lab/Configuration/Schema + 4 + CN=ms-Exch-Auth-Auth-Config,CN=Schema,CN=Configuration,DC=Contoso,DC=lab + false + Contoso.lab + 59ce2f71-eaa2-4ddf-a4fa-f25069d0b324 + Contoso.lab + 45126f98-04a2-42dc-9fa9-7e15bee577e8 + ms-Exch-Auth-Auth-Config + + + I3NpZyOhBQAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAAT9////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBgQAAAALQ29udG9zby5sYWIB+/////3///+YbxJFogTcQp+pfhW+5XfoBgYAAABIQ049bXMtRXhjaC1BdXRoLUF1dGgtQ29uZmlnLENOPVNjaGVtYSxDTj1Db25maWd1cmF0aW9uLERDPUNvbnRvc28sREM9bGFiCgQAAAAGBwAAADlDb250b3NvLmxhYi9Db25maWd1cmF0aW9uL1NjaGVtYS9tcy1FeGNoLUF1dGgtQXV0aC1Db25maWcJCAAAAAUIAAAAME1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5Pcmdhbml6YXRpb25JZAUAAAAHb3JnVW5pdApjb25maWdVbml0C3BhcnRpdGlvbklkH2V4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQjc2FmZUV4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQEBAQDAyxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAABtU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXW1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAoKCQkAAAAKCgUJAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAAAKZm9yZXN0RlFEThFwYXJ0aXRpb25PYmplY3RJZAEDbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAABgoAAAALQ29udG9zby5sYWIKC8+pWqOufshfjEvodkAPC5g3iavHmAtSb4ZrS0b3hTxv + + + + + Microsoft.Exchange.Data.MultiValuedProperty`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + Microsoft.Exchange.Data.MultiValuedPropertyBase + System.Object + + + top + container + msExchContainer + msExchAuthAuthConfig + + +
2023-01-04T14:16:04+00:00
+
2021-07-29T05:20:48+00:00
+
2023-01-04T14:16:04Z
+
2021-07-29T05:20:48Z
+ + + Microsoft.Exchange.Data.Directory.OrganizationId + System.Object + + + + + + false + + + + I3NpZyN2AwAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAME1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5Pcmdhbml6YXRpb25JZAUAAAAHb3JnVW5pdApjb25maWdVbml0C3BhcnRpdGlvbklkH2V4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQjc2FmZUV4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQEBAQDAyxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAABtU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXW1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAoKCQMAAAAKCgUDAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAAAKZm9yZXN0RlFEThFwYXJ0aXRpb25PYmplY3RJZAEDbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAABgQAAAALQ29udG9zby5sYWIKC0JCKvtglpmvfb/cxWRtBWK4GlcSYf/mkM3SNHaHH4/a + + + + DC-1.Contoso.lab + true + + + Microsoft.Exchange.Data.ObjectState + System.Enum + System.ValueType + System.Object + + Unchanged + 1 + +
+ + e2k16-1.contoso.lab + 4e029ce4-dec4-4e71-8696-578e14f119b3 + false + I3NpZyMkOAAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAQE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLkF1dGhDb25maWcJAAAAC3Byb3BlcnR5QmFnIUFEQ29uZmlndXJhdGlvbk9iamVjdCtwcm9wZXJ0eUJhZxRBRE9iamVjdCtwcm9wZXJ0eUJhZyxBRFJhd0VudHJ5KzxNc2VydlByb3BlcnR5QmFnPmtfX0JhY2tpbmdGaWVsZCpBRFJhd0VudHJ5KzxNYnhQcm9wZXJ0eUJhZz5rX19CYWNraW5nRmllbGQWQURSYXdFbnRyeStwcm9wZXJ0eUJhZx5Db25maWd1cmFibGVPYmplY3QrcHJvcGVydHlCYWcsQ29uZmlndXJhYmxlT2JqZWN0K3NlcmlhbGl6ZXJBc3NlbWJseVZlcnNpb24mQ29uZmlndXJhYmxlT2JqZWN0K2luc3RhbnRpYXRpb25FcnJvcnMEBAQEBAQEAwMvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAADlN5c3RlbS5WZXJzaW9uqQFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlZhbGlkYXRpb25FcnJvciwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dAgAAAAkDAAAACQMAAAAJAwAAAAoKCQMAAAAJAwAAAAkEAAAACQUAAAAMBgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQMAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcGAAAAFFByb3BlcnR5QmFnK3JlYWRPbmx5G1Byb3BlcnR5QmFnK3N0b3JlVmFsdWVzT25seSdQcm9wZXJ0eUJhZyt0cmVhdFN3aXRjaGFibGVBc1ZhbHVlc09ubHklUHJvcGVydHlCYWcrc2VyaWFsaXplckFzc2VtYmx5VmVyc2lvbiNQcm9wZXJ0eUJhZytzZXJpYWxpemVkQ3VycmVudFZhbHVlcyRQcm9wZXJ0eUJhZytzZXJpYWxpemVkT3JpZ2luYWxWYWx1ZXMAAAADBAQBAQEOU3lzdGVtLlZlcnNpb24vTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyW10GAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcltdBgAAAAIAAAAAAAAJBAAAAAkIAAAACQkAAAAEBAAAAA5TeXN0ZW0uVmVyc2lvbgQAAAAGX01ham9yBl9NaW5vcgZfQnVpbGQJX1JldmlzaW9uAAAAAAgICAgPAAAAAAAAAAAAAAAAAAAABAUAAACpAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVmFsaWRhdGlvbkVycm9yLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVyc2lvbgQAAClNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5WYWxpZGF0aW9uRXJyb3JbXQYAAAAICAkKAAAAAAAAAAAAAAAHCAAAAAABAAAAEQAAAAQtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyBgAAAAX1////LU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcgIAAAADS2V5BVZhbHVlBAI2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uAgAAAAYAAAAJDAAAAAYNAAAAJDAwMDAwMDAyLTAwMDAtMGZmMS1jZTAwLTAwMDAwMDAwMDAwMAHy////9f///wkPAAAACA0A/f4t8QXbiAHw////9f///wkRAAAACRIAAAAB7f////X///8JFAAAAAkVAAAAAer////1////CRcAAAAJGAAAAAHn////9f///wkaAAAACRsAAAAB5P////X///8JHQAAAAYeAAAAEkF1dGggQ29uZmlndXJhdGlvbgHh////9f///wkgAAAACSEAAAAB3v////X///8JIwAAAAkkAAAAAdv////1////CSYAAAAJJwAAAAHY////9f///wkpAAAABioAAAAQREMtMS5Db250b3NvLmxhYgHV////9f///wksAAAACS0AAAAB0v////X///8JLwAAAAYwAAAAETIwMjEwNzI5MDUyMDQ4LjBaAc/////1////CTIAAAAGMwAAABEyMDIzMDEwNDE0MTYwNC4wWgHM////9f///wk1AAAACA0y/p5hHO/aSAHK////9f///wk3AAAACAEAAcj////1////CTkAAAAJOgAAAAcJAAAAAAEAAAAAAAAABC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Qcm9wZXJ0eUJhZytWYWx1ZVBhaXIGAAAABwoAAAAAAQAAAAAAAAAEJ01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlZhbGlkYXRpb25FcnJvcgYAAAAFDAAAADZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eURlZmluaXRpb24LAAAAD2xkYXBEaXNwbGF5TmFtZQ5mb3JtYXRQcm92aWRlcg5zaGFkb3dQcm9wZXJ0eRZzb2Z0TGlua1NoYWRvd1Byb3BlcnR5F21zZXJ2UHJvcGVydHlEZWZpbml0aW9uFW1ieFByb3BlcnR5RGVmaW5pdGlvbiZTaW1wbGVQcm92aWRlclByb3BlcnR5RGVmaW5pdGlvbitmbGFncxdQcm9wZXJ0eURlZmluaXRpb24rbmFtZRdQcm9wZXJ0eURlZmluaXRpb24rdHlwZRtQcm9wZXJ0eURlZmluaXRpb24rdHlwZU5hbWU5UHJvcGVydHlEZWZpbml0aW9uK3JlcXVpcmVkUHJvcGVydHlEZWZpbml0aW9uc1doZW5SZWFkaW5nAQMEBAQEAAEDAQMWU3lzdGVtLklGb3JtYXRQcm92aWRlcjZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eURlZmluaXRpb24CAAAANk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5RGVmaW5pdGlvbgIAAAA5TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk1TZXJ2UHJvcGVydHlEZWZpbml0aW9uAgAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5NYnhQcm9wZXJ0eURlZmluaXRpb24CAAAACB9TeXN0ZW0uVW5pdHlTZXJpYWxpemF0aW9uSG9sZGVyswFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JQ29sbGVjdGlvbmAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Qcm9wZXJ0eURlZmluaXRpb24sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQIAAAAGOwAAAB9tc0V4Y2hBdXRoQXBwbGljYXRpb25JZGVudGlmaWVyCgoKCgoAAAAABjwAAAALU2VydmljZU5hbWUJPQAAAAY+AAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBDwAAAAwAAAAGPwAAABttc0V4Y2hBdXRoTmV4dEVmZmVjdGl2ZURhdGUKCgoKCgAAAAAGQAAAABxOZXh0Q2VydGlmaWNhdGVFZmZlY3RpdmVEYXRlCUEAAAAGQgAAAL4BU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5EYXRlVGltZSwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBEQAAAAwAAAAGQwAAAB9tc0V4Y2hBdXRoQ2VydGlmaWNhdGVUaHVtYnByaW50CgoKCgoCAAAABkQAAAAYQ2VydGlmaWNhdGVUaHVtYnByaW50UmF3CT0AAAAGRgAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKBRIAAACLAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk11bHRpVmFsdWVkUHJvcGVydHlgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0MAAAAFHJlYWRPbmx5RXJyb3JNZXNzYWdlCmlzUmVhZE9ubHkRaXNDaGFuZ2VzT25seUNvcHkKd2FzQ2xlYXJlZAdjaGFuZ2VkEnByb3BlcnR5RGVmaW5pdGlvbhlzZXJpYWxpemVyQXNzZW1ibHlWZXJzaW9uGHNlcmlhbGl6ZWRQcm9wZXJ0eVZhbHVlcxVzZXJpYWxpemVkQWRkZWRWYWx1ZXMXc2VyaWFsaXplZFJlbW92ZWRWYWx1ZXMoTXVsdGlWYWx1ZWRQcm9wZXJ0eUJhc2UraXNDb21wbGV0ZWx5UmVhZDNNdWx0aVZhbHVlZFByb3BlcnR5QmFzZSs8VmFsdWVSYW5nZT5rX19CYWNraW5nRmllbGQDAAAAAAQDBQUFAASqAVN5c3RlbS5OdWxsYWJsZWAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24uTG9jYWxpemVkU3RyaW5nLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dAQEBATZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eURlZmluaXRpb24CAAAADlN5c3RlbS5WZXJzaW9uASBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5JbnRSYW5nZQYAAAAGAAAACgAAAAAJEQAAAAkEAAAACUkAAAAKCgEKARQAAAAMAAAABkoAAAALc3lzdGVtRmxhZ3MKCgoKCkAAAAAGSwAAAAtTeXN0ZW1GbGFncwlMAAAABk0AAACYAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1GbGFnc0VudW0sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgUVAAAAMU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1GbGFnc0VudW0BAAAAB3ZhbHVlX18ACAIAAAAAAABAARcAAAAMAAAABk4AAAARZGlzdGluZ3Vpc2hlZE5hbWUKCgoJTwAAAAlQAAAAEAoAAAZRAAAAAklkCVIAAAAGUwAAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgUYAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAASs////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBlUAAAALQ29udG9zby5sYWIBqv///6z////CkNOe/ebUS6fAZcprx5HXBlcAAABqQ049QXV0aCBDb25maWd1cmF0aW9uLENOPUNvbnRvc28gTGFicyxDTj1NaWNyb3NvZnQgRXhjaGFuZ2UsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoGAAAABlgAAAASQXV0aCBDb25maWd1cmF0aW9uCVkAAAABGgAAAAwAAAAGWgAAAA1tc0V4Y2hWZXJzaW9uCgoKCglbAAAAAAIAAAZcAAAAD0V4Y2hhbmdlVmVyc2lvbgldAAAABl4AAACKAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlT2JqZWN0VmVyc2lvbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFGwAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZU9iamVjdFZlcnNpb24DAAAABU1ham9yBU1pbm9yDUV4Y2hhbmdlQnVpbGQAAAQCAiVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZUJ1aWxkBgAAAAYAAAAAFAWh////JU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlQnVpbGQEAAAABU1ham9yBU1pbm9yBUJ1aWxkDUJ1aWxkUmV2aXNpb24AAAAAAgIODgYAAAAPAAAAAAABHQAAAAwAAAAGYAAAAARuYW1lCgoKCWEAAAAJYgAAAAACAAAGYwAAAAdSYXdOYW1lCT0AAAAGZQAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKASAAAAAMAAAABmYAAAAOb2JqZWN0Q2F0ZWdvcnkKCgoKCWcAAABACAAABmgAAAAOT2JqZWN0Q2F0ZWdvcnkJUgAAAAZqAAAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKASEAAAAYAAAAAZX///+s////cS/OWaLq302k+vJQadCzJAZsAAAAC0NvbnRvc28ubGFiAZP///+s////mG8SRaIE3EKfqX4VvuV36AZuAAAASENOPW1zLUV4Y2gtQXV0aC1BdXRoLUNvbmZpZyxDTj1TY2hlbWEsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoEAAAABm8AAAA5Q29udG9zby5sYWIvQ29uZmlndXJhdGlvbi9TY2hlbWEvbXMtRXhjaC1BdXRoLUF1dGgtQ29uZmlnCVkAAAABIwAAAAwAAAAGcQAAAAtvYmplY3RDbGFzcwoKCgoJcgAAAAMAAAAGcwAAAAtPYmplY3RDbGFzcwk9AAAABnUAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5Cgx2AAAAZU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1ASQAAAASAAAABYn///8uTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQ29tbW9uLkxvY2FsaXplZFN0cmluZwgAAAAHaW5zZXJ0cwhiYXNlTmFtZQxhc3NlbWJseU5hbWUCaWQIc3RyaW5nSWQXc2hvd1N0cmluZ0lkSW5VSUlmRXJyb3Idc2hvd0Fzc2lzdGFuY2VJbmZvSW5VSUlmRXJyb3IIZmFsbGJhY2sFAQEBAQAAAQEBdgAAAAl4AAAABnkAAAAjTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGF0YVN0cmluZ3MGegAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BnsAAAAaRXJyb3JSZWFkT25seUNhdXNlUHJvcGVydHkGfAAAAAhFeDVDQjY1MAABBn0AAAA2VGhlIHByb3BlcnR5ICd7MH0nIGlzIHJlYWQtb25seSBhbmQgY2FuJ3QgYmUgbW9kaWZpZWQuAQAAAAkjAAAACQQAAAAJgAAAAAoKAQoBJgAAAAwAAAAKCgoKCgoAAQAABoEAAAALT2JqZWN0U3RhdGUJggAAAAaDAAAAgAFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5PYmplY3RTdGF0ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFJwAAACNNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5PYmplY3RTdGF0ZQEAAAAHdmFsdWVfXwAIBgAAAAEAAAABKQAAAAwAAAAKCgoKCgoAAQAABoQAAAART3JpZ2luYXRpbmdTZXJ2ZXIJPQAAAAaGAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBLAAAAAwAAAAGhwAAAA1jYW5vbmljYWxOYW1lCgoKCgmIAAAAAwAAAAaJAAAAEFJhd0Nhbm9uaWNhbE5hbWUJPQAAAAaLAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBLQAAABIAAAABdP///4n///8JjQAAAAl5AAAABo8AAABbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQl7AAAACXwAAAAAAQl9AAAAAQAAAAksAAAACQQAAAAJlQAAAAoKAQoBLwAAAAwAAAAGlgAAAAt3aGVuQ3JlYXRlZAoKCgoJlwAAAAEAAAAGmAAAAA5XaGVuQ3JlYXRlZFJhdwk9AAAABpoAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgEyAAAADAAAAAabAAAAC3doZW5DaGFuZ2VkCgoKCgmcAAAAAQAAAAadAAAADldoZW5DaGFuZ2VkUmF3CT0AAAAGnwAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKATUAAAAMAAAACgoKCgoKAAEAAAagAAAAC1doZW5SZWFkVVRDCUEAAAAGogAAAL4BU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5EYXRlVGltZSwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBNwAAAAwAAAAKCgoKCgoAAQAABqMAAAAISXNDYWNoZWQJpAAAAAalAAAAW1N5c3RlbS5Cb29sZWFuLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKATkAAAAMAAAACgoKCgoKAAEAAAamAAAAFERpcmVjdG9yeUJhY2tlbmRUeXBlCacAAAAGqAAAAJ0BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkRpcmVjdG9yeUJhY2tlbmRUeXBlLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFOgAAADZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuRGlyZWN0b3J5QmFja2VuZFR5cGUBAAAAB3ZhbHVlX18AAgIAAAABBD0AAAAfU3lzdGVtLlVuaXR5U2VyaWFsaXphdGlvbkhvbGRlcgMAAAAERGF0YQlVbml0eVR5cGUMQXNzZW1ibHlOYW1lAQABCAapAAAADVN5c3RlbS5TdHJpbmcEAAAABqoAAABLbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5AUEAAAA9AAAABqsAAABxU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5EYXRlVGltZSwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0EAAAACaoAAAAQSQAAAAIAAAAGrQAAACoyOkJDNkJGOTI0RDZFRjA0NkU2NEY4RDE5ODdEQzFEN0QyRjRDMDA0MkEGrgAAACowOkUxQkRGOUFFNThDOTNDNzVFNzZDOUREODgyMTM4RkI4RkYwRkE3ODYBTAAAAD0AAAAGrwAAADFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuU3lzdGVtRmxhZ3NFbnVtBAAAAAawAAAAZU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BU8AAAA5TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk1TZXJ2UHJvcGVydHlEZWZpbml0aW9uBQAAACZTaW1wbGVQcm92aWRlclByb3BlcnR5RGVmaW5pdGlvbitmbGFncxdQcm9wZXJ0eURlZmluaXRpb24rbmFtZRdQcm9wZXJ0eURlZmluaXRpb24rdHlwZRtQcm9wZXJ0eURlZmluaXRpb24rdHlwZU5hbWU5UHJvcGVydHlEZWZpbml0aW9uK3JlcXVpcmVkUHJvcGVydHlEZWZpbml0aW9uc1doZW5SZWFkaW5nAAEDAQMIH1N5c3RlbS5Vbml0eVNlcmlhbGl6YXRpb25Ib2xkZXKzAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLklDb2xsZWN0aW9uYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5RGVmaW5pdGlvbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dAgAAAAQAAAAJUQAAAAlSAAAABrMAAACTAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoMtAAAAGRNaWNyb3NvZnQuRXhjaGFuZ2UuU3RvcmVQcm92aWRlciwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BVAAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTWJ4UHJvcGVydHlEZWZpbml0aW9uBwAAABg8UHJvcFRhZz5rX19CYWNraW5nRmllbGQZPE1ieEZsYWdzPmtfX0JhY2tpbmdGaWVsZCZTaW1wbGVQcm92aWRlclByb3BlcnR5RGVmaW5pdGlvbitmbGFncxdQcm9wZXJ0eURlZmluaXRpb24rbmFtZRdQcm9wZXJ0eURlZmluaXRpb24rdHlwZRtQcm9wZXJ0eURlZmluaXRpb24rdHlwZU5hbWU5UHJvcGVydHlEZWZpbml0aW9uK3JlcXVpcmVkUHJvcGVydHlEZWZpbml0aW9uc1doZW5SZWFkaW5nBAQAAQMBAxZNaWNyb3NvZnQuTWFwaS5Qcm9wVGFntAAAADxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuTWJ4UHJvcGVydHlEZWZpbml0aW9uRmxhZ3MCAAAACB9TeXN0ZW0uVW5pdHlTZXJpYWxpemF0aW9uSG9sZGVyswFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JQ29sbGVjdGlvbmAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Qcm9wZXJ0eURlZmluaXRpb24sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQIAAAAFS////xZNaWNyb3NvZnQuTWFwaS5Qcm9wVGFnAQAAAAd2YWx1ZV9fAA+0AAAAAQAAAAVK////PE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5NYnhQcm9wZXJ0eURlZmluaXRpb25GbGFncwEAAAAHdmFsdWVfXwAJAgAAAAEAAAAAAAAABAAAAAlRAAAACVIAAAAGuQAAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFSAAAAPQAAAAa6AAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkBAAAAAmwAAAABVkAAAAwTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk9yZ2FuaXphdGlvbklkBQAAAAdvcmdVbml0CmNvbmZpZ1VuaXQLcGFydGl0aW9uSWQfZXh0ZXJuYWxEaXJlY3RvcnlPcmdhbml6YXRpb25JZCNzYWZlRXh0ZXJuYWxEaXJlY3RvcnlPcmdhbml6YXRpb25JZAQEBAMDLE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAACxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlBhcnRpdGlvbklkAgAAAG1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAACgoJvAAAAAoKAVsAAABQAAAAAUP///9L////AQAAAAFC////Sv///wEAAAAAAAAABAAAAAlcAAAACV0AAAAGwQAAAIoBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VPYmplY3RWZXJzaW9uLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFdAAAAPQAAAAbCAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlT2JqZWN0VmVyc2lvbgQAAAAGwwAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1AWEAAABPAAAABQAAAAljAAAACT0AAAAGxgAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAWIAAABQAAAAATn///9L////HwCrMQE4////Sv///wEAAAAAAAAAAAAAAAljAAAACT0AAAAGywAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAWcAAABQAAAAATT///9L////AQAAAAEz////Sv///wEAAAAAAAAABAAAAAloAAAACVIAAAAG0AAAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFyAAAAUAAAAAEv////S////x8QjDEBLv///0r///8BAAAAAAAAAAIAAAAJcwAAAAk9AAAABtUAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5ChB4AAAAAQAAAAbWAAAAC09iamVjdENsYXNzEIAAAAAEAAAABtcAAAADdG9wBtgAAAAJY29udGFpbmVyBtkAAAAPbXNFeGNoQ29udGFpbmVyBtoAAAAUbXNFeGNoQXV0aEF1dGhDb25maWcBggAAAD0AAAAG2wAAACNNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5PYmplY3RTdGF0ZQQAAAAJwwAAAAGIAAAAUAAAAAEj////S////x8QpzEBIv///0r///8BAAAAAAAAAAIAAAAJiQAAAAk9AAAABuEAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5ChCNAAAAAQAAAAbiAAAAEFJhd0Nhbm9uaWNhbE5hbWUQlQAAAAEAAAAG4wAAAFVDb250b3NvLmxhYi9Db25maWd1cmF0aW9uL1NlcnZpY2VzL01pY3Jvc29mdCBFeGNoYW5nZS9Db250b3NvIExhYnMvQXV0aCBDb25maWd1cmF0aW9uAZcAAABQAAAAARz///9L////HwAEMgEb////Sv///wEAAAAAAAAAAAAAAAmYAAAACT0AAAAG6AAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAZwAAABQAAAAARf///9L////HwADMgEW////Sv///wEAAAAAAAAAAAAAAAmdAAAACT0AAAAG7QAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAaQAAAA9AAAABu4AAAAOU3lzdGVtLkJvb2xlYW4EAAAACaoAAAABpwAAAD0AAAAG8AAAADZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuRGlyZWN0b3J5QmFja2VuZFR5cGUEAAAACbAAAAAFvAAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAACmZvcmVzdEZRRE4RcGFydGl0aW9uT2JqZWN0SWQBA21TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAbyAAAAC0NvbnRvc28ubGFiCguy0v66wQsSJvnqEZCSB/UUfpac6VVxYVHVpw0SC0jEKA== + +
+
\ No newline at end of file diff --git a/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Data/GetAuthConfigNoNextCert.xml b/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Data/GetAuthConfigNoNextCert.xml new file mode 100644 index 0000000000..97a01bee75 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Data/GetAuthConfigNoNextCert.xml @@ -0,0 +1,142 @@ + + + + Microsoft.Exchange.Data.Directory.SystemConfiguration.AuthConfig + Microsoft.Exchange.Data.Directory.SystemConfiguration.ADConfigurationObject + Microsoft.Exchange.Data.Directory.ADObject + Microsoft.Exchange.Data.Directory.ADRawEntry + Microsoft.Exchange.Data.ConfigurableObject + System.Object + + Auth Configuration + + B22BD738BED13136D29B7F410CE2993C5313F8FA + + + + 00000002-0000-0ff1-ce00-000000000000 + + + + Auth Configuration + + + + Microsoft.Exchange.Data.ExchangeObjectVersion + System.Object + + 0.20 (15.0.0.0) + + 1.0 (0.0.0.0) + 0.21 (0.0.0.0) + 0 + 20 + 15.0.0.0 + + + I3NpZyNaAQAAAAEAAAD/////AQAAAAAAAAAMAgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VPYmplY3RWZXJzaW9uAwAAAAVNYWpvcgVNaW5vcg1FeGNoYW5nZUJ1aWxkAAAEAgIlTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VCdWlsZAIAAAACAAAAABQF/f///yVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZUJ1aWxkBAAAAAVNYWpvcgVNaW5vcgVCdWlsZA1CdWlsZFJldmlzaW9uAAAAAAICDg4CAAAADwAAAAAAC3RIGcQVIJLtzBc1Z38IHO2bVROvFjiC45lJhuSXHu/o + + + CN=Auth Configuration,CN=Contoso Labs,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=lab + + + Microsoft.Exchange.Data.Directory.ADObjectId + Microsoft.Exchange.Data.ObjectId + System.Object + + Auth Configuration + + + false + CN=Auth Configuration + Contoso Labs + 6 + CN=Auth Configuration,CN=Contoso Labs,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=lab + false + Contoso.lab + 59ce2f71-eaa2-4ddf-a4fa-f25069d0b324 + Contoso.lab + 9ed390c2-e6fd-4bd4-a7c0-65ca6bc791d7 + Auth Configuration + + + I3NpZyOcBQAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAAT9////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBgQAAAALQ29udG9zby5sYWIB+/////3////CkNOe/ebUS6fAZcprx5HXBgYAAABqQ049QXV0aCBDb25maWd1cmF0aW9uLENOPUNvbnRvc28gTGFicyxDTj1NaWNyb3NvZnQgRXhjaGFuZ2UsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoGAAAABgcAAAASQXV0aCBDb25maWd1cmF0aW9uCQgAAAAFCAAAADBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQFAAAAB29yZ1VuaXQKY29uZmlnVW5pdAtwYXJ0aXRpb25JZB9leHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkI3NhZmVFeHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkBAQEAwMsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAAbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1tU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAKCgkJAAAACgoFCQAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAACmZvcmVzdEZRRE4RcGFydGl0aW9uT2JqZWN0SWQBA21TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAYKAAAAC0NvbnRvc28ubGFiCgvb+t3qlAld1DWEIKS4loD72QJXrEyDRmNi83GblJkVFQ== + + + 9ed390c2-e6fd-4bd4-a7c0-65ca6bc791d7 + + + Contoso.lab/Configuration/Schema/ms-Exch-Auth-Auth-Config + + + false + CN=ms-Exch-Auth-Auth-Config + Contoso.lab/Configuration/Schema + 4 + CN=ms-Exch-Auth-Auth-Config,CN=Schema,CN=Configuration,DC=Contoso,DC=lab + false + Contoso.lab + 59ce2f71-eaa2-4ddf-a4fa-f25069d0b324 + Contoso.lab + 45126f98-04a2-42dc-9fa9-7e15bee577e8 + ms-Exch-Auth-Auth-Config + + + I3NpZyOhBQAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAAT9////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBgQAAAALQ29udG9zby5sYWIB+/////3///+YbxJFogTcQp+pfhW+5XfoBgYAAABIQ049bXMtRXhjaC1BdXRoLUF1dGgtQ29uZmlnLENOPVNjaGVtYSxDTj1Db25maWd1cmF0aW9uLERDPUNvbnRvc28sREM9bGFiCgQAAAAGBwAAADlDb250b3NvLmxhYi9Db25maWd1cmF0aW9uL1NjaGVtYS9tcy1FeGNoLUF1dGgtQXV0aC1Db25maWcJCAAAAAUIAAAAME1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5Pcmdhbml6YXRpb25JZAUAAAAHb3JnVW5pdApjb25maWdVbml0C3BhcnRpdGlvbklkH2V4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQjc2FmZUV4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQEBAQDAyxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAABtU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXW1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAoKCQkAAAAKCgUJAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAAAKZm9yZXN0RlFEThFwYXJ0aXRpb25PYmplY3RJZAEDbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAABgoAAAALQ29udG9zby5sYWIKC5Tbau51SD2gyAVJNvwUDXwz7Idrzbg+8Sn6kjuJFW9Z + + + + + Microsoft.Exchange.Data.MultiValuedProperty`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + Microsoft.Exchange.Data.MultiValuedPropertyBase + System.Object + + + top + container + msExchContainer + msExchAuthAuthConfig + + +
2023-01-05T14:35:00+00:00
+
2021-07-29T05:20:48+00:00
+
2023-01-05T14:35:00Z
+
2021-07-29T05:20:48Z
+ + + Microsoft.Exchange.Data.Directory.OrganizationId + System.Object + + + + + + false + + + + I3NpZyN2AwAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAME1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5Pcmdhbml6YXRpb25JZAUAAAAHb3JnVW5pdApjb25maWdVbml0C3BhcnRpdGlvbklkH2V4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQjc2FmZUV4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQEBAQDAyxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAABtU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXW1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAoKCQMAAAAKCgUDAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAAAKZm9yZXN0RlFEThFwYXJ0aXRpb25PYmplY3RJZAEDbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAABgQAAAALQ29udG9zby5sYWIKC98N4Xu+tYbrakgKS3M17kfgXGZvVtIInmG3F3/J0vgW + + + + DC-1.Contoso.lab + true + + + Microsoft.Exchange.Data.ObjectState + System.Enum + System.ValueType + System.Object + + Unchanged + 1 + +
+ + e2k16-1.contoso.lab + 4e029ce4-dec4-4e71-8696-578e14f119b3 + false + I3NpZyO8NgAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAQE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLkF1dGhDb25maWcJAAAAC3Byb3BlcnR5QmFnIUFEQ29uZmlndXJhdGlvbk9iamVjdCtwcm9wZXJ0eUJhZxRBRE9iamVjdCtwcm9wZXJ0eUJhZyxBRFJhd0VudHJ5KzxNc2VydlByb3BlcnR5QmFnPmtfX0JhY2tpbmdGaWVsZCpBRFJhd0VudHJ5KzxNYnhQcm9wZXJ0eUJhZz5rX19CYWNraW5nRmllbGQWQURSYXdFbnRyeStwcm9wZXJ0eUJhZx5Db25maWd1cmFibGVPYmplY3QrcHJvcGVydHlCYWcsQ29uZmlndXJhYmxlT2JqZWN0K3NlcmlhbGl6ZXJBc3NlbWJseVZlcnNpb24mQ29uZmlndXJhYmxlT2JqZWN0K2luc3RhbnRpYXRpb25FcnJvcnMEBAQEBAQEAwMvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAADlN5c3RlbS5WZXJzaW9uqQFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlZhbGlkYXRpb25FcnJvciwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dAgAAAAkDAAAACQMAAAAJAwAAAAoKCQMAAAAJAwAAAAkEAAAACQUAAAAMBgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQMAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcGAAAAFFByb3BlcnR5QmFnK3JlYWRPbmx5G1Byb3BlcnR5QmFnK3N0b3JlVmFsdWVzT25seSdQcm9wZXJ0eUJhZyt0cmVhdFN3aXRjaGFibGVBc1ZhbHVlc09ubHklUHJvcGVydHlCYWcrc2VyaWFsaXplckFzc2VtYmx5VmVyc2lvbiNQcm9wZXJ0eUJhZytzZXJpYWxpemVkQ3VycmVudFZhbHVlcyRQcm9wZXJ0eUJhZytzZXJpYWxpemVkT3JpZ2luYWxWYWx1ZXMAAAADBAQBAQEOU3lzdGVtLlZlcnNpb24vTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyW10GAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcltdBgAAAAIAAAAAAAAJBAAAAAkIAAAACQkAAAAEBAAAAA5TeXN0ZW0uVmVyc2lvbgQAAAAGX01ham9yBl9NaW5vcgZfQnVpbGQJX1JldmlzaW9uAAAAAAgICAgPAAAAAAAAAAAAAAAAAAAABAUAAACpAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVmFsaWRhdGlvbkVycm9yLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVyc2lvbgQAAClNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5WYWxpZGF0aW9uRXJyb3JbXQYAAAAICAkKAAAAAAAAAAAAAAAHCAAAAAABAAAAEAAAAAQtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyBgAAAAX1////LU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcgIAAAADS2V5BVZhbHVlBAI2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uAgAAAAYAAAAJDAAAAAYNAAAAJDAwMDAwMDAyLTAwMDAtMGZmMS1jZTAwLTAwMDAwMDAwMDAwMAHy////9f///wkPAAAACRAAAAAB7/////X///8JEgAAAAkTAAAAAez////1////CRUAAAAJFgAAAAHp////9f///wkYAAAACRkAAAAB5v////X///8JGwAAAAYcAAAAEkF1dGggQ29uZmlndXJhdGlvbgHj////9f///wkeAAAACR8AAAAB4P////X///8JIQAAAAkiAAAAAd3////1////CSQAAAAJJQAAAAHa////9f///wknAAAABigAAAAQREMtMS5Db250b3NvLmxhYgHX////9f///wkqAAAACSsAAAAB1P////X///8JLQAAAAYuAAAAETIwMjEwNzI5MDUyMDQ4LjBaAdH////1////CTAAAAAGMQAAABEyMDIzMDEwNTE0MzUwMC4wWgHO////9f///wkzAAAACA0MGBMYKu/aSAHM////9f///wk1AAAACAEAAcr////1////CTcAAAAJOAAAAAcJAAAAAAEAAAAAAAAABC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Qcm9wZXJ0eUJhZytWYWx1ZVBhaXIGAAAABwoAAAAAAQAAAAAAAAAEJ01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlZhbGlkYXRpb25FcnJvcgYAAAAFDAAAADZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eURlZmluaXRpb24LAAAAD2xkYXBEaXNwbGF5TmFtZQ5mb3JtYXRQcm92aWRlcg5zaGFkb3dQcm9wZXJ0eRZzb2Z0TGlua1NoYWRvd1Byb3BlcnR5F21zZXJ2UHJvcGVydHlEZWZpbml0aW9uFW1ieFByb3BlcnR5RGVmaW5pdGlvbiZTaW1wbGVQcm92aWRlclByb3BlcnR5RGVmaW5pdGlvbitmbGFncxdQcm9wZXJ0eURlZmluaXRpb24rbmFtZRdQcm9wZXJ0eURlZmluaXRpb24rdHlwZRtQcm9wZXJ0eURlZmluaXRpb24rdHlwZU5hbWU5UHJvcGVydHlEZWZpbml0aW9uK3JlcXVpcmVkUHJvcGVydHlEZWZpbml0aW9uc1doZW5SZWFkaW5nAQMEBAQEAAEDAQMWU3lzdGVtLklGb3JtYXRQcm92aWRlcjZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eURlZmluaXRpb24CAAAANk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5RGVmaW5pdGlvbgIAAAA5TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk1TZXJ2UHJvcGVydHlEZWZpbml0aW9uAgAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5NYnhQcm9wZXJ0eURlZmluaXRpb24CAAAACB9TeXN0ZW0uVW5pdHlTZXJpYWxpemF0aW9uSG9sZGVyswFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JQ29sbGVjdGlvbmAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Qcm9wZXJ0eURlZmluaXRpb24sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQIAAAAGOQAAAB9tc0V4Y2hBdXRoQXBwbGljYXRpb25JZGVudGlmaWVyCgoKCgoAAAAABjoAAAALU2VydmljZU5hbWUJOwAAAAY8AAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBDwAAAAwAAAAGPQAAAB9tc0V4Y2hBdXRoQ2VydGlmaWNhdGVUaHVtYnByaW50CgoKCgoCAAAABj4AAAAYQ2VydGlmaWNhdGVUaHVtYnByaW50UmF3CTsAAAAGQAAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKBRAAAACLAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk11bHRpVmFsdWVkUHJvcGVydHlgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0MAAAAFHJlYWRPbmx5RXJyb3JNZXNzYWdlCmlzUmVhZE9ubHkRaXNDaGFuZ2VzT25seUNvcHkKd2FzQ2xlYXJlZAdjaGFuZ2VkEnByb3BlcnR5RGVmaW5pdGlvbhlzZXJpYWxpemVyQXNzZW1ibHlWZXJzaW9uGHNlcmlhbGl6ZWRQcm9wZXJ0eVZhbHVlcxVzZXJpYWxpemVkQWRkZWRWYWx1ZXMXc2VyaWFsaXplZFJlbW92ZWRWYWx1ZXMoTXVsdGlWYWx1ZWRQcm9wZXJ0eUJhc2UraXNDb21wbGV0ZWx5UmVhZDNNdWx0aVZhbHVlZFByb3BlcnR5QmFzZSs8VmFsdWVSYW5nZT5rX19CYWNraW5nRmllbGQDAAAAAAQDBQUFAASqAVN5c3RlbS5OdWxsYWJsZWAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24uTG9jYWxpemVkU3RyaW5nLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dAQEBATZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eURlZmluaXRpb24CAAAADlN5c3RlbS5WZXJzaW9uASBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5JbnRSYW5nZQYAAAAGAAAACgAAAAAJDwAAAAkEAAAACUMAAAAKCgEKARIAAAAMAAAABkQAAAALc3lzdGVtRmxhZ3MKCgoKCkAAAAAGRQAAAAtTeXN0ZW1GbGFncwlGAAAABkcAAACYAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1GbGFnc0VudW0sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgUTAAAAMU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1GbGFnc0VudW0BAAAAB3ZhbHVlX18ACAIAAAAAAABAARUAAAAMAAAABkgAAAARZGlzdGluZ3Vpc2hlZE5hbWUKCgoJSQAAAAlKAAAAEAoAAAZLAAAAAklkCUwAAAAGTQAAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgUWAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAASy////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBk8AAAALQ29udG9zby5sYWIBsP///7L////CkNOe/ebUS6fAZcprx5HXBlEAAABqQ049QXV0aCBDb25maWd1cmF0aW9uLENOPUNvbnRvc28gTGFicyxDTj1NaWNyb3NvZnQgRXhjaGFuZ2UsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoGAAAABlIAAAASQXV0aCBDb25maWd1cmF0aW9uCVMAAAABGAAAAAwAAAAGVAAAAA1tc0V4Y2hWZXJzaW9uCgoKCglVAAAAAAIAAAZWAAAAD0V4Y2hhbmdlVmVyc2lvbglXAAAABlgAAACKAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlT2JqZWN0VmVyc2lvbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFGQAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZU9iamVjdFZlcnNpb24DAAAABU1ham9yBU1pbm9yDUV4Y2hhbmdlQnVpbGQAAAQCAiVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZUJ1aWxkBgAAAAYAAAAAFAWn////JU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlQnVpbGQEAAAABU1ham9yBU1pbm9yBUJ1aWxkDUJ1aWxkUmV2aXNpb24AAAAAAgIODgYAAAAPAAAAAAABGwAAAAwAAAAGWgAAAARuYW1lCgoKCVsAAAAJXAAAAAACAAAGXQAAAAdSYXdOYW1lCTsAAAAGXwAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAR4AAAAMAAAABmAAAAAOb2JqZWN0Q2F0ZWdvcnkKCgoKCWEAAABACAAABmIAAAAOT2JqZWN0Q2F0ZWdvcnkJTAAAAAZkAAAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAR8AAAAWAAAAAZv///+y////cS/OWaLq302k+vJQadCzJAZmAAAAC0NvbnRvc28ubGFiAZn///+y////mG8SRaIE3EKfqX4VvuV36AZoAAAASENOPW1zLUV4Y2gtQXV0aC1BdXRoLUNvbmZpZyxDTj1TY2hlbWEsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoEAAAABmkAAAA5Q29udG9zby5sYWIvQ29uZmlndXJhdGlvbi9TY2hlbWEvbXMtRXhjaC1BdXRoLUF1dGgtQ29uZmlnCVMAAAABIQAAAAwAAAAGawAAAAtvYmplY3RDbGFzcwoKCgoJbAAAAAMAAAAGbQAAAAtPYmplY3RDbGFzcwk7AAAABm8AAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgxwAAAAZU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1ASIAAAAQAAAABY////8uTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQ29tbW9uLkxvY2FsaXplZFN0cmluZwgAAAAHaW5zZXJ0cwhiYXNlTmFtZQxhc3NlbWJseU5hbWUCaWQIc3RyaW5nSWQXc2hvd1N0cmluZ0lkSW5VSUlmRXJyb3Idc2hvd0Fzc2lzdGFuY2VJbmZvSW5VSUlmRXJyb3IIZmFsbGJhY2sFAQEBAQAAAQEBcAAAAAlyAAAABnMAAAAjTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGF0YVN0cmluZ3MGdAAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BnUAAAAaRXJyb3JSZWFkT25seUNhdXNlUHJvcGVydHkGdgAAAAhFeDVDQjY1MAABBncAAAA2VGhlIHByb3BlcnR5ICd7MH0nIGlzIHJlYWQtb25seSBhbmQgY2FuJ3QgYmUgbW9kaWZpZWQuAQAAAAkhAAAACQQAAAAJegAAAAoKAQoBJAAAAAwAAAAKCgoKCgoAAQAABnsAAAALT2JqZWN0U3RhdGUJfAAAAAZ9AAAAgAFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5PYmplY3RTdGF0ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFJQAAACNNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5PYmplY3RTdGF0ZQEAAAAHdmFsdWVfXwAIBgAAAAEAAAABJwAAAAwAAAAKCgoKCgoAAQAABn4AAAART3JpZ2luYXRpbmdTZXJ2ZXIJOwAAAAaAAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBKgAAAAwAAAAGgQAAAA1jYW5vbmljYWxOYW1lCgoKCgmCAAAAAwAAAAaDAAAAEFJhd0Nhbm9uaWNhbE5hbWUJOwAAAAaFAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBKwAAABAAAAABev///4////8JhwAAAAlzAAAABokAAABbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQl1AAAACXYAAAAAAQl3AAAAAQAAAAkqAAAACQQAAAAJjwAAAAoKAQoBLQAAAAwAAAAGkAAAAAt3aGVuQ3JlYXRlZAoKCgoJkQAAAAEAAAAGkgAAAA5XaGVuQ3JlYXRlZFJhdwk7AAAABpQAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgEwAAAADAAAAAaVAAAAC3doZW5DaGFuZ2VkCgoKCgmWAAAAAQAAAAaXAAAADldoZW5DaGFuZ2VkUmF3CTsAAAAGmQAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKATMAAAAMAAAACgoKCgoKAAEAAAaaAAAAC1doZW5SZWFkVVRDCZsAAAAGnAAAAL4BU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5EYXRlVGltZSwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBNQAAAAwAAAAKCgoKCgoAAQAABp0AAAAISXNDYWNoZWQJngAAAAafAAAAW1N5c3RlbS5Cb29sZWFuLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKATcAAAAMAAAACgoKCgoKAAEAAAagAAAAFERpcmVjdG9yeUJhY2tlbmRUeXBlCaEAAAAGogAAAJ0BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkRpcmVjdG9yeUJhY2tlbmRUeXBlLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFOAAAADZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuRGlyZWN0b3J5QmFja2VuZFR5cGUBAAAAB3ZhbHVlX18AAgIAAAABBDsAAAAfU3lzdGVtLlVuaXR5U2VyaWFsaXphdGlvbkhvbGRlcgMAAAAERGF0YQlVbml0eVR5cGUMQXNzZW1ibHlOYW1lAQABCAajAAAADVN5c3RlbS5TdHJpbmcEAAAABqQAAABLbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5EEMAAAABAAAABqUAAAAqMDpCMjJCRDczOEJFRDEzMTM2RDI5QjdGNDEwQ0UyOTkzQzUzMTNGOEZBAUYAAAA7AAAABqYAAAAxTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlN5c3RlbUZsYWdzRW51bQQAAAAGpwAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQVJAAAAOU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5NU2VydlByb3BlcnR5RGVmaW5pdGlvbgUAAAAmU2ltcGxlUHJvdmlkZXJQcm9wZXJ0eURlZmluaXRpb24rZmxhZ3MXUHJvcGVydHlEZWZpbml0aW9uK25hbWUXUHJvcGVydHlEZWZpbml0aW9uK3R5cGUbUHJvcGVydHlEZWZpbml0aW9uK3R5cGVOYW1lOVByb3BlcnR5RGVmaW5pdGlvbityZXF1aXJlZFByb3BlcnR5RGVmaW5pdGlvbnNXaGVuUmVhZGluZwABAwEDCB9TeXN0ZW0uVW5pdHlTZXJpYWxpemF0aW9uSG9sZGVyswFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JQ29sbGVjdGlvbmAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Qcm9wZXJ0eURlZmluaXRpb24sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQIAAAAEAAAACUsAAAAJTAAAAAaqAAAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKDKsAAABkTWljcm9zb2Z0LkV4Y2hhbmdlLlN0b3JlUHJvdmlkZXIsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQVKAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk1ieFByb3BlcnR5RGVmaW5pdGlvbgcAAAAYPFByb3BUYWc+a19fQmFja2luZ0ZpZWxkGTxNYnhGbGFncz5rX19CYWNraW5nRmllbGQmU2ltcGxlUHJvdmlkZXJQcm9wZXJ0eURlZmluaXRpb24rZmxhZ3MXUHJvcGVydHlEZWZpbml0aW9uK25hbWUXUHJvcGVydHlEZWZpbml0aW9uK3R5cGUbUHJvcGVydHlEZWZpbml0aW9uK3R5cGVOYW1lOVByb3BlcnR5RGVmaW5pdGlvbityZXF1aXJlZFByb3BlcnR5RGVmaW5pdGlvbnNXaGVuUmVhZGluZwQEAAEDAQMWTWljcm9zb2Z0Lk1hcGkuUHJvcFRhZ6sAAAA8TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk1ieFByb3BlcnR5RGVmaW5pdGlvbkZsYWdzAgAAAAgfU3lzdGVtLlVuaXR5U2VyaWFsaXphdGlvbkhvbGRlcrMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSUNvbGxlY3Rpb25gMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlEZWZpbml0aW9uLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0CAAAABVT///8WTWljcm9zb2Z0Lk1hcGkuUHJvcFRhZwEAAAAHdmFsdWVfXwAPqwAAAAEAAAAFU////zxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuTWJ4UHJvcGVydHlEZWZpbml0aW9uRmxhZ3MBAAAAB3ZhbHVlX18ACQIAAAABAAAAAAAAAAQAAAAJSwAAAAlMAAAABrAAAACTAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBTAAAADsAAAAGsQAAACxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAQAAAAJpwAAAAVTAAAAME1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5Pcmdhbml6YXRpb25JZAUAAAAHb3JnVW5pdApjb25maWdVbml0C3BhcnRpdGlvbklkH2V4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQjc2FmZUV4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQEBAQDAyxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAABtU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXW1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAoKCbMAAAAKCgFVAAAASgAAAAFM////VP///wEAAAABS////1P///8BAAAAAAAAAAQAAAAJVgAAAAlXAAAABrgAAACKAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlT2JqZWN0VmVyc2lvbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBVwAAADsAAAAGuQAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZU9iamVjdFZlcnNpb24EAAAABroAAABbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQFbAAAASQAAAAUAAAAJXQAAAAk7AAAABr0AAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgFcAAAASgAAAAFC////VP///x8AqzEBQf///1P///8BAAAAAAAAAAAAAAAJXQAAAAk7AAAABsIAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgFhAAAASgAAAAE9////VP///wEAAAABPP///1P///8BAAAAAAAAAAQAAAAJYgAAAAlMAAAABscAAACTAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBbAAAAEoAAAABOP///1T///8fEIwxATf///9T////AQAAAAAAAAACAAAACW0AAAAJOwAAAAbMAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoQcgAAAAEAAAAGzQAAAAtPYmplY3RDbGFzcxB6AAAABAAAAAbOAAAAA3RvcAbPAAAACWNvbnRhaW5lcgbQAAAAD21zRXhjaENvbnRhaW5lcgbRAAAAFG1zRXhjaEF1dGhBdXRoQ29uZmlnAXwAAAA7AAAABtIAAAAjTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuT2JqZWN0U3RhdGUEAAAACboAAAABggAAAEoAAAABLP///1T///8fEKcxASv///9T////AQAAAAAAAAACAAAACYMAAAAJOwAAAAbYAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoQhwAAAAEAAAAG2QAAABBSYXdDYW5vbmljYWxOYW1lEI8AAAABAAAABtoAAABVQ29udG9zby5sYWIvQ29uZmlndXJhdGlvbi9TZXJ2aWNlcy9NaWNyb3NvZnQgRXhjaGFuZ2UvQ29udG9zbyBMYWJzL0F1dGggQ29uZmlndXJhdGlvbgGRAAAASgAAAAEl////VP///x8ABDIBJP///1P///8BAAAAAAAAAAAAAAAJkgAAAAk7AAAABt8AAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGWAAAASgAAAAEg////VP///x8AAzIBH////1P///8BAAAAAAAAAAAAAAAJlwAAAAk7AAAABuQAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGbAAAAOwAAAAblAAAAcVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uRGF0ZVRpbWUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBAAAAAmkAAAAAZ4AAAA7AAAABucAAAAOU3lzdGVtLkJvb2xlYW4EAAAACaQAAAABoQAAADsAAAAG6QAAADZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuRGlyZWN0b3J5QmFja2VuZFR5cGUEAAAACacAAAAFswAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAACmZvcmVzdEZRRE4RcGFydGl0aW9uT2JqZWN0SWQBA21TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAbrAAAAC0NvbnRvc28ubGFiCgsAZ7LN/kQU2dOJX3F5Iym8JwUP7YuHdIOO2Ip6roVoCw== + +
+
\ No newline at end of file diff --git a/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Data/GetExchangeCertificate.xml b/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Data/GetExchangeCertificate.xml new file mode 100644 index 0000000000..939011c41b --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Data/GetExchangeCertificate.xml @@ -0,0 +1,111 @@ + + + + Microsoft.Exchange.Management.SystemConfigurationTasks.ExchangeCertificate + System.Security.Cryptography.X509Certificates.X509Certificate2 + System.Security.Cryptography.X509Certificates.X509Certificate + System.Object + + [Subject]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 1D9E0ED24826A397480CB16669F1B57D_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 01/05/2023 09:04:48_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 01/05/2028 09:04:48_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ D0D6BAA255F51F106760CE3BB869A0FE8C9FC298_x000D__x000A_ + + MIIDKTCCAhGgAwIBAgIQHZ4O0kgmo5dIDLFmafG1fTANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwHhcNMjMwMTA1MDkwNDQ4WhcNMjgwMTA1MDkwNDQ4WjA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDE6V6D59ZOY5M1z3A6MosUxTnlzo8vtiHXVcOnwOGx5PJpfnHdTqiPeFqqxleOOGo+7yix8JcWXz9odKEmcNEnxtWsU0ztOH6nqorro4ij7PJZDlY+LJybeuk09MG/2uWjlyvFpjVNxPm0pQ0933Yu+j7r+l3b0OiQn0u5s4467phgA4Pwz3nmZYoVhG0TXCPJYA2Cvq2kGqZLEvayy+4Z0aGLg0gysF6+YD7OvqWqL5eYXBF06Au/NOf3QElAsiB8y3X6nnBoWadKNPyFD9oL+mWjSMwHRDstcKE554g9zE2ayupBmKcjVMg1zs4DRmcDno1O1BkwaZGTVdq/RMrBAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQCxbx+8jFxE7xedIWEF7Kgzj75SsKBzqwsaRgMT54GuWtGrJPMHBG3YUfL8W2X5KTgb7m6foZSwsGKxc6LJuxxnBcNtBJe1lhFyrEYp9q+BuDR2toRP9s7K9pp9Rc/T/CMfVKuvzcOSFBQ03c5ZepOwk5DAa2UAAlSm9UKDbcJuWf122ZNH9QhnT3HIJzC59Z6+QNi87ongXWRXhRRW5NRVdqcXasaqkmtrNSJfbjJ5JR8zRpr9ZKCfPYlKT4uKkCLCNuswCrmsJWZ02BYbVnuWQFhkvgMfU57PxG5/yjqw4F/Ec7Dm9miCanZFwxCkSwtIwWevtG+107lqe+BiqLSf + + + e2k16-1.contoso.lab + 7b6050c3-dac9-42ab-a0dc-c7f0b409c6bf + false + AAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZp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 + + + + + [Subject]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 2855160A40C43F9C4DFA94EFF383649C_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 01/04/2023 15:36:25_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 01/04/2028 15:36:25_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ 8763DA1842AFE901BD0B4090EA2A945AD016CB55_x000D__x000A_ + + MIIDKTCCAhGgAwIBAgIQKFUWCkDEP5xN+pTv84NknDANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwHhcNMjMwMTA0MTUzNjI1WhcNMjgwMTA0MTUzNjI1WjA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwj6aVvb9R50s4CPMHXpH12XMsLfKu901APgwjK52pHJ5TGbli7soUuQ9okiBbnWQCAHhymyORFxq56UeLdp3td5TcdrzHYtVCIY4FgyC7Cb1ybIcYSHhqD8EMK4gh7nGyvIOiPgEwvDWvjuD3Q92MHIvhmR4Qm9Vs1+pRuZqPC+PPKPL1P9jlg3ynKbFVk84CDi1LoE5jq+qyi6RNK/BssYrVzCn/1Jz7+crNdLCoCiMOXVWyKHxHEruTEH+5IrpBVBvaUmSbxoP8AzI/R2363Mrp5JJ3Cz3EOcSIHLpppcuUKsgQtnb65HI2XqE38H2Ob/9FwJPvZbm+WI9Mhf2hAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAHXscb5wRfYgpQRsZz1klU68wkWnom1lkLYpL0JjqBWAqCFNH+z1J7naf+026VzmmtmrebnS7vZxuhRj42PgmsAV3UpHW8Qjg8KUPUmKxt5u0e9oSV/4pcy5TM8nJmzpaQDw6B7uGUo90NVG1J97faud+B9cq9rj6zAHBYyrqaHOy2mNAhLtvfRzxOq0TGnG0m9dAeZru6YutYEZc2kJjHGrFmEjaJtOh/8cD+rdaU8Upr2vFvgru3mHcvlfeGCHbQBilHBgYQE8GiT/J/Qz/NCVm34EFl3MFLgrRPrfj6ZIid7A3LsJwzi1hkMjQ9UVgreVoa0L05oiIAEL/niPp3 + + + e2k16-1.contoso.lab + 7b6050c3-dac9-42ab-a0dc-c7f0b409c6bf + false + AAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZp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 + + + + + [Subject]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 448899ABC500C6AB41297497850D44A2_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 01/04/2023 14:15:54_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 01/04/2028 14:15:54_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ BC6BF924D6EF046E64F8D1987DC1D7D2F4C0042A_x000D__x000A_ + + MIIDKTCCAhGgAwIBAgIQRIiZq8UAxqtBKXSXhQ1EojANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwHhcNMjMwMTA0MTQxNTU0WhcNMjgwMTA0MTQxNTU0WjA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJNrnPVHde/ZUYJXlJ+uczX72i82AVDymeiZi395mut02srCW5vPLDMfjpdJwa07wj+DJflg6RBXDhQsR85tcUbWQ+62yoQ5FQkm1WtlWcBw67f2hM9xVkJINSAe8YyELEjJ7qrkAAVOrv1PEb/fvjUFYd52apX5NSfR3UHnxhlv8/NV470lKtUNa+MTN3O3V9XKTFYKTiws+HKeSgQSRbgk8/Tgx6WaM529h5wqZ4o8nWvHyCHMFvKy4NB/FGcOMzocSjYrGNowT0W/aBitB6EuzDqoJdLUv+yZxp8vcQCAeiIOkCWH3czatu8ZM5coSgTofri6sT9v3opm27ppx/AgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQCQQ62rb4AAHvx6BGxp8jjbir0ET0HYIJOFXCs6his/N8e6ZJuC1/9A32SNpU/JVNDpS5Q+IdqMdAYxcYUYBU4+sO0lbHE4vNwq69ja7iZ4WlNGTO3uvQgtgAG3y6peI2L7d5SINJPUTsFdh1ccnFYCncgOEYbIiV5VQwyyqRPr4HyMyfsRhlm/AtZIAOFlP/yulNvB+AtsuyfnZkhGTPVkhwJE+S17bCMGKBpY+qwr6txxZ1h+zaZv+IKXfbxphQmuMku318pfGeCaDzYABSd1vGUqgAUPDifSCRSqyI0yhLGgg6sZQpqjImgaKM2jiAEycwcDDl8JQ2kLOiE1oHR5 + + + e2k16-1.contoso.lab + 7b6050c3-dac9-42ab-a0dc-c7f0b409c6bf + false + AAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZp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 + + + + + [Subject]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 41C6EF584F617880425978E71032A7BA_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 01/03/2023 09:18:12_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 01/03/2028 09:18:12_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ 976D2AD94D34347C2F59399D5DDC62D4FBE6F68C_x000D__x000A_ + + MIIDKTCCAhGgAwIBAgIQQcbvWE9heIBCWXjnEDKnujANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwHhcNMjMwMTAzMDkxODEyWhcNMjgwMTAzMDkxODEyWjA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCbDfyFzq5agswcmDk3aEEGHjsgUgubmzFNy6g5lo4qUS8VlTJFWbXnJzNoeWIZFmGzCFLV2971YkP3HMXfnpbYJy7pp/PCbo1g5jQ3klAXf7FOM6o/cmaLreJI+lc7BiFj2H6mNT0vwjIH61fa4oPYE9AFyQANj3jAYos8etp0oPuMYB1Df/+zrE2TFIzucRHvoyaX5b7ICscZUtL33/gtJzqabvW7uKnT6ecfw+UkHlzl4cjcdqWuj5A7hw5TPNmxKaTmIUqBbhidVYBdjkA5+yA8waBnQlseb9/Q8NOCm3u50Nq10GQJxvLBP8hwWJdfYItkZwEaUZJa41oFR3BRAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQB4Lw6YTXz82eYFEHSZS/uR87MblSBKI1BYArIesQNpGlAZ6gDHft+KSUxkxxiR6PAHo/2EjgwLl24MZcaX9TmbN9gQGVry2NjHwywJvlns50oE4WK2Cg8CC05EMfGmjdewLbFUTp4L6scb9wlZORFkssiZ1oL8CbCcoa2c6GUk7ahRm4cS8p32Ke27yuOkWqHd6RSIzLYYQBmYU+gm+fEwfO4jpVhILP7mX65N2973kExR/s7fNmamWNbYYADV1R/LDPoI+1tRLwCO4l3hG9vEhdeLZGAXO/9lBpK3wB2KZSpv9znUUBy5Q50rwvCI82hlw9ca3MGkwxgcPYSiA6sf + + + e2k16-1.contoso.lab + 7b6050c3-dac9-42ab-a0dc-c7f0b409c6bf + false + AAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZp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 + + + + + [Subject]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=Microsoft Exchange Server Auth Certificate_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 5A384D3A84FCD19F4926684747BAD093_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 12/30/2022 16:55:13_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 12/30/2027 16:55:13_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ E1BDF9AE58C93C75E76C9DD882138FB8FF0FA786_x000D__x000A_ + + MIIDKTCCAhGgAwIBAgIQWjhNOoT80Z9JJmhHR7rQkzANBgkqhkiG9w0BAQsFADA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwHhcNMjIxMjMwMTY1NTEzWhcNMjcxMjMwMTY1NTEzWjA1MTMwMQYDVQQDEypNaWNyb3NvZnQgRXhjaGFuZ2UgU2VydmVyIEF1dGggQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuaovJR+bviko2GwaKeA8E4PRRBtRRuRJDkcdLhP3HAL1Fn1AR8VaFhDvLl0VjSVPZFbLuYNe9m+V32vDKruGz95abQ14hoMSJWsccaxVcgo0RPkaALo0Iwjd4Xv4uiUNn5n5TphQiXLJl2rCRCm4frImUEiw3+0+PjXElbO4LHpBjfXLXTSLH0GED8mRF0HhkZREEIDtfdbc8/B9ELbWSIw+Se7fMDtoSFmD5RWWA5fFdrJKRJ+Ya2vbvQmmmnOJa9DIB2DYVzdL67G4spdsHObcf0upKjw66e8iVnR/D25OslQW5qVlEHsDvLFi9RZHpO+NMb6nJPwSMS4isQkPBAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQBRdsD06RnsjFBItzh1dYkTc4XRo44IpspZpNcGMjlaKowFOlqR+ei/yhPyAeeTEJZZLCD/e6m8VzVDaVCjYNyW6HfDEsIK6iXWw9/4ecqgctwUbne/car1vl0mrC9iW7GryU6NZh5FpiCHyvGILxdOncwMECh7a/iAoYpP5+05JENI8MxmhTjdfsItZZKGftl+8wudiYWDwZfpe0tmKwbSiMZOeYEKmnqpykY04dAHbCaSc80p1F/O7ly3AmqkBYLrOg1sjZGvodMKAetnLleW0CT/7HK14RQwHR3XTYaI59z3j67blwfONv0LC7lRFn5h1ODJ73XqQBxa1CavU3zI + + + e2k16-1.contoso.lab + 7b6050c3-dac9-42ab-a0dc-c7f0b409c6bf + false + AAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZp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 + + + + + [Subject]_x000D__x000A_ CN=E2k16-1_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=E2k16-1_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 69FC45493FF2248140DD9D53B4D92957_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 12/30/2022 14:39:08_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 12/30/2027 14:39:08_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ D003810EBE1624145889D031FBB77ED2BD280FD3_x000D__x000A_ + + MIIDDDCCAfSgAwIBAgIQafxFST/yJIFA3Z1TtNkpVzANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDEwdFMmsxNi0xMB4XDTIyMTIzMDE0MzkwOFoXDTI3MTIzMDE0MzkwOFowEjEQMA4GA1UEAxMHRTJrMTYtMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL329TDnYHScVTPyXPRE+xM92V1tDJVOc/QyB9j/cMrMH905PIfHqecgVSGKhZpS5LCJ666fOZYj4Q/qctIqCK1kemQWJzOyCfD+eTsybFpy8ePaXX6J8ap5iUxj4OBQpEI9tlLxwPxrgXBZC8Alm9ikierdK7os1AysFnJX1TaoIJElyYPfTiY44HL27q33x4+EIo3FHNn2t5A2zc3KQsa8hYQ2LBnO52tBlHOzngd3VLJoKtDajWRinHF1LlBNwAmjJWeVfWcE7q4nngs+5NIUr6rNTx9EUql0ikukr3tHgnHVXDUKNK9f5chSoaycRpMkhOFHNjqcp71SIhe09bUCAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgWgMCcGA1UdEQQgMB6CB0UyazE2LTGCE0UyazE2LTEuQ29udG9zby5sYWIwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAQEAqYpdfs2fN+lHCxB3Ems0vU2AzBic/2CjStSfuPxKXeTjKnikgAhBv/GHNqQ6dphaLLktAfzONQr4NE9iWTn/i46PXDiimEWSllTP3aBMeWcnjezQsGROxq+OWAcWhhc6maXh85VoZwrhG3Nwc6lxqdi0X9c26GLlq+vBzIK3b2wWz+dtdyPui6CadQFXBKuSYdgGsQlmeHpi17mRfTmrVH8RNyOm8Y3TuCij7FDKp8c3PGk9H9giYrYCnSJ2b1KO+LOoGXhDzJ5POas/gy5qe1SPizAwbdWmT21y6JVFbT8kfm5PqBEVggYwCfhMZkjWaOKHHuDzC5E59jxH+j2g4A== + + + e2k16-1.contoso.lab + 7b6050c3-dac9-42ab-a0dc-c7f0b409c6bf + false + AAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZUF1dGhvcml0eVR5cGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfr///9GTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwEAAAAHdmFsdWVfXwAIAgAAABkAAAAJBwAAAAEGCAAAADxFMmsxNi0xLkNvbnRvc28ubGFiXEQwMDM4MTBFQkUxNjI0MTQ1ODg5RDAzMUZCQjc3RUQyQkQyODBGRDMPAwAAAIYEAAACWQAAAAEAAAAWAAAAUgBTAEEALwBTAEgAQQAyADUANgAAABkAAAABAAAAEAAAAIl+1UrIu4OReAGakdQbz/EEAAAAAQAAABAAAAD11nyUzfvUgaJUPpMmrN4nAwAAAAEAAAAUAAAA0AOBDr4WJBRYidAx+7d+0r0oD9MCAAAAAQAAAGwAAAAcAAAAAAAAAAwAAAAgAAAAAAAAAAAAAAABAAAAOAA0ADMAMwBmAGQAOQAzAC0AOABjADYAOAAtADQANwA2AGMALQA4AGMANwBiAC0AYwAyADAAYwBmADgAMQA3ADYAMgA3AGQAAAAAAAAAAAAUAAAAAQAAABQAAADI7WiokCypwPT5bWiEZknQ6fG44gsAAAABAAAAEAAAAEUAMgBrADEANgAtADEAAAAPAAAAAQAAACAAAABlzrklSK3uCY9HQ6VahG6MEulF6c4R+1dAucyOL7vHVFwAAAABAAAABAAAAAAIAAAgAAAAAQAAABADAAAwggMMMIIB9KADAgECAhBp/EVJP/IkgUDdnVO02SlXMA0GCSqGSIb3DQEBCwUAMBIxEDAOBgNVBAMTB0UyazE2LTEwHhcNMjIxMjMwMTQzOTA4WhcNMjcxMjMwMTQzOTA4WjASMRAwDgYDVQQDEwdFMmsxNi0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvfb1MOdgdJxVM/Jc9ET7Ez3ZXW0MlU5z9DIH2P9wyswf3Tk8h8ep5yBVIYqFmlLksInrrp85liPhD+py0ioIrWR6ZBYnM7IJ8P55OzJsWnLx49pdfonxqnmJTGPg4FCkQj22UvHA/GuBcFkLwCWb2KSJ6t0ruizUDKwWclfVNqggkSXJg99OJjjgcvburffHj4QijcUc2fa3kDbNzcpCxryFhDYsGc7na0GUc7OeB3dUsmgq0NqNZGKccXUuUE3ACaMlZ5V9ZwTurieeCz7k0hSvqs1PH0RSqXSKS6Sve0eCcdVcNQo0r1/lyFKhrJxGkySE4Uc2OpynvVIiF7T1tQIDAQABo14wXDAOBgNVHQ8BAf8EBAMCBaAwJwYDVR0RBCAwHoIHRTJrMTYtMYITRTJrMTYtMS5Db250b3NvLmxhYjATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQCpil1+zZ836UcLEHcSazS9TYDMGJz/YKNK1J+4/Epd5OMqeKSACEG/8Yc2pDp2mFosuS0B/M41Cvg0T2JZOf+Ljo9cOKKYRZKWVM/doEx5ZyeN7NCwZE7Gr45YBxaGFzqZpeHzlWhnCuEbc3BzqXGp2LRf1zboYuWr68HMgrdvbBbP5213I+6LoJp1AVcEq5Jh2AaxCWZ4emLXuZF9OatUfxE3I6bxjdO4KKPsUMqnxzc8aT0f2CJitgKdInZvUo74s6gZeEPMnk85qz+DLmp7VI+LMDBt1aZPbXLolUVtPyR+bk+oERWCBjAJ+ExmSNZo4oce4PMLkTn2PEf6PaDgBAcAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBAAAQ01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5JaXNTZXJ2aWNlW10CAAAACAgJCQAAAAEAAAABAAAABwkAAAAAAQAAAAQAAAAEQU1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5JaXNTZXJ2aWNlAgAAAAkKAAAADQMMCwAAAElTeXN0ZW0sIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQoAAABBTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UFAAAAC3NlcnZpY2VOYW1lC2ludGVybmFsVXJsEGludGVybmFsVXJsVmFsaWQLZXh0ZXJuYWxVcmwQZXh0ZXJuYWxVcmxWYWxpZAEEBAQEClN5c3RlbS5VcmkLAAAARE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5VcmxWYWxpZGF0aW9uAgAAAApTeXN0ZW0uVXJpCwAAAERNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudC5TeXN0ZW1Db25maWd1cmF0aW9uVGFza3MuVXJsVmFsaWRhdGlvbgIAAAACAAAABgwAAAAVSUlTOi8vRTJrMTYtMS9XM1NWQy8yCgXz////RE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5VcmxWYWxpZGF0aW9uAQAAAAd2YWx1ZV9fAAgCAAAAAAAAAAoB8v////P///8AAAAACw== + + + + + [Subject]_x000D__x000A_ CN=mail.contoso.lab_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=mail.contoso.lab_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 114127F15159879440EC068324801D00_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 09/05/2022 14:41:02_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 09/05/2027 14:41:02_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ 2759456DC53C76E3DED093B567B6D8DAA42C0ADD_x000D__x000A_ + + MIIDWDCCAkCgAwIBAgIQEUEn8VFZh5RA7AaDJIAdADANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBtYWlsLmNvbnRvc28ubGFiMB4XDTIyMDkwNTE0NDEwMloXDTI3MDkwNTE0NDEwMlowGzEZMBcGA1UEAxMQbWFpbC5jb250b3NvLmxhYjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALQfyACywzz9w+oF18+J3N4R177FIUdzQldYStcIYdM2fPFzwn9FcgojJmMNKBEk17/EFw2BC8ad0k/OrG7lqrAWulodJHuAL4bvErUm/26TZan0f/BnYiQTXg9XutydabdH1MDnSbTWqKeQiamV4zBfo3CrVJz8ZhomjdGmSXWIZF++JJrB7EJAV9qfKcd4qyRU3fMS3kyzFWlrTo/lzm24oNAx36v9XKVkYJZg1UCDLwfnqAVcevAoKmHuBXkesUCWEj2sbMHw1YA6gxrSwf0aQ+hYPoZJRtoGvjX8LJNpNQq94JgFN+0RRteLXx7U5a3Q6yq4Vq6Ue9q6etXQjIkCAwEAAaOBlzCBlDAOBgNVHQ8BAf8EBAMCBaAwXwYDVR0RBFgwVoIQbWFpbC5jb250b3NvLmxhYoIYYXV0b2Rpc2NvdmVyLmNvbnRvc28ubGFighNlMmsxNi0xLmNvbnRvc28ubGFighNlMmsxNi0yLmNvbnRvc28ubGFiMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggEBAAXEUjkOVY0FQmZIrwhL5OVvoyap02EY/e9YMG7hNm3b52sbpo81WGTfO8z++6z6dTgLbxyT3MjMiS68kTWJqu3g+IWtaKj1JmoNva8uMs6PD1sBeS4YQ5NUH1RRmU85WCv63YoSbGNnBAKuMLTClEakAZ/KZROumvVkU6Tzo+PXzgbXMeD443iEG/zfkbzEdFfNmKs7IrgfjzUaghc4wvqYwGOEYKyUGdvLYnIeZh6opoW3D5fSLLjUJGCUeLiOoFBJFjaTpFP4jIcMBh4yhPZd+peG+OcCDheermSJheDE3DSBW6tLw6oR1pRYM6UHsp3g7ZaPU8lVYLtpmqo14Cw= + + + e2k16-1.contoso.lab + 7b6050c3-dac9-42ab-a0dc-c7f0b409c6bf + false + AAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZp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MzVdXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBAAAQ01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5JaXNTZXJ2aWNlW10CAAAACAgJCQAAAAEAAAABAAAABwkAAAAAAQAAAAQAAAAEQU1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5JaXNTZXJ2aWNlAgAAAAkKAAAADQMMCwAAAElTeXN0ZW0sIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQoAAABBTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UFAAAAC3NlcnZpY2VOYW1lC2ludGVybmFsVXJsEGludGVybmFsVXJsVmFsaWQLZXh0ZXJuYWxVcmwQZXh0ZXJuYWxVcmxWYWxpZAEEBAQEClN5c3RlbS5VcmkLAAAARE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5VcmxWYWxpZGF0aW9uAgAAAApTeXN0ZW0uVXJpCwAAAERNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudC5TeXN0ZW1Db25maWd1cmF0aW9uVGFza3MuVXJsVmFsaWRhdGlvbgIAAAACAAAABgwAAAAVSUlTOi8vRTJrMTYtMS9XM1NWQy8xCgXz////RE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5VcmxWYWxpZGF0aW9uAQAAAAd2YWx1ZV9fAAgCAAAAAAAAAAoB8v////P///8AAAAACw== + + + + + [Subject]_x000D__x000A_ CN=WMSvc-SHA2-E2k16-1_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=WMSvc-SHA2-E2k16-1_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 306B900B4592B6A045E4B124A889E26D_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 07/29/2021 05:24:40_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 07/27/2031 05:24:40_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ FE0FAE9305F294F49DD2426AB214CC17853A7E87_x000D__x000A_ + + MIIC6zCCAdOgAwIBAgIQMGuQC0WStqBF5LEkqInibTANBgkqhkiG9w0BAQsFADAdMRswGQYDVQQDExJXTVN2Yy1TSEEyLUUyazE2LTEwHhcNMjEwNzI5MDUyNDQwWhcNMzEwNzI3MDUyNDQwWjAdMRswGQYDVQQDExJXTVN2Yy1TSEEyLUUyazE2LTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCaVSPBdBAte0hnZkzhSYdeo+3kkfWv+uQyIWdFgkXwjpA0clolCszHvCYbboYmcWNrde69Uk7jJPG0i/v30y76iOR8YDm/9DVuurlQgEqF2XMGCgfokYEMd0DhFhq/Zd4uzh5hQPwT593mSqOxRyFgypzOSOrtCFPfP3e+kTxqnOm7rtaURvoLElzyPX1atq2bV2kKszFYGdzFacjuZdYNHFVHu2X8MuhFplletWxBPkuv0oI+hWsFhhgsGfHCN5EbvjBIc9Hd8F/TNpaH/ZmvIOUeh80vQaR24JtzJuiNshL1M7kIxxfmPzhs3ES/GBaK4oCYA/HdE+n/FCay4gu9AgMBAAGjJzAlMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA4GA1UdDwQHAwUAsAAAADANBgkqhkiG9w0BAQsFAAOCAQEAIDIzyvH4p5BXwHy/uaQpvM2ACCd/iz5fwpSCc5AZV9cG2skBDYM7Xd6Ta3sfkedfLyNs79vSHVjv/5gav9M+MbUwPx2rz3kT/dM4WbF0CIqT3QN+n2WMiMCcvo3p0FhFwyGFqIcE/QsQnANPrxnj948/PHgrpImd2HZMTav7qg3MdW9sBZlQO39IFcy545NHKTQtCq9GmpF60FnziYp28CcSxf8wTC90gwXGPIRP2gfdrelimFeeP+7vffnxx8a30mX0NYCXF7QEFJNPObefpr0633MSJXYi7tgLuv/VpLlf+xfshxytmxTr66fzQTRoLrUj9M649hpghrL9WMJxEg== + + + e2k16-1.contoso.lab + 7b6050c3-dac9-42ab-a0dc-c7f0b409c6bf + false + AAEAAAD/////AQAAAAAAAAAMAgAAAGFNaWNyb3NvZnQuRXhjaGFuZ2UuTWFuYWdlbWVudCwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAABKTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkV4Y2hhbmdlQ2VydGlmaWNhdGUIAAAACENlcnREYXRhClNlbGZTaWduZWQGU3RhdHVzClJvb3RDQVR5cGUIU2VydmljZXMLSUlTU2VydmljZXMUUHJpdmF0ZUtleUV4cG9ydGFibGUISWRlbnRpdHkHAAQEBAMAAQIBSE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZpZ3VyYXRpb25UYXNrcy5DZXJ0aWZpY2F0ZVN0YXR1cwIAAABPTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlQXV0aG9yaXR5VHlwZQIAAABGTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkFsbG93ZWRTZXJ2aWNlcwIAAADJAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLklpc1NlcnZpY2UsIE1pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQECAAAACQMAAAABBfz///9ITWljcm9zb2Z0LkV4Y2hhbmdlLk1hbmFnZW1lbnQuU3lzdGVtQ29uZmlndXJhdGlvblRhc2tzLkNlcnRpZmljYXRlU3RhdHVzAQAAAAd2YWx1ZV9fAAgCAAAAAQAAAAX7////T01pY3Jvc29mdC5FeGNoYW5nZS5NYW5hZ2VtZW50LlN5c3RlbUNvbmZp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 + + + \ No newline at end of file diff --git a/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Data/GetExchangeCertificateBroken.xml b/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Data/GetExchangeCertificateBroken.xml new file mode 100644 index 0000000000..468ac25672 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Data/GetExchangeCertificateBroken.xml @@ -0,0 +1,67 @@ + + + + Deserialized.Microsoft.Exchange.Management.SystemConfigurationTasks.ExchangeCertificate + Deserialized.System.Security.Cryptography.X509Certificates.X509Certificate2 + Deserialized.System.Security.Cryptography.X509Certificates.X509Certificate + Deserialized.System.Object + + [Subject]_x000D__x000A_ DC=Windows Azure CRP Certificate Generator_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ DC=Windows Azure CRP Certificate Generator_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 530CBB574B5E8BBA47E7A3BC99D1355D_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 01/05/2023 07:56:58_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 01/05/2024 07:56:58_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ 8BFE845E6DCA42BBDC8F872672CDA1A4E0C3EBF1_x000D__x000A_ + + MIIC+jCCAeKgAwIBAgIQUwy7V0tei7pH56O8mdE1XTANBgkqhkiG9w0BAQsFADA5MTcwNQYKCZImiZPyLGQBGRYnV2luZG93cyBBenVyZSBDUlAgQ2VydGlmaWNhdGUgR2VuZXJhdG9yMB4XDTIzMDEwNTA3NTY1OFoXDTI0MDEwNTA3NTY1OFowOTE3MDUGCgmSJomT8ixkARkWJ1dpbmRvd3MgQXp1cmUgQ1JQIENlcnRpZmljYXRlIEdlbmVyYXRvcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN7JD9T+c5fASoctAbPO3zOQ3y0LRrIPCgTbExefasImgRK7uaGU0/ZQ4/4r8c4kDylvjFefGvqXM/2uYc4PO7NyXRbB7YL9iViNnODFddPHXeBasIKctfVC+tLJ4KwhziHMtUp9IpPJhLNulNJo9q17/z7c1v7BF3PzhCILrCS2Tfv5UKksc86WSuhuL9RmfbBfHD+1ysHCkP0YRzeWOgZMeT8xGcGqkCe/2ak8OIHYmmWUbTenMQImGaQEVJexJnoyChN9khvGVceBe7T/WKAiOJb0HRVr9Ej2Stiglv8L90gGNTkTCvQYFKDb0R4ldkdRQBdQxIba8Q9dqbg/oDUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAntWLePenojjtY3hOHjqstYRYGq3yVmGHk/B1LarkOcYcZDSewU3rJEf/HEL0+hQQN5/Nw4eu3rv3xGIQ8Tf3+7YKNbcAfZRZMHcZ+7G01JqB/Kcg0Ju8d0MWC74ZGAV+QK+H1slZWipqh08YMH8eeS5B0Wq2vVpDWyf4SnOqeUW+oMUuYjXoXfEfsJYYf6LPIypcYiIi2n1YEREINuA/5ZMiG1/vhtylj9jRjkE6atR4h8SyZhLOh2w5jSs0xjBCzJNPFwfvD7cC99M8I8ERylOb94msHth/U6qFxQy0oKvOStBSrM9JE0cXf840iyf1j1/+aOOFPg62y6lHNIvEEg== + + + e2k16-1.contoso.lab + 242a2cb4-996d-4395-9520-57ad3b90147b + false + + + + + [Subject]_x000D__x000A_ CN=E2k16-1_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=E2k16-1_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 69FC45493FF2248140DD9D53B4D92957_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 12/30/2022 14:39:08_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 12/30/2027 14:39:08_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ D003810EBE1624145889D031FBB77ED2BD280FD3_x000D__x000A_ + + MIIDDDCCAfSgAwIBAgIQafxFST/yJIFA3Z1TtNkpVzANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDEwdFMmsxNi0xMB4XDTIyMTIzMDE0MzkwOFoXDTI3MTIzMDE0MzkwOFowEjEQMA4GA1UEAxMHRTJrMTYtMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL329TDnYHScVTPyXPRE+xM92V1tDJVOc/QyB9j/cMrMH905PIfHqecgVSGKhZpS5LCJ666fOZYj4Q/qctIqCK1kemQWJzOyCfD+eTsybFpy8ePaXX6J8ap5iUxj4OBQpEI9tlLxwPxrgXBZC8Alm9ikierdK7os1AysFnJX1TaoIJElyYPfTiY44HL27q33x4+EIo3FHNn2t5A2zc3KQsa8hYQ2LBnO52tBlHOzngd3VLJoKtDajWRinHF1LlBNwAmjJWeVfWcE7q4nngs+5NIUr6rNTx9EUql0ikukr3tHgnHVXDUKNK9f5chSoaycRpMkhOFHNjqcp71SIhe09bUCAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgWgMCcGA1UdEQQgMB6CB0UyazE2LTGCE0UyazE2LTEuQ29udG9zby5sYWIwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAQEAqYpdfs2fN+lHCxB3Ems0vU2AzBic/2CjStSfuPxKXeTjKnikgAhBv/GHNqQ6dphaLLktAfzONQr4NE9iWTn/i46PXDiimEWSllTP3aBMeWcnjezQsGROxq+OWAcWhhc6maXh85VoZwrhG3Nwc6lxqdi0X9c26GLlq+vBzIK3b2wWz+dtdyPui6CadQFXBKuSYdgGsQlmeHpi17mRfTmrVH8RNyOm8Y3TuCij7FDKp8c3PGk9H9giYrYCnSJ2b1KO+LOoGXhDzJ5POas/gy5qe1SPizAwbdWmT21y6JVFbT8kfm5PqBEVggYwCfhMZkjWaOKHHuDzC5E59jxH+j2g4A== + + + e2k16-1.contoso.lab + 242a2cb4-996d-4395-9520-57ad3b90147b + false + + + + + [Subject]_x000D__x000A_ CN=mail.contoso.lab_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=mail.contoso.lab_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 114127F15159879440EC068324801D00_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 09/05/2022 14:41:02_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 09/05/2027 14:41:02_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ 2759456DC53C76E3DED093B567B6D8DAA42C0ADD_x000D__x000A_ + + MIIDWDCCAkCgAwIBAgIQEUEn8VFZh5RA7AaDJIAdADANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDExBtYWlsLmNvbnRvc28ubGFiMB4XDTIyMDkwNTE0NDEwMloXDTI3MDkwNTE0NDEwMlowGzEZMBcGA1UEAxMQbWFpbC5jb250b3NvLmxhYjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALQfyACywzz9w+oF18+J3N4R177FIUdzQldYStcIYdM2fPFzwn9FcgojJmMNKBEk17/EFw2BC8ad0k/OrG7lqrAWulodJHuAL4bvErUm/26TZan0f/BnYiQTXg9XutydabdH1MDnSbTWqKeQiamV4zBfo3CrVJz8ZhomjdGmSXWIZF++JJrB7EJAV9qfKcd4qyRU3fMS3kyzFWlrTo/lzm24oNAx36v9XKVkYJZg1UCDLwfnqAVcevAoKmHuBXkesUCWEj2sbMHw1YA6gxrSwf0aQ+hYPoZJRtoGvjX8LJNpNQq94JgFN+0RRteLXx7U5a3Q6yq4Vq6Ue9q6etXQjIkCAwEAAaOBlzCBlDAOBgNVHQ8BAf8EBAMCBaAwXwYDVR0RBFgwVoIQbWFpbC5jb250b3NvLmxhYoIYYXV0b2Rpc2NvdmVyLmNvbnRvc28ubGFighNlMmsxNi0xLmNvbnRvc28ubGFighNlMmsxNi0yLmNvbnRvc28ubGFiMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggEBAAXEUjkOVY0FQmZIrwhL5OVvoyap02EY/e9YMG7hNm3b52sbpo81WGTfO8z++6z6dTgLbxyT3MjMiS68kTWJqu3g+IWtaKj1JmoNva8uMs6PD1sBeS4YQ5NUH1RRmU85WCv63YoSbGNnBAKuMLTClEakAZ/KZROumvVkU6Tzo+PXzgbXMeD443iEG/zfkbzEdFfNmKs7IrgfjzUaghc4wvqYwGOEYKyUGdvLYnIeZh6opoW3D5fSLLjUJGCUeLiOoFBJFjaTpFP4jIcMBh4yhPZd+peG+OcCDheermSJheDE3DSBW6tLw6oR1pRYM6UHsp3g7ZaPU8lVYLtpmqo14Cw= + + + e2k16-1.contoso.lab + 242a2cb4-996d-4395-9520-57ad3b90147b + false + + + + + [Subject]_x000D__x000A_ CN=domain.com, OU=IT, O=Contoso, L=Cologne, S=NRW, C=Germany_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=domain.com, OU=IT, O=Contoso, L=Cologne, S=NRW, C=Germany_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 2361B027785B17B249BF692CB1E1A097_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 05/31/2022 14:52:33_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 05/31/2027 14:52:33_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ 63F480EA98F26E6F8AE7BB5311B33BB2C692D3CA_x000D__x000A_ + + MIIDsjCCApqgAwIBAgIQI2GwJ3hbF7JJv2ksseGglzANBgkqhkiG9w0BAQsFADBmMRAwDgYDVQQGEwdHZXJtYW55MQwwCgYDVQQIEwNOUlcxEDAOBgNVBAcTB0NvbG9nbmUxEDAOBgNVBAoTB0NvbnRvc28xCzAJBgNVBAsTAklUMRMwEQYDVQQDEwpkb21haW4uY29tMB4XDTIyMDUzMTE0NTIzM1oXDTI3MDUzMTE0NTIzM1owZjEQMA4GA1UEBhMHR2VybWFueTEMMAoGA1UECBMDTlJXMRAwDgYDVQQHEwdDb2xvZ25lMRAwDgYDVQQKEwdDb250b3NvMQswCQYDVQQLEwJJVDETMBEGA1UEAxMKZG9tYWluLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALZZvkFksPXkGwClCwRv8YmrPz03Zdg7/Q7GLznhlMcYtpKH+fIGY0SzUPWG56UsAURfkNnDoVAwWTdSsKge4VIRljvHUp/njC/Ad/V46AmqIG0jzVxgSYJSgbPnJNyLLxyuk2OMpfJYmNQyC8Ze4kzBklEyGvvgHGAxOs4aLBqmdlH2N85l7KlU0p9xfMNQQKqThe57DHO7Hzse2TT25/8BWjOpPtQsb4KrZBScGgdh7dW8UIoF/JswudLi5d/y8z6iHc22aj1IPqu0P6G7pFqkS86WlU/KdoukV+rVcyeCzF8kkJquGDt8r6bJbN0jcGXtrZJX0jxMPw3wihxjV08CAwEAAaNcMFowDgYDVR0PAQH/BAQDAgWgMCUGA1UdEQQeMByCCmRvbWFpbi5jb22CDnN1Yi5kb21haW4uY29tMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggEBAAG5j6RHA/GbEk+Cfbp2U+9iKlgE/b0GJ53oE+tVy/G+ZIY/nK2DmTLeH9BIEbqZIWGjdAbY00iNjaw8vUcWEKBvLh6A7iPs5rF8FIPvhnEEHlwT3FIJrxq/Zrn/b+jwzl/xh8zBZZDw9PCTFIeHrUF8xD3f+Zvllowa4ex1V48t1y24sThkwoGbYquLi8c2nZUt6xU38kaq//izZYvKvUss2OI0LHh9muIr0lG4JK7XEZtvytAGzFLppDQZ3QNmdNhnDVHfyxkHuIL8YHy6nw9Vug/TA8sgFY/MLajmCZB8k6A5jWMuFKU+YlaQoAtfkAg2F9j2uOkJ5PTmvMd6mR4= + + + e2k16-1.contoso.lab + 242a2cb4-996d-4395-9520-57ad3b90147b + false + + + + + [Subject]_x000D__x000A_ CN=WMSvc-SHA2-E2k16-1_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=WMSvc-SHA2-E2k16-1_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 306B900B4592B6A045E4B124A889E26D_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 07/29/2021 05:24:40_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 07/27/2031 05:24:40_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ FE0FAE9305F294F49DD2426AB214CC17853A7E87_x000D__x000A_ + + MIIC6zCCAdOgAwIBAgIQMGuQC0WStqBF5LEkqInibTANBgkqhkiG9w0BAQsFADAdMRswGQYDVQQDExJXTVN2Yy1TSEEyLUUyazE2LTEwHhcNMjEwNzI5MDUyNDQwWhcNMzEwNzI3MDUyNDQwWjAdMRswGQYDVQQDExJXTVN2Yy1TSEEyLUUyazE2LTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCaVSPBdBAte0hnZkzhSYdeo+3kkfWv+uQyIWdFgkXwjpA0clolCszHvCYbboYmcWNrde69Uk7jJPG0i/v30y76iOR8YDm/9DVuurlQgEqF2XMGCgfokYEMd0DhFhq/Zd4uzh5hQPwT593mSqOxRyFgypzOSOrtCFPfP3e+kTxqnOm7rtaURvoLElzyPX1atq2bV2kKszFYGdzFacjuZdYNHFVHu2X8MuhFplletWxBPkuv0oI+hWsFhhgsGfHCN5EbvjBIc9Hd8F/TNpaH/ZmvIOUeh80vQaR24JtzJuiNshL1M7kIxxfmPzhs3ES/GBaK4oCYA/HdE+n/FCay4gu9AgMBAAGjJzAlMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA4GA1UdDwQHAwUAsAAAADANBgkqhkiG9w0BAQsFAAOCAQEAIDIzyvH4p5BXwHy/uaQpvM2ACCd/iz5fwpSCc5AZV9cG2skBDYM7Xd6Ta3sfkedfLyNs79vSHVjv/5gav9M+MbUwPx2rz3kT/dM4WbF0CIqT3QN+n2WMiMCcvo3p0FhFwyGFqIcE/QsQnANPrxnj948/PHgrpImd2HZMTav7qg3MdW9sBZlQO39IFcy545NHKTQtCq9GmpF60FnziYp28CcSxf8wTC90gwXGPIRP2gfdrelimFeeP+7vffnxx8a30mX0NYCXF7QEFJNPObefpr0633MSJXYi7tgLuv/VpLlf+xfshxytmxTr66fzQTRoLrUj9M649hpghrL9WMJxEg== + + + e2k16-1.contoso.lab + 242a2cb4-996d-4395-9520-57ad3b90147b + false + + + \ No newline at end of file diff --git a/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Data/GetExchangeServer.xml b/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Data/GetExchangeServer.xml new file mode 100644 index 0000000000..f428720a7c --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Data/GetExchangeServer.xml @@ -0,0 +1,632 @@ + + + + Microsoft.Exchange.Data.Directory.Management.ExchangeServer + Microsoft.Exchange.Data.Directory.Management.ADPresentationObject + Microsoft.Exchange.Data.Directory.ADObject + Microsoft.Exchange.Data.Directory.ADRawEntry + Microsoft.Exchange.Data.ConfigurableObject + System.Object + + E2k16-1 + + E2k16-1 + + + Microsoft.Exchange.Data.LocalLongFullPath + Microsoft.Exchange.Data.LongPath + System.Object + + F:\Program Files\Microsoft\Exchange\Mailbox + + F:\Program Files\Microsoft\Exchange\Mailbox + true + false + F: + + + I3NpZyNoAQAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAKU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoBgAAABFMb25nUGF0aCtwYXRoTmFtZRBMb25nUGF0aCtpc1ZhbGlkFExvbmdQYXRoK2lzTG9jYWxGdWxsDkxvbmdQYXRoK2lzVW5jEkxvbmdQYXRoK2RyaXZlTmFtZRNMb25nUGF0aCtzZXJ2ZXJOYW1lAQAAAAEBAQEBAgAAAAYDAAAAK0Y6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXE1haWxib3gBAQAGBAAAAAJGOgoLuxra2wRhdY6p6T94qYdxj2qRam/8HKXOKvoRE/9LQS4= + + + Contoso.lab + + + Microsoft.Exchange.Data.ServerEditionType + System.Enum + System.ValueType + System.Object + + Enterprise + 3 + + /o=Contoso Labs/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=E2k16-1 + 0 + E2k16-1.Contoso.lab + + + + true + true + true + false + true + true + true + false + true + true + + + Microsoft.Exchange.Data.NetworkAddressCollection + Microsoft.Exchange.Data.ProtocolAddressCollection`1[[Microsoft.Exchange.Data.NetworkAddress, Microsoft.Exchange.Data, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + Microsoft.Exchange.Data.MultiValuedProperty`1[[Microsoft.Exchange.Data.NetworkAddress, Microsoft.Exchange.Data, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]] + Microsoft.Exchange.Data.MultiValuedPropertyBase + System.Object + + + + + Microsoft.Exchange.Data.CustomNetworkAddress + Microsoft.Exchange.Data.NetworkAddress + Microsoft.Exchange.Data.ProtocolAddress + System.Object + + ncacn_vns_spp:E2k16-1 + + ncacn_vns_spp + E2k16-1 + + + + + netbios:E2k16-1 + + netbios + E2k16-1 + + + + + ncacn_np:E2k16-1 + + ncacn_np + E2k16-1 + + + + + ncacn_spx:E2k16-1 + + ncacn_spx + E2k16-1 + + + + + ncacn_ip_tcp:E2k16-1.Contoso.lab + + ncacn_ip_tcp + E2k16-1.Contoso.lab + + + + + ncalrpc:E2k16-1 + + ncalrpc + E2k16-1 + + + + + Contoso.lab/E2k16-1 + + + Microsoft.Exchange.Data.ServerVersion + System.Object + + Version 15.1 (Build 2507.18) + + 15 + 1 + 2507 + 18 + + + + I3NpZyMuAQAAAAEAAAD/////AQAAAAAAAAAMAgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAAAlTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuU2VydmVyVmVyc2lvbgIAAAAHdmVyc2lvbhlmaWxlUGF0Y2hMZXZlbERlc2NyaXB0aW9uAwEOU3lzdGVtLlZlcnNpb24CAAAACQMAAAAKBAMAAAAOU3lzdGVtLlZlcnNpb24EAAAABl9NYWpvcgZfTWlub3IGX0J1aWxkCV9SZXZpc2lvbgAAAAAICAgIDwAAAAEAAADLCQAAEgAAAAuzG0R1lopktHw+BJiyjDge+VqPKxB/v5Gbb60MQWKLtQ== + + + + + Microsoft.Exchange.Data.Directory.ADObjectId + Microsoft.Exchange.Data.ObjectId + System.Object + + Contoso.lab/Configuration/Sites/Default-First-Site-Name + + + false + CN=Default-First-Site-Name + Contoso.lab/Configuration/Sites + 4 + CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=Contoso,DC=lab + false + Contoso.lab + 59ce2f71-eaa2-4ddf-a4fa-f25069d0b324 + Contoso.lab + 4bec75a8-9973-4de8-a8ee-91ff1b1d0fdd + Default-First-Site-Name + + + I3NpZyOdBQAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAAT9////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBgQAAAALQ29udG9zby5sYWIB+/////3///+odexLc5noTajukf8bHQ/dBgYAAABGQ049RGVmYXVsdC1GaXJzdC1TaXRlLU5hbWUsQ049U2l0ZXMsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoEAAAABgcAAAA3Q29udG9zby5sYWIvQ29uZmlndXJhdGlvbi9TaXRlcy9EZWZhdWx0LUZpcnN0LVNpdGUtTmFtZQkIAAAABQgAAAAwTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk9yZ2FuaXphdGlvbklkBQAAAAdvcmdVbml0CmNvbmZpZ1VuaXQLcGFydGl0aW9uSWQfZXh0ZXJuYWxEaXJlY3RvcnlPcmdhbml6YXRpb25JZCNzYWZlRXh0ZXJuYWxEaXJlY3RvcnlPcmdhbml6YXRpb25JZAQEBAMDLE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAACxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlBhcnRpdGlvbklkAgAAAG1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAACgoJCQAAAAoKBQkAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlBhcnRpdGlvbklkAgAAAApmb3Jlc3RGUUROEXBhcnRpdGlvbk9iamVjdElkAQNtU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAGCgAAAAtDb250b3NvLmxhYgoLX9opTD8Ruh7k0LVeJQD+HApzqyKRB9fgmPNTTMYXr00= + + + + + Microsoft.Exchange.Data.Directory.SystemConfiguration.ServerRole + System.Enum + System.ValueType + System.Object + + Mailbox + 2 + + + true +
2023-01-05T12:08:37.6177687Z
+ + + Microsoft.Exchange.Data.MultiValuedProperty`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + Microsoft.Exchange.Data.MultiValuedPropertyBase + System.Object + + + + + + + + + + + + + + + + + + + + + + + 02064-004-0605003-02545 + false + false + + + + Microsoft.Exchange.Data.EnhancedTimeSpan + System.ValueType + System.Object + + 00:00:00 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + I3NpZyO8AAAAAAEAAAD/////AQAAAAAAAAAMAgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAAAoTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbgEAAAAIdGltZVNwYW4ADAIAAAAAAAAAAAAAAAu5zQSz5UaOWxvocLx28ReziPFfu6LDOH+RITQyjZNKWQ== + + + + + + PING1 + + + + true + + + E2k16-1 + + + false + CN=E2k16-1 + Servers + 9 + CN=E2k16-1,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Contoso Labs,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=lab + false + Contoso.lab + 59ce2f71-eaa2-4ddf-a4fa-f25069d0b324 + Contoso.lab + cd546704-a106-4311-9e90-4762e4cc7304 + E2k16-1 + + + I3NpZyPeBQAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAAT9////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBgQAAAALQ29udG9zby5sYWIB+/////3///8EZ1TNBqERQ56QR2LkzHMEBgYAAAC2AUNOPUUyazE2LTEsQ049U2VydmVycyxDTj1FeGNoYW5nZSBBZG1pbmlzdHJhdGl2ZSBHcm91cCAoRllESUJPSEYyM1NQRExUKSxDTj1BZG1pbmlzdHJhdGl2ZSBHcm91cHMsQ049Q29udG9zbyBMYWJzLENOPU1pY3Jvc29mdCBFeGNoYW5nZSxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUNvbnRvc28sREM9bGFiCgkAAAAGBwAAAAdFMmsxNi0xCQgAAAAFCAAAADBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQFAAAAB29yZ1VuaXQKY29uZmlnVW5pdAtwYXJ0aXRpb25JZB9leHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkI3NhZmVFeHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkBAQEAwMsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAAbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1tU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAKCgkJAAAACgoFCQAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAACmZvcmVzdEZRRE4RcGFydGl0aW9uT2JqZWN0SWQBA21TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAYKAAAAC0NvbnRvc28ubGFiCgvPEscH3IDVIHrsZFzAae0Vuu+RJIOepe4xieCSTPt31w== + + + true + + + Microsoft.Exchange.Data.ExchangeObjectVersion + System.Object + + 0.1 (8.0.535.0) + + 1.0 (0.0.0.0) + 0.2 (0.0.0.0) + 0 + 1 + 8.0.535.0 + + + I3NpZyNaAQAAAAEAAAD/////AQAAAAAAAAAMAgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VPYmplY3RWZXJzaW9uAwAAAAVNYWpvcgVNaW5vcg1FeGNoYW5nZUJ1aWxkAAAEAgIlTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VCdWlsZAIAAAACAAAAAAEF/f///yVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZUJ1aWxkBAAAAAVNYWpvcgVNaW5vcgVCdWlsZA1CdWlsZFJldmlzaW9uAAAAAAICDg4CAAAACAAXAgAAC81gnrQ3YqWs0WLcfx5R/pfhkYDcNS5NUWugZ18L+Pr3 + + + CN=E2k16-1,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Contoso Labs,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=lab + cd546704-a106-4311-9e90-4762e4cc7304 + + + Contoso.lab/Configuration/Schema/ms-Exch-Exchange-Server + + + false + CN=ms-Exch-Exchange-Server + Contoso.lab/Configuration/Schema + 4 + CN=ms-Exch-Exchange-Server,CN=Schema,CN=Configuration,DC=Contoso,DC=lab + false + Contoso.lab + 59ce2f71-eaa2-4ddf-a4fa-f25069d0b324 + Contoso.lab + a76dec46-44fa-4a52-a78c-5798ea4dbc42 + ms-Exch-Exchange-Server + + + I3NpZyOfBQAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAAT9////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBgQAAAALQ29udG9zby5sYWIB+/////3///9G7G2n+kRSSqeMV5jqTbxCBgYAAABHQ049bXMtRXhjaC1FeGNoYW5nZS1TZXJ2ZXIsQ049U2NoZW1hLENOPUNvbmZpZ3VyYXRpb24sREM9Q29udG9zbyxEQz1sYWIKBAAAAAYHAAAAOENvbnRvc28ubGFiL0NvbmZpZ3VyYXRpb24vU2NoZW1hL21zLUV4Y2gtRXhjaGFuZ2UtU2VydmVyCQgAAAAFCAAAADBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQFAAAAB29yZ1VuaXQKY29uZmlnVW5pdAtwYXJ0aXRpb25JZB9leHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkI3NhZmVFeHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkBAQEAwMsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAAbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1tU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAKCgkJAAAACgoFCQAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAACmZvcmVzdEZRRE4RcGFydGl0aW9uT2JqZWN0SWQBA21TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAYKAAAAC0NvbnRvc28ubGFiCgtzbBXc26Iq4CtqKQF4z7xIKmoIgU/nZEqjdBO5/naAUg== + + + + + + top + server + msExchExchangeServer + + +
2023-01-05T12:08:37+00:00
+
2021-07-29T05:47:28+00:00
+
2023-01-05T12:08:37Z
+
2021-07-29T05:47:28Z
+ + + Microsoft.Exchange.Data.Directory.OrganizationId + System.Object + + + + + + false + + + + I3NpZyN2AwAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAME1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5Pcmdhbml6YXRpb25JZAUAAAAHb3JnVW5pdApjb25maWdVbml0C3BhcnRpdGlvbklkH2V4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQjc2FmZUV4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQEBAQDAyxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAABtU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXW1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAoKCQMAAAAKCgUDAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAAAKZm9yZXN0RlFEThFwYXJ0aXRpb25PYmplY3RJZAEDbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAABgQAAAALQ29udG9zby5sYWIKC0JCKvtglpmvfb/cxWRtBWK4GlcSYf/mkM3SNHaHH4/a + + + + DC-1.Contoso.lab + + + Microsoft.Exchange.Data.ObjectState + System.Enum + System.ValueType + System.Object + + Unchanged + 1 + +
+ + e2k16-1.contoso.lab + 4e029ce4-dec4-4e71-8696-578e14f119b3 + false + I3NpZyPjDQEAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAO01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5NYW5hZ2VtZW50LkV4Y2hhbmdlU2VydmVyCgAAAAtwcm9wZXJ0eUJhZx9BRFByZXNlbnRhdGlvbk9iamVjdCtkYXRhT2JqZWN0IEFEUHJlc2VudGF0aW9uT2JqZWN0K3Byb3BlcnR5QmFnFEFET2JqZWN0K3Byb3BlcnR5QmFnLEFEUmF3RW50cnkrPE1zZXJ2UHJvcGVydHlCYWc+a19fQmFja2luZ0ZpZWxkKkFEUmF3RW50cnkrPE1ieFByb3BlcnR5QmFnPmtfX0JhY2tpbmdGaWVsZBZBRFJhd0VudHJ5K3Byb3BlcnR5QmFnHkNvbmZpZ3VyYWJsZU9iamVjdCtwcm9wZXJ0eUJhZyxDb25maWd1cmFibGVPYmplY3Qrc2VyaWFsaXplckFzc2VtYmx5VmVyc2lvbiZDb25maWd1cmFibGVPYmplY3QraW5zdGFudGlhdGlvbkVycm9ycwQEBAQEBAQEAwMvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAPE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLlNlcnZlcgIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAOU3lzdGVtLlZlcnNpb26pAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVmFsaWRhdGlvbkVycm9yLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0CAAAACQMAAAAJBAAAAAkDAAAACQMAAAAKCgkDAAAACQMAAAAJBgAAAAoMBwAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQMAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcGAAAAFFByb3BlcnR5QmFnK3JlYWRPbmx5G1Byb3BlcnR5QmFnK3N0b3JlVmFsdWVzT25seSdQcm9wZXJ0eUJhZyt0cmVhdFN3aXRjaGFibGVBc1ZhbHVlc09ubHklUHJvcGVydHlCYWcrc2VyaWFsaXplckFzc2VtYmx5VmVyc2lvbiNQcm9wZXJ0eUJhZytzZXJpYWxpemVkQ3VycmVudFZhbHVlcyRQcm9wZXJ0eUJhZytzZXJpYWxpemVkT3JpZ2luYWxWYWx1ZXMAAAADBAQBAQEOU3lzdGVtLlZlcnNpb24vTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyW10HAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcltdBwAAAAIAAAAAAAAJBgAAAAkJAAAACQoAAAAMCwAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUEAAAAPE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLlNlcnZlcjcAAAAJZGF0YWJhc2VzJTxBdHRyaWJ1dGlvbkxvZ01heEFnZT5rX19CYWNraW5nRmllbGQvPEF0dHJpYnV0aW9uTG9nTWF4RGlyZWN0b3J5U2l6ZT5rX19CYWNraW5nRmllbGQqPEF0dHJpYnV0aW9uTG9nTWF4RmlsZVNpemU+a19fQmFja2luZ0ZpZWxkIzxBdHRyaWJ1dGlvbkxvZ1BhdGg+a19fQmFja2luZ0ZpZWxkJjxBdHRyaWJ1dGlvbkxvZ0VuYWJsZWQ+a19fQmFja2luZ0ZpZWxkLDxQcm94eURlc3RpbmF0aW9uc0xvZ0VuYWJsZWQ+a19fQmFja2luZ0ZpZWxkKzxQcm94eURlc3RpbmF0aW9uc0xvZ01heEFnZT5rX19CYWNraW5nRmllbGQ1PFByb3h5RGVzdGluYXRpb25zTG9nTWF4RGlyZWN0b3J5U2l6ZT5rX19CYWNraW5nRmllbGQwPFByb3h5RGVzdGluYXRpb25zTG9nTWF4RmlsZVNpemU+a19fQmFja2luZ0ZpZWxkKTxQcm94eURlc3RpbmF0aW9uc0xvZ1BhdGg+a19fQmFja2luZ0ZpZWxkLjxUb3BJbmJvdW5kSXBTb3VyY2VzTG9nRW5hYmxlZD5rX19CYWNraW5nRmllbGQtPFRvcEluYm91bmRJcFNvdXJjZXNMb2dNYXhBZ2U+a19fQmFja2luZ0ZpZWxkNzxUb3BJbmJvdW5kSXBTb3VyY2VzTG9nTWF4RGlyZWN0b3J5U2l6ZT5rX19CYWNraW5nRmllbGQyPFRvcEluYm91bmRJcFNvdXJjZXNMb2dNYXhGaWxlU2l6ZT5rX19CYWNraW5nRmllbGQrPFRvcEluYm91bmRJcFNvdXJjZXNMb2dQYXRoPmtfX0JhY2tpbmdGaWVsZCQ8Q29uc3VtZXJNYWlsRW5hYmxlZD5rX19CYWNraW5nRmllbGQrPE1heFJlY2VpdmVUbHNSYXRlUGVyTWludXRlPmtfX0JhY2tpbmdGaWVsZC48TWFpbGJveERlbGl2ZXJ5QWdlbnRMb2dNYXhBZ2U+a19fQmFja2luZ0ZpZWxkODxNYWlsYm94RGVsaXZlcnlBZ2VudExvZ01heERpcmVjdG9yeVNpemU+a19fQmFja2luZ0ZpZWxkMzxNYWlsYm94RGVsaXZlcnlBZ2VudExvZ01heEZpbGVTaXplPmtfX0JhY2tpbmdGaWVsZCw8TWFpbGJveERlbGl2ZXJ5QWdlbnRMb2dQYXRoPmtfX0JhY2tpbmdGaWVsZC88TWFpbGJveERlbGl2ZXJ5QWdlbnRMb2dFbmFibGVkPmtfX0JhY2tpbmdGaWVsZDA8TWFpbGJveFN1Ym1pc3Npb25BZ2VudExvZ01heEFnZT5rX19CYWNraW5nRmllbGQ6PE1haWxib3hTdWJtaXNzaW9uQWdlbnRMb2dNYXhEaXJlY3RvcnlTaXplPmtfX0JhY2tpbmdGaWVsZDU8TWFpbGJveFN1Ym1pc3Npb25BZ2VudExvZ01heEZpbGVTaXplPmtfX0JhY2tpbmdGaWVsZC48TWFpbGJveFN1Ym1pc3Npb25BZ2VudExvZ1BhdGg+a19fQmFja2luZ0ZpZWxkMTxNYWlsYm94U3VibWlzc2lvbkFnZW50TG9nRW5hYmxlZD5rX19CYWNraW5nRmllbGQnPFN5bmNEZWxpdmVyeUxvZ0VuYWJsZWQ+a19fQmFja2luZ0ZpZWxkJjxTeW5jRGVsaXZlcnlMb2dNYXhBZ2U+a19fQmFja2luZ0ZpZWxkMDxTeW5jRGVsaXZlcnlMb2dNYXhEaXJlY3RvcnlTaXplPmtfX0JhY2tpbmdGaWVsZCs8U3luY0RlbGl2ZXJ5TG9nTWF4RmlsZVNpemU+a19fQmFja2luZ0ZpZWxkJDxTeW5jRGVsaXZlcnlMb2dQYXRoPmtfX0JhY2tpbmdGaWVsZCI8QmxvY2tDb25zdW1lck1haWw+a19fQmFja2luZ0ZpZWxkMTxCbG9ja2VkQ29uc3VtZXJNYWlsUmV0cnlJbnRlcnZhbD5rX19CYWNraW5nRmllbGQ2PE1haWxib3hEZWxpdmVyeUh0dHBEZWxpdmVyeUxvZ0VuYWJsZWQ+a19fQmFja2luZ0ZpZWxkNTxNYWlsYm94RGVsaXZlcnlIdHRwRGVsaXZlcnlMb2dNYXhBZ2U+a19fQmFja2luZ0ZpZWxkPzxNYWlsYm94RGVsaXZlcnlIdHRwRGVsaXZlcnlMb2dNYXhEaXJlY3RvcnlTaXplPmtfX0JhY2tpbmdGaWVsZDo8TWFpbGJveERlbGl2ZXJ5SHR0cERlbGl2ZXJ5TG9nTWF4RmlsZVNpemU+a19fQmFja2luZ0ZpZWxkMzxNYWlsYm94RGVsaXZlcnlIdHRwRGVsaXZlcnlMb2dQYXRoPmtfX0JhY2tpbmdGaWVsZDQ8TWFpbGJveERlbGl2ZXJ5VGhyb3R0bGluZ0xvZ0VuYWJsZWQ+a19fQmFja2luZ0ZpZWxkMzxNYWlsYm94RGVsaXZlcnlUaHJvdHRsaW5nTG9nTWF4QWdlPmtfX0JhY2tpbmdGaWVsZD08TWFpbGJveERlbGl2ZXJ5VGhyb3R0bGluZ0xvZ01heERpcmVjdG9yeVNpemU+a19fQmFja2luZ0ZpZWxkODxNYWlsYm94RGVsaXZlcnlUaHJvdHRsaW5nTG9nTWF4RmlsZVNpemU+a19fQmFja2luZ0ZpZWxkMTxNYWlsYm94RGVsaXZlcnlUaHJvdHRsaW5nTG9nUGF0aD5rX19CYWNraW5nRmllbGQLcHJvcGVydHlCYWclQURMZWdhY3lWZXJzaW9uYWJsZU9iamVjdCtwcm9wZXJ0eUJhZyFBRENvbmZpZ3VyYXRpb25PYmplY3QrcHJvcGVydHlCYWcUQURPYmplY3QrcHJvcGVydHlCYWcsQURSYXdFbnRyeSs8TXNlcnZQcm9wZXJ0eUJhZz5rX19CYWNraW5nRmllbGQqQURSYXdFbnRyeSs8TWJ4UHJvcGVydHlCYWc+a19fQmFja2luZ0ZpZWxkFkFEUmF3RW50cnkrcHJvcGVydHlCYWceQ29uZmlndXJhYmxlT2JqZWN0K3Byb3BlcnR5QmFnLENvbmZpZ3VyYWJsZU9iamVjdCtzZXJpYWxpemVyQXNzZW1ibHlWZXJzaW9uJkNvbmZpZ3VyYWJsZU9iamVjdCtpbnN0YW50aWF0aW9uRXJyb3JzBAQEBAQAAAQEBAQABAQEBAAABAQEBAAEBAQEAAAEBAQEAAQABAQEBAAEBAQEBAQEBAQEBAQDAy5NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZFtdAgAAAChNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuBwAAAK4BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dBwAAAK4BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dBwAAAClNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Mb2NhbExvbmdGdWxsUGF0aAsAAAABAShNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuBwAAAK4BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dBwAAAK4BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dBwAAAClNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Mb2NhbExvbmdGdWxsUGF0aAsAAAABKE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4HAAAArgFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0HAAAArgFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0HAAAAKU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoCwAAAAEIKE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4HAAAArgFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0HAAAArgFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0HAAAAKU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoCwAAAAEoTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbgcAAACuAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQcAAACuAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQcAAAApTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgLAAAAAQEoTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbgcAAACuAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQcAAACuAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQcAAAApTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgLAAAAAShNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuBwAAAAEoTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbgcAAACuAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQcAAACuAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQcAAAApTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgLAAAAAShNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuBwAAAK4BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dBwAAAK4BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dBwAAAClNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Mb2NhbExvbmdGdWxsUGF0aAsAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAA5TeXN0ZW0uVmVyc2lvbqkBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5WYWxpZGF0aW9uRXJyb3IsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQIAAAAKBfT///8oTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbgEAAAAIdGltZVNwYW4ADAcAAAAAAAAAAAAAAAXz////rgFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0CAAAADGxpbWl0ZWRWYWx1ZQtpc1VubGltaXRlZAQAKk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZQcAAAABBwAAAAXy////Kk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZQMAAAAFYnl0ZXMEdW5pdA1jYW5vbmljYWxGb3JtAAQBEDVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUrUXVhbnRpZmllcgcAAAAHAAAAAAAAAAAAAAAF8f///zVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUrUXVhbnRpZmllcgEAAAAHdmFsdWVfXwAQBwAAAAAAAAAAAAAACgAB8P////P///8B7/////L///8AAAAAAAAAAAHu////8f///wAAAAAAAAAACgAKAAAB7f////T///8AAAAAAAAAAAHs////8////wHr////8v///wAAAAAAAAAAAer////x////AAAAAAAAAAAKAAHp////8////wHo////8v///wAAAAAAAAAAAef////x////AAAAAAAAAAAKAAoAAeb////0////AAAAAAAAAAAB5f////P///8B5P////L///8AAAAAAAAAAAHj////8f///wAAAAAAAAAACgAB4v////P///8B4f////L///8AAAAAAAAAAAHg////8f///wAAAAAAAAAACgAKAAAAAAAB3/////T///8AAAAAAAAAAAHe////8////wHd////8v///wAAAAAAAAAAAdz////x////AAAAAAAAAAAKAAHb////8////wHa////8v///wAAAAAAAAAAAdn////x////AAAAAAAAAAAKAAoAAdj////0////AAAAAAAAAAAB1/////P///8B1v////L///8AAAAAAAAAAAHV////8f///wAAAAAAAAAACgAB1P////P///8B0/////L///8AAAAAAAAAAAHS////8f///wAAAAAAAAAACgAKAAAB0f////T///8AAAAAAAAAAAHQ////8////wHP////8v///wAAAAAAAAAAAc7////x////AAAAAAAAAAAKAAHN////8////wHM////8v///wAAAAAAAAAAAcv////x////AAAAAAAAAAAKAAoAAcr////0////AAAAAAAAAAAAAcn////0////AAAAAAAAAAAByP////P///8Bx/////L///8AAAAAAAAAAAHG////8f///wAAAAAAAAAACgABxf////P///8BxP////L///8AAAAAAAAAAAHD////8f///wAAAAAAAAAACgAKAAHC////9P///wAAAAAAAAAAAcH////z////AcD////y////AAAAAAAAAAABv/////H///8AAAAAAAAAAAoAAb7////z////Ab3////y////AAAAAAAAAAABvP////H///8AAAAAAAAAAAoACgkDAAAACQMAAAAJAwAAAAkDAAAACgoJAwAAAAkDAAAACQYAAAAJRwAAAAQGAAAADlN5c3RlbS5WZXJzaW9uBAAAAAZfTWFqb3IGX01pbm9yBl9CdWlsZAlfUmV2aXNpb24AAAAACAgICA8AAAAAAAAAAAAAAAAAAAAHCQAAAAABAAAAlQAAAAQtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyBwAAAAW4////LU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcgIAAAADS2V5BVZhbHVlBAI2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uAgAAAAcAAAAJSQAAAAgICwAAAAG2////uP///wlLAAAACUwAAAABs////7j///8JTgAAAAgIBwAAAAGx////uP///wlQAAAACVEAAAABrv///7j///8JUwAAAAlUAAAAAav///+4////CVYAAAAICAMAAAABqf///7j///8JWAAAAAgIAAAAAAGn////uP///wlaAAAACVsAAAABpP///7j///8JXQAAAAleAAAAAaH///+4////CWAAAAAJYQAAAAGe////uP///wljAAAACWQAAAABm////7j///8JZgAAAAlnAAAAAZj///+4////CWkAAAAJagAAAAGV////uP///wlsAAAACW0AAAABkv///7j///8JbwAAAAlwAAAAAY////+4////CXIAAAAJcwAAAAGM////uP///wl1AAAACXYAAAABif///7j///8JeAAAAAl5AAAAAYb///+4////CXsAAAAJfAAAAAGD////uP///wl+AAAACX8AAAABgP///7j///8JgQAAAAmCAAAAAX3///+4////CYQAAAAICMzFAAABe////7j///8JhgAAAAmHAAAAAXj///+4////CYkAAAAICBQAAAABdv///7j///8JiwAAAAgJAAAAAAAAAAABdP///7j///8JjQAAAAgIxhMAAAFy////uP///wmPAAAACAjHEwAAAXD///+4////CZEAAAAICAcAAAABbv///7j///8JkwAAAAgIAAAAAAFs////uP///wmVAAAACAgJZAAAAWr///+4////CZcAAAAJmAAAAAFn////uP///wmaAAAACAgAAAAAAWX///+4////CZwAAAAICAAAAAABY////7j///8JngAAAAafAAAACkZhdWx0Wm9uZTEBYP///7j///8JoQAAAAaiAAAA4BM8VHJhbnNwb3J0U2VydmVyQ29uZmlnWG1sPjxRdWV1ZUxvZyBNQT0iNjA0ODAwMDAwMDAwMCIgTURTPSIyMDk3MTUyMDAiIE1GUz0iMTA0ODU3NjAiIFBBVEg9IkY6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXFRyYW5zcG9ydFJvbGVzXExvZ3NcSHViXFF1ZXVlVmlld2VyIiBFTkE9InRydWUiIC8+PExhdGVuY3lMb2cgTUE9IjYwNDgwMDAwMDAwMDAiIE1EUz0iMjA5NzE1MjAwIiBNRlM9IjEwNDg1NzYwIiBQQVRIPSJGOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdFxFeGNoYW5nZVxUcmFuc3BvcnRSb2xlc1xMb2dzXEh1YlxMYXRlbmN5TG9nIiBFTkE9InRydWUiIC8+PEdlbmVyYWxMb2cgTUE9IjYwNDgwMDAwMDAwMDAiIE1EUz0iMjA5NzE1MjAwIiBNRlM9IjEwNDg1NzYwIiBQQVRIPSJGOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdFxFeGNoYW5nZVxUcmFuc3BvcnRSb2xlc1xMb2dzXEh1YlxHZW5lcmFsTG9nIiBFTkE9InRydWUiIC8+PFdsbUxvZyBNQT0iNjA0ODAwMDAwMDAwMCIgTURTPSIyNjIxNDQwMDAiIE1GUz0iMTA0ODU3NjAiIFBBVEg9IkY6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXFRyYW5zcG9ydFJvbGVzXExvZ3NcV0xNIiBFTkE9InRydWUiIC8+PEFnZW50TG9nIE1BPSI2MDQ4MDAwMDAwMDAwIiBNRFM9IjI2MjE0NDAwMCIgTUZTPSIxMDQ4NTc2MCIgUEFUSD0iRjpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnRcRXhjaGFuZ2VcVHJhbnNwb3J0Um9sZXNcTG9nc1xIdWJcQWdlbnRMb2ciIEVOQT0idHJ1ZSIgLz48Rmxvd0NvbnRyb2xMb2cgTUE9IjYwNDgwMDAwMDAwMDAiIE1EUz0iMjA5NzE1MjAwIiBNRlM9IjEwNDg1NzYwIiBFTkE9InRydWUiIC8+PFJlc291cmNlTG9nIE1BPSI2MDQ4MDAwMDAwMDAwIiBNRFM9IjIwOTcxNTIwMCIgTUZTPSIxMDQ4NTc2MCIgRU5BPSJ0cnVlIiAvPjxQcm9jZXNzaW5nU2NoZWR1bGVyTG9nIE1BPSI2MDQ4MDAwMDAwMDAwIiBNRFM9IjIwOTcxNTIwMCIgTUZTPSIxMDQ4NTc2MCIgRU5BPSJ0cnVlIiAvPjxEbnNMb2cgTUE9IjYwNDgwMDAwMDAwMDAiIE1EUz0iMTA0ODU3NjAwIiBNRlM9IjEwNDg1NzYwIiBFTkE9ImZhbHNlIiAvPjxKb3VybmFsTG9nIE1BPSI2MDQ4MDAwMDAwMDAwIiBNRFM9IjIwOTcxNTIwMCIgTUZTPSIxMDQ4NTc2MCIgUEFUSD0iRjpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnRcRXhjaGFuZ2VcVHJhbnNwb3J0Um9sZXNcTG9nc1xKb3VybmFsTG9nIiBFTkE9ImZhbHNlIiAvPjxNYWludGVuYW5jZUxvZyBNQT0iNjA0ODAwMDAwMDAwMCIgTURTPSIyMDk3MTUyMDAiIE1GUz0iMTA0ODU3NjAiIEVOQT0idHJ1ZSIgLz48VHJhbnNwb3J0SHR0cExvZyBNQT0iNjA0ODAwMDAwMDAwMCIgTURTPSIyNjIxNDQwMDAiIE1GUz0iMTA0ODU3NjAiIFBBVEg9IkY6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXFRyYW5zcG9ydFJvbGVzXExvZ3NcSHViXFRyYW5zcG9ydEh0dHAiIEVOQT0idHJ1ZSIgLz48UmVxdWVzdEJyb2tlckxvZyBNQT0iNjA0ODAwMDAwMDAwMCIgTURTPSIyMDk3MTUyMDAiIE1GUz0iMTA0ODU3NjAiIEVOQT0idHJ1ZSIgLz48U3RvcmFnZVJFU1RMb2cgTUE9IjYwNDgwMDAwMDAwMDAiIE1EUz0iMjA5NzE1MjAwIiBNRlM9IjEwNDg1NzYwIiBFTkE9InRydWUiIC8+PE1heFByZWZBY3RpdmVzIHAyOm5pbD0idHJ1ZSIgeG1sbnM6cDI9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAvPjxNaXRpZ2F0aW9uc0VuYWJsZWQgcDI6bmlsPSJ0cnVlIiB4bWxuczpwMj0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIC8+PGRkQnlwYXNzRmlsdGVyaW5nPmZhbHNlPC9kZEJ5cGFzc0ZpbHRlcmluZz48ZGRGb3JjZVJlc2Nhbj5mYWxzZTwvZGRGb3JjZVJlc2Nhbj48ZGREZWZlcldhaXRUaW1lPjE8L2RkRGVmZXJXYWl0VGltZT48ZGREZWZlckF0dGVtcHRzPjA8L2RkRGVmZXJBdHRlbXB0cz48ZGRTY2FuVGltZW91dD4xPC9kZFNjYW5UaW1lb3V0PjxkZFNjYW5FcnJvckFjdGlvbj5CbG9jazwvZGRTY2FuRXJyb3JBY3Rpb24+PGRkTWluaW11bVN1Y2Nlc3NmdWxFbmdpbmVTY2Fucz4xPC9kZE1pbmltdW1TdWNjZXNzZnVsRW5naW5lU2NhbnM+PE1haWxib3hEZWxpdmVyeUNvbm5lY3Rvck1heEluYm91bmRDb25uZWN0aW9uPjxWYWx1ZT41MDAwPC9WYWx1ZT48L01haWxib3hEZWxpdmVyeUNvbm5lY3Rvck1heEluYm91bmRDb25uZWN0aW9uPjxBZ2VudEdyYXlFeGNlcHRpb25Mb2cgTUE9IjYwNDgwMDAwMDAwMDAiIE1EUz0iMjA5NzE1MjAwIiBNRlM9IjEwNDg1NzYwIiBFTkE9InRydWUiIC8+PERhdGFDb2xsZWN0aW9uRW5hYmxlZD50cnVlPC9EYXRhQ29sbGVjdGlvbkVuYWJsZWQ+PE1pdGlnYXRpb25zQXBwbGllZD48TWl0aWdhdGlvbj5QSU5HMTwvTWl0aWdhdGlvbj48L01pdGlnYXRpb25zQXBwbGllZD48TWl0aWdhdGlvbnNBcHBsaWVkVGltZT4yMDIzLTAxLTA1VDEyOjA4OjM3LjYxNzc2ODdaPC9NaXRpZ2F0aW9uc0FwcGxpZWRUaW1lPjwvVHJhbnNwb3J0U2VydmVyQ29uZmlnWG1sPgFd////uP///wmkAAAABqUAAAADRTE1AVr///+4////CacAAAAGqAAAAGkvbz1Db250b3NvIExhYnMvb3U9RXhjaGFuZ2UgQWRtaW5pc3RyYXRpdmUgR3JvdXAgKEZZRElCT0hGMjNTUERMVCkvY249Q29uZmlndXJhdGlvbi9jbj1TZXJ2ZXJzL2NuPUUyazE2LTEBV////7j///8JqgAAAAmrAAAAAVT///+4////Ca0AAAAJrgAAAAFR////uP///wmwAAAACbEAAAABTv///7j///8JswAAAAgIAAAAAAFM////uP///wm1AAAACbYAAAABSf///7j///8JuAAAAAa5AAAAHVZlcnNpb24gMTUuMSAoQnVpbGQgMzI1MDcuMTgpAUb///+4////CbsAAAAJvAAAAAFD////uP///wm+AAAABr8AAABg44m75KiD56iz5KiD56iz5KiD56iz5KiD56iz5KyC54C55ICJ46Gx5biX46mz4LGF5rym5biX47G14K2C44264KGB46Gx5ICJ54C55ICJ54C55ICJ54C55ICJ54C55ISIAUD///+4////CcEAAAAICMuJwXMBPv///7j///8JwwAAAAgIAAAAAAE8////uP///wnFAAAACcYAAAABOf///7j///8JyAAAAAnJAAAAATb///+4////CcsAAAAJzAAAAAEz////uP///wnOAAAABs8AAAAXMDIwNjQtMDA0LTA2MDUwMDMtMDI1NDUBMP///7j///8J0QAAAAbSAAAAB0UyazE2LTEBLf///7j///8J1AAAAAbVAAAAETIwMjEwNzI5MDU0NzI4LjBaASr///+4////CdcAAAAJ2AAAAAEn////uP///wnaAAAACdsAAAABJP///7j///8J3QAAAAneAAAAASH///+4////CeAAAAAJ4QAAAAEe////uP///wnjAAAACeQAAAABG////7j///8J5gAAAAgIBgAAAAEZ////uP///wnoAAAACekAAAABFv///7j///8J6wAAAAnsAAAAARP///+4////Ce4AAAAICLAEAAABEf///7j///8J8AAAAAnxAAAAAQ7///+4////CfMAAAAJ9AAAAAEL////uP///wn2AAAACfcAAAABCP///7j///8J+QAAAAn6AAAAAQX///+4////CfwAAAAJ/QAAAAEC////uP///wn/AAAACQABAAAB//7//7j///8JAgEAAAkDAQAAAfz+//+4////CQUBAAAJBgEAAAH5/v//uP///wkIAQAACQkBAAAB9v7//7j///8JCwEAAAgIFAAAAAH0/v//uP///wkNAQAACAgCAAAAAfL+//+4////CQ8BAAAJEAEAAAHv/v//uP///wkSAQAACRMBAAAB7P7//7j///8JFQEAAAkWAQAAAen+//+4////CRgBAAAJGQEAAAHm/v//uP///wkbAQAACRwBAAAB4/7//7j///8JHgEAAAkfAQAAAeD+//+4////CSEBAAAJIgEAAAHd/v//uP///wkkAQAACSUBAAAB2v7//7j///8JJwEAAAkoAQAAAdf+//+4////CSoBAAAJKwEAAAHU/v//uP///wktAQAACS4BAAAB0f7//7j///8JMAEAAAkxAQAAAc7+//+4////CTMBAAAJNAEAAAHL/v//uP///wk2AQAACTcBAAAByP7//7j///8JOQEAAAk6AQAAAcX+//+4////CTwBAAAJPQEAAAHC/v//uP///wk/AQAACUABAAABv/7//7j///8JQgEAAAlDAQAAAbz+//+4////CUUBAAAJRgEAAAG5/v//uP///wlIAQAACUkBAAABtv7//7j///8JSwEAAAlMAQAAAbP+//+4////CU4BAAAJTwEAAAGw/v//uP///wlRAQAACVIBAAABrf7//7j///8JVAEAAAgIZAAAAAGr/v//uP///wlWAQAACVcBAAABqP7//7j///8JWQEAAAgIZAAAAAGm/v//uP///wlbAQAACVwBAAABo/7//7j///8JXgEAAAlfAQAAAaD+//+4////CWEBAAAJYgEAAAGd/v//uP///wlkAQAACWUBAAABmv7//7j///8JZwEAAAloAQAAAZf+//+4////CWoBAAAICGQAAAABlf7//7j///8JbAEAAAltAQAAAZL+//+4////CW8BAAAICAMAAAABkP7//7j///8JcQEAAAgIQAAAAAGO/v//uP///wlzAQAACAgQAAAAAYz+//+4////CXUBAAAJdgEAAAGJ/v//uP///wl4AQAACXkBAAABhv7//7j///8JewEAAAl8AQAAAYP+//+4////CX4BAAAJfwEAAAGA/v//uP///wmBAQAACYIBAAABff7//7j///8JhAEAAAmFAQAAAXr+//+4////CYcBAAAJiAEAAAF3/v//uP///wmKAQAACYsBAAABdP7//7j///8JjQEAAAgIAgAAAAFy/v//uP///wmPAQAACAgCAAAAAXD+//+4////CZEBAAAJkgEAAAFt/v//uP///wmUAQAACZUBAAABav7//7j///8JlwEAAAmYAQAAAWf+//+4////CZoBAAAICOgDAAABZf7//7j///8JnAEAAAgIBQAAAAFj/v//uP///wmeAQAACZ8BAAABYP7//7j///8JoQEAAAmiAQAAAV3+//+4////CaQBAAAJpQEAAAFa/v//uP///wmnAQAACagBAAABV/7//7j///8JqgEAAAgIFAAAAAFV/v//uP///wmsAQAACAgQAAAAAVP+//+4////Ca4BAAAICAUAAAABUf7//7j///8JsAEAAAgIAwAAAAFP/v//uP///wmyAQAACAgeAAAAAU3+//+4////CbQBAAAICJYAAAABS/7//7j///8JtgEAAAgILAEAAAFJ/v//uP///wm4AQAABrkBAAAvaHR0cDovL2FtdXBkYXRlZGwubWljcm9zb2Z0LmNvbS9zZXJ2ZXIvYW11cGRhdGUBRv7//7j///8JuwEAAAgIR3cAgAFE/v//uP///wm9AQAABr4BAAAHRTJrMTYtMQFB/v//uP///wnAAQAACcEBAAABPv7//7j///8JwwEAAAnEAQAAATv+//+4////CcYBAAAJxwEAAAE4/v//uP///wnJAQAACcoBAAABNf7//7j///8JzAEAAAnNAQAAATL+//+4////Cc8BAAAG0AEAABBEQy0xLkNvbnRvc28ubGFiAS/+//+4////CdIBAAAJ0wEAAAEs/v//uP///wnVAQAABtYBAAARMjAyMzAxMDUxMjA4MzcuMFoBKf7//7j///8J2AEAAAgNU8TgnRzv2kgBJ/7//7j///8J2gEAAAgBAAEl/v//uP///wncAQAACd0BAAAHCgAAAAABAAAAAAAAAAQtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyBwAAAARHAAAAqQFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlZhbGlkYXRpb25FcnJvciwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAApTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVmFsaWRhdGlvbkVycm9yW10HAAAACAgJ3gEAAAAAAAAAAAAABUkAAAA2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uCwAAAA9sZGFwRGlzcGxheU5hbWUOZm9ybWF0UHJvdmlkZXIOc2hhZG93UHJvcGVydHkWc29mdExpbmtTaGFkb3dQcm9wZXJ0eRdtc2VydlByb3BlcnR5RGVmaW5pdGlvbhVtYnhQcm9wZXJ0eURlZmluaXRpb24mU2ltcGxlUHJvdmlkZXJQcm9wZXJ0eURlZmluaXRpb24rZmxhZ3MXUHJvcGVydHlEZWZpbml0aW9uK25hbWUXUHJvcGVydHlEZWZpbml0aW9uK3R5cGUbUHJvcGVydHlEZWZpbml0aW9uK3R5cGVOYW1lOVByb3BlcnR5RGVmaW5pdGlvbityZXF1aXJlZFByb3BlcnR5RGVmaW5pdGlvbnNXaGVuUmVhZGluZwEDBAQEBAABAwEDFlN5c3RlbS5JRm9ybWF0UHJvdmlkZXI2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uAgAAADZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eURlZmluaXRpb24CAAAAOU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5NU2VydlByb3BlcnR5RGVmaW5pdGlvbgIAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTWJ4UHJvcGVydHlEZWZpbml0aW9uAgAAAAgfU3lzdGVtLlVuaXR5U2VyaWFsaXphdGlvbkhvbGRlcrMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSUNvbGxlY3Rpb25gMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlEZWZpbml0aW9uLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0CAAAABt8BAAAZbXNFeGNoQ2FsZW5kYXJSZXBhaXJGbGFncwoKCgoKIAAAAAbgAQAAG0NhbGVuZGFyUmVwYWlyRmxhZ3NJbnRlcm5hbAnhAQAABuIBAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAUsAAABJAAAABuMBAAAbbXNFeGNoQ2FsZW5kYXJSZXBhaXJMb2dQYXRoCgoKCgoAAAAABuQBAAAVQ2FsZW5kYXJSZXBhaXJMb2dQYXRoCeUBAAAG5gEAAJABTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgVMAAAAKU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoBgAAABFMb25nUGF0aCtwYXRoTmFtZRBMb25nUGF0aCtpc1ZhbGlkFExvbmdQYXRoK2lzTG9jYWxGdWxsDkxvbmdQYXRoK2lzVW5jEkxvbmdQYXRoK2RyaXZlTmFtZRNMb25nUGF0aCtzZXJ2ZXJOYW1lAQAAAAEBAQEBCwAAAAbnAQAARUY6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXExvZ2dpbmdcQ2FsZW5kYXIgUmVwYWlyIEFzc2lzdGFudAEBAAboAQAAAkY6CgFOAAAASQAAAAbpAQAAJW1zRXhjaENhbGVuZGFyUmVwYWlySW50ZXJ2YWxFbmRXaW5kb3cKCgoKCiAAAAAG6gEAAB9DYWxlbmRhclJlcGFpckludGVydmFsRW5kV2luZG93CeEBAAAG7AEAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBUAAAAEkAAAAG7QEAACNtc0V4Y2hDYWxlbmRhclJlcGFpckxvZ0ZpbGVBZ2VMaW1pdAoKCgoKIAAAAAbuAQAAHUNhbGVuZGFyUmVwYWlyTG9nRmlsZUFnZUxpbWl0Ce8BAAAG8AEAAIUBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBUQAAAPT///8AgCGo2wcAAAFTAAAASQAAAAbxAQAAJG1zRXhjaENhbGVuZGFyUmVwYWlyTG9nRmlsZVNpemVMaW1pdAoKCgoKAAAAAAbyAQAAI0NhbGVuZGFyUmVwYWlyTG9nRGlyZWN0b3J5U2l6ZUxpbWl0CfMBAAAG9AEAAIsCTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFUAAAA8////wEL/v//8v///wAAQB8AAAAAAQr+///x////AQAAAAAAAAAKAAFWAAAASQAAAAb3AQAAMG1zRXhjaFN5bmNBY2NvdW50c1N1Y2Nlc3NpdmVQb2lzb25JdGVtc1RocmVzaG9sZAoKCgoKIAAAAAb4AQAAMlRyYW5zcG9ydFN5bmNBY2NvdW50c1N1Y2Nlc3NpdmVQb2lzb25JdGVtVGhyZXNob2xkCeEBAAAG+gEAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBWAAAAEkAAAAG+wEAAB1tc0V4Y2hDb250ZW50QWdncmVnYXRpb25GbGFncwoKCgoKIAAAAAb8AQAAGFRyYW5zcG9ydFN5bmNTZXJ2ZXJGbGFncwnhAQAABv4BAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAVoAAABJAAAABv8BAAAmbXNFeGNoU3luY0h1YkhlYWx0aExvZ1BlckZpbGVTaXplUXVvdGEJAAIAAAoKCgogAAAABgECAAAkVHJhbnNwb3J0U3luY0h1YkhlYWx0aExvZ01heEZpbGVTaXplCQICAAAGAwIAAIcBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFbAAAA8v///wAAoAAAAAAAAfz9///x////AAQAAAAAAAAKAV0AAABJAAAABgUCAAAlbXNFeGNoU3luY0h1YkhlYWx0aExvZ0FnZVF1b3RhSW5Ib3VycwoKCgoKIAAAAAYGAgAAH1RyYW5zcG9ydFN5bmNIdWJIZWFsdGhMb2dNYXhBZ2UJ7wEAAAYIAgAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFeAAAA9P///wCAZPiSFwAAAWAAAABJAAAABgkCAAAobXNFeGNoU3luY0h1YkhlYWx0aExvZ0RpcmVjdG9yeVNpemVRdW90YQkAAgAACgoKCiAAAAAGCwIAAClUcmFuc3BvcnRTeW5jSHViSGVhbHRoTG9nTWF4RGlyZWN0b3J5U2l6ZQkCAgAABg0CAACHAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBYQAAAPL///8AAACAAgAAAAHy/f//8f///wAEAAAAAAAACgFjAAAASQAAAAYPAgAAKm1zRXhjaFN5bmNNYWlsYm94SGVhbHRoTG9nUGVyRmlsZVNpemVRdW90YQkAAgAACgoKCiAAAAAGEQIAAChUcmFuc3BvcnRTeW5jTWFpbGJveEhlYWx0aExvZ01heEZpbGVTaXplCQICAAAGEwIAAIcBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFkAAAA8v///wAAoAAAAAAAAez9///x////AAQAAAAAAAAKAWYAAABJAAAABhUCAAApbXNFeGNoU3luY01haWxib3hIZWFsdGhMb2dBZ2VRdW90YUluSG91cnMKCgoKCiAAAAAGFgIAACNUcmFuc3BvcnRTeW5jTWFpbGJveEhlYWx0aExvZ01heEFnZQnvAQAABhgCAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAWcAAAD0////AIBk+JIXAAABaQAAAEkAAAAGGQIAACxtc0V4Y2hTeW5jTWFpbGJveEhlYWx0aExvZ0RpcmVjdG9yeVNpemVRdW90YQkAAgAACgoKCiAAAAAGGwIAAC1UcmFuc3BvcnRTeW5jTWFpbGJveEhlYWx0aExvZ01heERpcmVjdG9yeVNpemUJAgIAAAYdAgAAhwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAWoAAADy////AAAAgAIAAAAB4v3///H///8ABAAAAAAAAAoBbAAAAEkAAAAGHwIAAB5tc0V4Y2hNaWdyYXRpb25Mb2dMb2dnaW5nTGV2ZWwKCgoKCiAAAAAGIAIAABhNaWdyYXRpb25Mb2dMb2dnaW5nTGV2ZWwJIQIAAAYiAgAAhwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5NaWdyYXRpb25FdmVudFR5cGUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBW0AAAAqTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTWlncmF0aW9uRXZlbnRUeXBlAQAAAAd2YWx1ZV9fAAgHAAAAAwAAAAFvAAAASQAAAAYjAgAAIW1zRXhjaE1pZ3JhdGlvbkxvZ0FnZVF1b3RhSW5Ib3VycwoKCgoKIAAAAAYkAgAAEk1pZ3JhdGlvbkxvZ01heEFnZQnvAQAABiYCAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAXAAAAD0////AABb0nGNAAABcgAAAEkAAAAGJwIAACltc0V4Y2hNaWdyYXRpb25Mb2dEaXJlY3RvcnlTaXplUXVvdGFMYXJnZQoKCgoKIAAAAAYoAgAAHE1pZ3JhdGlvbkxvZ01heERpcmVjdG9yeVNpemUJAgIAAAYqAgAAhwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAXMAAADy////AAAAQAEAAAAB1f3///H///8BAAAAAAAAAAoBdQAAAEkAAAAGLAIAACJtc0V4Y2hNaWdyYXRpb25Mb2dQZXJGaWxlU2l6ZVF1b3RhCgoKCgogAAAABi0CAAAXTWlncmF0aW9uTG9nTWF4RmlsZVNpemUJAgIAAAYvAgAAhwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAXYAAADy////AABABgAAAAAB0P3///H///8BAAAAAAAAAAoBeAAAAEkAAAAGMQIAACJtc0V4Y2hEYXRhTG9zc0ZvckF1dG9EYXRhYmFzZU1vdW50CgoKCgogAAAABjICAAAZQXV0b0RhdGFiYXNlTW91bnREaWFsVHlwZQkzAgAABjQCAACyAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLkF1dG9EYXRhYmFzZU1vdW50RGlhbCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBXkAAABLTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlN5c3RlbUNvbmZpZ3VyYXRpb24uQXV0b0RhdGFiYXNlTW91bnREaWFsAQAAAAd2YWx1ZV9fAAgCAAAABgAAAAF7AAAASQAAAAY1AgAAFW1zRXhjaEVMQ0F1ZGl0TG9nUGF0aAoKCgoKAAAAAAY2AgAAD0VsY0F1ZGl0TG9nUGF0aAnlAQAABjgCAACQAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBfAAAAEwAAAAGOQIAAERGOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdFxFeGNoYW5nZVxMb2dnaW5nXE1hbmFnZWQgRm9sZGVyIEFzc2lzdGFudAEBAAY6AgAAAkY6CgF+AAAASQAAAAY7AgAAHW1zRXhjaEVMQ0F1ZGl0TG9nRmlsZUFnZUxpbWl0CgoKCgogAAAABjwCAAAXRWxjQXVkaXRMb2dGaWxlQWdlTGltaXQJ7wEAAAY+AgAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgF/AAAA9P///wAAAAAAAAAAAYEAAABJAAAABj8CAAAebXNFeGNoRUxDQXVkaXRMb2dGaWxlU2l6ZUxpbWl0CgoKCgoAAAAABkACAAAYRWxjQXVkaXRMb2dGaWxlU2l6ZUxpbWl0CfMBAAAGQgIAAIsCTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgGCAAAA8////wG9/f//8v///wAAoAAAAAAAAbz9///x////AQAAAAAAAAAKAAGEAAAASQAAAAZFAgAAGW1zRXhjaEVkZ2VTeW5jQWRhbVNTTFBvcnQKCgoKCiAAAAAGRgIAABNFZGdlU3luY0FkYW1Tc2xQb3J0CeEBAAAGSAIAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBhgAAAEkAAAAGSQIAAAtzeXN0ZW1GbGFncwoKCgoKIAAAAAZKAgAAC1N5c3RlbUZsYWdzCUsCAAAGTAIAAJgBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlN5c3RlbUZsYWdzRW51bSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBYcAAAAxTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlN5c3RlbUZsYWdzRW51bQEAAAAHdmFsdWVfXwAIAgAAAAAAAFIBiQAAAEkAAAAGTQIAAC5tc0V4Y2hUcmFuc3BvcnRNYXhDb25jdXJyZW50TWFpbGJveFN1Ym1pc3Npb25zCgoKCgogAAAABk4CAAAfTWF4Q29uY3VycmVudE1haWxib3hTdWJtaXNzaW9ucwnhAQAABlACAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAYsAAABJAAAABlECAAAWbXNFeGNoTWFpbFRpcHNTZXR0aW5ncwoKCgoKIAAAAAZSAgAAEE1haWxUaXBzU2V0dGluZ3MJUwIAAAZUAgAAWVN5c3RlbS5JbnQ2NCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGNAAAASQAAAAZVAgAAGG1zRXhjaFVNVGNwTGlzdGVuaW5nUG9ydAoKCgoKIAAAAAZWAgAAE1NpcFRjcExpc3RlbmluZ1BvcnQJ4QEAAAZYAgAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGPAAAASQAAAAZZAgAAGG1zRXhjaFVNVGxzTGlzdGVuaW5nUG9ydAoKCgoKIAAAAAZaAgAAE1NpcFRsc0xpc3RlbmluZ1BvcnQJ4QEAAAZcAgAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGRAAAASQAAAAZdAgAAFG1zRXhjaFVNRW5hYmxlZEZsYWdzCgoKCgogAAAABl4CAAALVU1TZXJ2ZXJTZXQJ4QEAAAZgAgAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGTAAAASQAAAAZhAgAAF21zRXhjaFByb3Zpc2lvbmluZ0ZsYWdzCgoKCgliAgAAIAIAAAZjAgAAEVByb3Zpc2lvbmluZ0ZsYWdzCeEBAAAGZQIAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBlQAAAEkAAAAGZgIAABRtc0V4Y2hUcmFuc3BvcnRGbGFncwoKCgoKIAAAAAZnAgAAFFRyYW5zcG9ydFNlcnZlckZsYWdzCeEBAAAGaQIAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBlwAAAEkAAAAGagIAABVtc0V4Y2hDb21wb25lbnRTdGF0ZXMKCgoKCgIAAAAGawIAAA9Db21wb25lbnRTdGF0ZXMJbAIAAAZtAgAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoFmAAAAIsBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTXVsdGlWYWx1ZWRQcm9wZXJ0eWAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQwAAAAUcmVhZE9ubHlFcnJvck1lc3NhZ2UKaXNSZWFkT25seRFpc0NoYW5nZXNPbmx5Q29weQp3YXNDbGVhcmVkB2NoYW5nZWQScHJvcGVydHlEZWZpbml0aW9uGXNlcmlhbGl6ZXJBc3NlbWJseVZlcnNpb24Yc2VyaWFsaXplZFByb3BlcnR5VmFsdWVzFXNlcmlhbGl6ZWRBZGRlZFZhbHVlcxdzZXJpYWxpemVkUmVtb3ZlZFZhbHVlcyhNdWx0aVZhbHVlZFByb3BlcnR5QmFzZStpc0NvbXBsZXRlbHlSZWFkM011bHRpVmFsdWVkUHJvcGVydHlCYXNlKzxWYWx1ZVJhbmdlPmtfX0JhY2tpbmdGaWVsZAMAAAAABAMFBQUABKoBU3lzdGVtLk51bGxhYmxlYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbi5Mb2NhbGl6ZWRTdHJpbmcsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0BAQEBNk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5RGVmaW5pdGlvbgIAAAAOU3lzdGVtLlZlcnNpb24BIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkludFJhbmdlBwAAAAcAAAAKAAAAAAmXAAAACQYAAAAJcAIAAAoKAQoBmgAAAEkAAAAGcQIAAB1tc0V4Y2hBdXRvREFHUGFyYW1TZXJ2ZXJGbGFncwoKCgoKIAAAAAZyAgAADEF1dG9EYWdGbGFncwnhAQAABnQCAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAZwAAABJAAAABnUCAAAWbXNFeGNoQWN0aXZhdGlvbkNvbmZpZwoKCgoKIAAAAAZ2AgAAEEFjdGl2YXRpb25Db25maWcJ4QEAAAZ4AgAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGeAAAASQAAAAZ5AgAAFW1zRXhjaFNlcnZlckZhdWx0Wm9uZQoKCgoKAAAAAAZ6AgAACUZhdWx0Wm9uZQlsAgAABnwCAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGhAAAASQAAAAZ9AgAAFm1zRXhjaENvbmZpZ3VyYXRpb25YTUwKCgoKCX4CAAAAAAAABn8CAAATQ29uZmlndXJhdGlvblhNTFJhdwlsAgAABoECAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGkAAAASQAAAAaCAgAAFG1zRXhjaE1haWxib3hSZWxlYXNlCgoKCgmDAgAAAAAAAAaEAgAADk1haWxib3hSZWxlYXNlCWwCAAAGhgIAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAacAAABJAAAABocCAAAQbGVnYWN5RXhjaGFuZ2VETgoKCgoKEAIAAAaIAgAAEEV4Y2hhbmdlTGVnYWN5RE4JbAIAAAaKAgAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBqgAAAEkAAAAGiwIAABptc0V4Y2hSZXNwb25zaWJsZU1UQVNlcnZlcgoKCgoKAAYAAAaMAgAAFkludGVybmFsUmVzcG9uc2libGVNVEEJjQIAAAaOAgAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBasAAAAsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQIAAAADXBhcnRpdGlvbkd1aWQNcGFydGl0aW9uRnFkbgpvYmplY3RHdWlkEWRpc3Rpbmd1aXNoZWROYW1lGHNlY3VyaXR5SWRlbnRpZmllclN0cmluZwVkZXB0aAt0b1N0cmluZ1ZhbBlleGVjdXRpbmdVc2VyT3JnYW5pemF0aW9uAwEDAQEAAQQLU3lzdGVtLkd1aWQLU3lzdGVtLkd1aWQIME1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5Pcmdhbml6YXRpb25JZAIAAAACAAAABHH9//8LU3lzdGVtLkd1aWQLAAAAAl9hAl9iAl9jAl9kAl9lAl9mAl9nAl9oAl9pAl9qAl9rAAAAAAAAAAAAAAAIBwcCAgICAgICAnEvzlmi6t9NpPryUGnQsyQKAXD9//9x/f//riFAruwQtEaKqNtAAYVf7gaRAgAAxwFDTj1NaWNyb3NvZnQgTVRBLENOPUUyazE2LTEsQ049U2VydmVycyxDTj1FeGNoYW5nZSBBZG1pbmlzdHJhdGl2ZSBHcm91cCAoRllESUJPSEYyM1NQRExUKSxDTj1BZG1pbmlzdHJhdGl2ZSBHcm91cHMsQ049Q29udG9zbyBMYWJzLENOPU1pY3Jvc29mdCBFeGNoYW5nZSxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUNvbnRvc28sREM9bGFiCgoAAAAKCZICAAABrQAAAEkAAAAGkwIAAA5tc0V4Y2hEYXRhUGF0aAoKCgoKAAAAAAaUAgAACERhdGFQYXRoCeUBAAAGlgIAAJABTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgGuAAAATAAAAAaXAgAAK0Y6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXE1haWxib3gBAQAGmAIAAAJGOgoBsAAAAEkAAAAGmQIAABFtc0V4Y2hJbnN0YWxsUGF0aAoKCgoKAAAAAAaaAgAAC0luc3RhbGxQYXRoCeUBAAAGnAIAAJABTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgGxAAAATAAAAAadAgAAI0Y6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlAQEABp4CAAACRjoKAbMAAABJAAAABp8CAAAKaGV1cmlzdGljcwoKCgoKIAAAAAagAgAACkhldXJpc3RpY3MJ4QEAAAaiAgAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgG1AAAASQAAAAajAgAADm5ldHdvcmtBZGRyZXNzCgoKCgoCAAAABqQCAAAOTmV0d29ya0FkZHJlc3MJpQIAAAamAgAAgwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5OZXR3b3JrQWRkcmVzcywgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFtgAAADBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5OZXR3b3JrQWRkcmVzc0NvbGxlY3Rpb24MAAAAKk11bHRpVmFsdWVkUHJvcGVydHlgMStyZWFkT25seUVycm9yTWVzc2FnZSBNdWx0aVZhbHVlZFByb3BlcnR5YDEraXNSZWFkT25seSdNdWx0aVZhbHVlZFByb3BlcnR5YDEraXNDaGFuZ2VzT25seUNvcHkgTXVsdGlWYWx1ZWRQcm9wZXJ0eWAxK3dhc0NsZWFyZWQdTXVsdGlWYWx1ZWRQcm9wZXJ0eWAxK2NoYW5nZWQoTXVsdGlWYWx1ZWRQcm9wZXJ0eWAxK3Byb3BlcnR5RGVmaW5pdGlvbi9NdWx0aVZhbHVlZFByb3BlcnR5YDErc2VyaWFsaXplckFzc2VtYmx5VmVyc2lvbi5NdWx0aVZhbHVlZFByb3BlcnR5YDErc2VyaWFsaXplZFByb3BlcnR5VmFsdWVzK011bHRpVmFsdWVkUHJvcGVydHlgMStzZXJpYWxpemVkQWRkZWRWYWx1ZXMtTXVsdGlWYWx1ZWRQcm9wZXJ0eWAxK3NlcmlhbGl6ZWRSZW1vdmVkVmFsdWVzKE11bHRpVmFsdWVkUHJvcGVydHlCYXNlK2lzQ29tcGxldGVseVJlYWQzTXVsdGlWYWx1ZWRQcm9wZXJ0eUJhc2UrPFZhbHVlUmFuZ2U+a19fQmFja2luZ0ZpZWxkAwAAAAAEAwUFBQAEqgFTeXN0ZW0uTnVsbGFibGVgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQ29tbW9uLkxvY2FsaXplZFN0cmluZywgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQ29tbW9uLCBWZXJzaW9uPTE1LjEuMjUwMy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQEBAQE2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uAgAAAA5TeXN0ZW0uVmVyc2lvbgEgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuSW50UmFuZ2UHAAAABwAAAAoAAAAACbUAAAAJBgAAAAmpAgAACgoBCgG4AAAASQAAAAaqAgAADHNlcmlhbE51bWJlcgoKCgoKAAAAAAarAgAADFNlcmlhbE51bWJlcglsAgAABq0CAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgG7AAAASQAAAAauAgAACnNlcnZlclJvbGUKCgoKCgAAAAAGrwIAAApTZXJ2ZXJSb2xlCbACAAAGsQIAAKcBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlN5c3RlbUNvbmZpZ3VyYXRpb24uU2VydmVyUm9sZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBbwAAABATWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlN5c3RlbUNvbmZpZ3VyYXRpb24uU2VydmVyUm9sZQEAAAAHdmFsdWVfXwAIAgAAAAAAAAABvgAAAEkAAAAGsgIAAAR0eXBlCgoKCgoAAAAABrMCAAAKU2VydmVyVHlwZQlsAgAABrUCAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgHBAAAASQAAAAa2AgAADXZlcnNpb25OdW1iZXIKCgoKCjAAAAAGtwIAAA1WZXJzaW9uTnVtYmVyCeEBAAAGuQIAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBwwAAAEkAAAAGugIAABBtc0V4Y2hTZXJ2ZXJSb2xlCgoKCgogAAAABrsCAAAYRXhjaGFuZ2VMZWdhY3lTZXJ2ZXJSb2xlCeEBAAAGvQIAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBxQAAAEkAAAAGvgIAABhtc0V4Y2hDdXJyZW50U2VydmVyUm9sZXMKCgoKCiAAAAAGvwIAABFDdXJyZW50U2VydmVyUm9sZQmwAgAABsECAACnAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLlNlcnZlclJvbGUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgHGAAAAvAAAADdAAAAByAAAAEkAAAAGwgIAABZtc0V4Y2hIb21lUm91dGluZ0dyb3VwCgoKCgoABAAABsMCAAAQSG9tZVJvdXRpbmdHcm91cAmNAgAABsUCAACTAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoByQAAAKsAAAABOv3//3H9//9xL85ZourfTaT68lBp0LMkCgE5/f//cf3//9u0pliCAtFHuZxIYsKLrTEGyAIAAN4BQ049RXhjaGFuZ2UgUm91dGluZyBHcm91cCAoRFdCR1pNRkQwMVFOQkpSKSxDTj1Sb3V0aW5nIEdyb3VwcyxDTj1FeGNoYW5nZSBBZG1pbmlzdHJhdGl2ZSBHcm91cCAoRllESUJPSEYyM1NQRExUKSxDTj1BZG1pbmlzdHJhdGl2ZSBHcm91cHMsQ049Q29udG9zbyBMYWJzLENOPU1pY3Jvc29mdCBFeGNoYW5nZSxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUNvbnRvc28sREM9bGFiCgkAAAAKCZICAAABywAAAEkAAAAGygIAABttc0V4Y2hTZXJ2ZXJJbnRlcm5hbFRMU0NlcnQKCgoKCoAAAAAGywIAABxJbnRlcm5hbFRyYW5zcG9ydENlcnRpZmljYXRlCcwCAAAGzQIAAFpTeXN0ZW0uQnl0ZVtdLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKD8wAAADwAwAAAgsAAAABAAAAEAAAAEUAMgBrADEANgAtADEAAAADAAAAAQAAABQAAADQA4EOvhYkFFiJ0DH7t37SvSgP0wIAAAABAAAAbAAAABwAAAAAAAAADAAAACAAAAAAAAAAAAAAAAEAAAA4ADQAMwAzAGYAZAA5ADMALQA4AGMANgA4AC0ANAA3ADYAYwAtADgAYwA3AGIALQBjADIAMABjAGYAOAAxADcANgAyADcAZAAAAAAAAAAAABQAAAABAAAAFAAAAMjtaKiQLKnA9PltaIRmSdDp8bjiIAAAAAEAAAAQAwAAMIIDDDCCAfSgAwIBAgIQafxFST/yJIFA3Z1TtNkpVzANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDEwdFMmsxNi0xMB4XDTIyMTIzMDE0MzkwOFoXDTI3MTIzMDE0MzkwOFowEjEQMA4GA1UEAxMHRTJrMTYtMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL329TDnYHScVTPyXPRE+xM92V1tDJVOc/QyB9j/cMrMH905PIfHqecgVSGKhZpS5LCJ666fOZYj4Q/qctIqCK1kemQWJzOyCfD+eTsybFpy8ePaXX6J8ap5iUxj4OBQpEI9tlLxwPxrgXBZC8Alm9ikierdK7os1AysFnJX1TaoIJElyYPfTiY44HL27q33x4+EIo3FHNn2t5A2zc3KQsa8hYQ2LBnO52tBlHOzngd3VLJoKtDajWRinHF1LlBNwAmjJWeVfWcE7q4nngs+5NIUr6rNTx9EUql0ikukr3tHgnHVXDUKNK9f5chSoaycRpMkhOFHNjqcp71SIhe09bUCAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgWgMCcGA1UdEQQgMB6CB0UyazE2LTGCE0UyazE2LTEuQ29udG9zby5sYWIwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAQEAqYpdfs2fN+lHCxB3Ems0vU2AzBic/2CjStSfuPxKXeTjKnikgAhBv/GHNqQ6dphaLLktAfzONQr4NE9iWTn/i46PXDiimEWSllTP3aBMeWcnjezQsGROxq+OWAcWhhc6maXh85VoZwrhG3Nwc6lxqdi0X9c26GLlq+vBzIK3b2wWz+dtdyPui6CadQFXBKuSYdgGsQlmeHpi17mRfTmrVH8RNyOm8Y3TuCij7FDKp8c3PGk9H9giYrYCnSJ2b1KO+LOoGXhDzJ5POas/gy5qe1SPizAwbdWmT21y6JVFbT8kfm5PqBEVggYwCfhMZkjWaOKHHuDzC5E59jxH+j2g4AHOAAAASQAAAAbOAgAAD21zRXhjaFByb2R1Y3RJRAoKCgoKAAIAAAbPAgAACVByb2R1Y3RJRAlsAgAABtECAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgHRAAAASQAAAAbSAgAABG5hbWUKCgoJ0wIAAAnUAgAAAAIAAAbVAgAAB1Jhd05hbWUJbAIAAAbXAgAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoB1AAAAEkAAAAG2AIAAAt3aGVuQ3JlYXRlZAoKCgoJ2QIAAAEAAAAG2gIAAA5XaGVuQ3JlYXRlZFJhdwlsAgAABtwCAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgHXAAAASQAAAAbdAgAAJ21zRXhjaFRyYW5zcG9ydERlbGF5Tm90aWZpY2F0aW9uVGltZW91dAoKCgoKIAAAAAbeAgAAGERlbGF5Tm90aWZpY2F0aW9uVGltZW91dAnvAQAABuACAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAdgAAAD0////AKARhyEAAAAB2gAAAEkAAAAG4QIAACdtc0V4Y2hUcmFuc3BvcnRNZXNzYWdlRXhwaXJhdGlvblRpbWVvdXQKCgoKCiAAAAAG4gIAABhNZXNzYWdlRXhwaXJhdGlvblRpbWVvdXQJ7wEAAAbkAgAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgHbAAAA9P///wCA01SSAQAAAd0AAABJAAAABuUCAAAfbXNFeGNoVHJhbnNwb3J0TWF4UXVldWVJZGxlVGltZQoKCgoKIAAAAAbmAgAAEFF1ZXVlTWF4SWRsZVRpbWUJ7wEAAAboAgAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgHeAAAA9P///wDSSWsAAAAAAeAAAABJAAAABukCAAAjbXNFeGNoVHJhbnNwb3J0TWVzc2FnZVJldHJ5SW50ZXJ2YWwKCgoKCiAAAAAG6gIAABRNZXNzYWdlUmV0cnlJbnRlcnZhbAnvAQAABuwCAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAeEAAAD0////ABpxGAIAAAAB4wAAAEkAAAAG7QIAACxtc0V4Y2hUcmFuc3BvcnRUcmFuc2llbnRGYWlsdXJlUmV0cnlJbnRlcnZhbAoKCgoKIAAAAAbuAgAAHVRyYW5zaWVudEZhaWx1cmVSZXRyeUludGVydmFsCe8BAAAG8AIAAIUBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoB5AAAAPT///8AXtCyAAAAAAHmAAAASQAAAAbxAgAAKW1zRXhjaFRyYW5zcG9ydFRyYW5zaWVudEZhaWx1cmVSZXRyeUNvdW50CgoKCgogAAAABvICAAAaVHJhbnNpZW50RmFpbHVyZVJldHJ5Q291bnQJ4QEAAAb0AgAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgHoAAAASQAAAAb1AgAAIG1zRXhjaFNtdHBNYXhPdXRnb2luZ0Nvbm5lY3Rpb25zCgoKCgoAAAAABvYCAAAWTWF4T3V0Ym91bmRDb25uZWN0aW9ucwn3AgAABvgCAADdAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgXpAAAAgAFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAMbGltaXRlZFZhbHVlC2lzVW5saW1pdGVkAAAIAQcAAADoAwAAAAHrAAAASQAAAAb5AgAAKW1zRXhjaFNtdHBNYXhPdXRnb2luZ0Nvbm5lY3Rpb25zUGVyRG9tYWluCgoKCgoAAAAABvoCAAAfTWF4UGVyRG9tYWluT3V0Ym91bmRDb25uZWN0aW9ucwn3AgAABvwCAADdAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgHsAAAA6QAAABQAAAAAAe4AAABJAAAABv0CAAArbXNFeGNoU210cFJlY2VpdmVNYXhDb25uZWN0aW9uUmF0ZVBlck1pbnV0ZQoKCgoKIAAAAAb+AgAAGk1heENvbm5lY3Rpb25SYXRlUGVyTWludXRlCeEBAAAGAAMAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoB8AAAAEkAAAAGAQMAACVtc0V4Y2hUcmFuc3BvcnRSZWNlaXZlUHJvdG9jb2xMb2dQYXRoCgoKCgoAAAAABgIDAAAWUmVjZWl2ZVByb3RvY29sTG9nUGF0aAnlAQAABgQDAACQAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoB8QAAAEwAAAAGBQMAAFNGOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdFxFeGNoYW5nZVxUcmFuc3BvcnRSb2xlc1xMb2dzXEh1YlxQcm90b2NvbExvZ1xTbXRwUmVjZWl2ZQEBAAYGAwAAAkY6CgHzAAAASQAAAAYHAwAAIm1zRXhjaFRyYW5zcG9ydFNlbmRQcm90b2NvbExvZ1BhdGgKCgoKCgAAAAAGCAMAABNTZW5kUHJvdG9jb2xMb2dQYXRoCeUBAAAGCgMAAJABTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgH0AAAATAAAAAYLAwAAUEY6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXFRyYW5zcG9ydFJvbGVzXExvZ3NcSHViXFByb3RvY29sTG9nXFNtdHBTZW5kAQEABgwDAAACRjoKAfYAAABJAAAABg0DAAA1bXNFeGNoVHJhbnNwb3J0T3V0Ym91bmRDb25uZWN0aW9uRmFpbHVyZVJldHJ5SW50ZXJ2YWwKCgoKCiAAAAAGDgMAACZPdXRib3VuZENvbm5lY3Rpb25GYWlsdXJlUmV0cnlJbnRlcnZhbAnvAQAABhADAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAfcAAAD0////ALygZQEAAAAB+QAAAEkAAAAGEQMAACdtc0V4Y2hUcmFuc3BvcnRNYXhSZWNlaXZlUHJvdG9jb2xMb2dBZ2UKCgoKCiAAAAAGEgMAABhSZWNlaXZlUHJvdG9jb2xMb2dNYXhBZ2UJ7wEAAAYUAwAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgH6AAAA9P///wCAZPiSFwAAAfwAAABJAAAABhUDAAAxbXNFeGNoVHJhbnNwb3J0TWF4UmVjZWl2ZVByb3RvY29sTG9nRGlyZWN0b3J5U2l6ZQoKCgoKAAAAAAYWAwAAIlJlY2VpdmVQcm90b2NvbExvZ01heERpcmVjdG9yeVNpemUJ8wEAAAYYAwAAiwJNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAf0AAADz////Aef8///y////AACgDwAAAAAB5vz///H///8BAAAAAAAAAAoAAf8AAABJAAAABhsDAAAsbXNFeGNoVHJhbnNwb3J0TWF4UmVjZWl2ZVByb3RvY29sTG9nRmlsZVNpemUKCgoKCgAAAAAGHAMAAB1SZWNlaXZlUHJvdG9jb2xMb2dNYXhGaWxlU2l6ZQnzAQAABh4DAACLAk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBAAEAAPP///8B4fz///L///8AAKAAAAAAAAHg/P//8f///wEAAAAAAAAACgABAgEAAEkAAAAGIQMAACRtc0V4Y2hUcmFuc3BvcnRNYXhTZW5kUHJvdG9jb2xMb2dBZ2UKCgoKCiAAAAAGIgMAABVTZW5kUHJvdG9jb2xMb2dNYXhBZ2UJ7wEAAAYkAwAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgEDAQAA9P///wCAZPiSFwAAAQUBAABJAAAABiUDAAAubXNFeGNoVHJhbnNwb3J0TWF4U2VuZFByb3RvY29sTG9nRGlyZWN0b3J5U2l6ZQoKCgoKAAAAAAYmAwAAH1NlbmRQcm90b2NvbExvZ01heERpcmVjdG9yeVNpemUJ8wEAAAYoAwAAiwJNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAQYBAADz////Adf8///y////AACgDwAAAAAB1vz///H///8BAAAAAAAAAAoAAQgBAABJAAAABisDAAApbXNFeGNoVHJhbnNwb3J0TWF4U2VuZFByb3RvY29sTG9nRmlsZVNpemUKCgoKCgAAAAAGLAMAABpTZW5kUHJvdG9jb2xMb2dNYXhGaWxlU2l6ZQnzAQAABi4DAACLAk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBCQEAAPP///8B0fz///L///8AAKAAAAAAAAHQ/P//8f///wEAAAAAAAAACgABCwEAAEkAAAAGMQMAAC1tc0V4Y2hUcmFuc3BvcnRNYXhDb25jdXJyZW50TWFpbGJveERlbGl2ZXJpZXMKCgoKCiAAAAAGMgMAAB5NYXhDb25jdXJyZW50TWFpbGJveERlbGl2ZXJpZXMJ4QEAAAY0AwAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgENAQAASQAAAAY1AwAAJW1zRXhjaFRyYW5zcG9ydFBvaXNvbk1lc3NhZ2VUaHJlc2hvbGQKCgoKCiAAAAAGNgMAAA9Qb2lzb25UaHJlc2hvbGQJ4QEAAAY4AwAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgEPAQAASQAAAAY5AwAAIm1zRXhjaFRyYW5zcG9ydE1lc3NhZ2VUcmFja2luZ1BhdGgKCgoKCgAAAAAGOgMAABZNZXNzYWdlVHJhY2tpbmdMb2dQYXRoCeUBAAAGPAMAAJABTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgEQAQAATAAAAAY9AwAAR0Y6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXFRyYW5zcG9ydFJvbGVzXExvZ3NcTWVzc2FnZVRyYWNraW5nAQEABj4DAAACRjoKARIBAABJAAAABj8DAAAnbXNFeGNoVHJhbnNwb3J0TWF4TWVzc2FnZVRyYWNraW5nTG9nQWdlCgoKCgogAAAABkADAAAYTWVzc2FnZVRyYWNraW5nTG9nTWF4QWdlCe8BAAAGQgMAAIUBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBEwEAAPT///8AgGT4khcAAAEVAQAASQAAAAZDAwAALm1zRXhjaFRyYW5zcG9ydE1heE1lc3NhZ2VUcmFja2luZ0RpcmVjdG9yeVNpemUKCgoKCgAAAAAGRAMAACJNZXNzYWdlVHJhY2tpbmdMb2dNYXhEaXJlY3RvcnlTaXplCfMBAAAGRgMAAIsCTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgEWAQAA8////wG5/P//8v///wAAgD4AAAAAAbj8///x////AQAAAAAAAAAKAAEYAQAASQAAAAZJAwAAKW1zRXhjaFRyYW5zcG9ydE1heE1lc3NhZ2VUcmFja2luZ0ZpbGVTaXplCgoKCgogAAAABkoDAAAdTWVzc2FnZVRyYWNraW5nTG9nTWF4RmlsZVNpemUJAgIAAAZMAwAAhwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKARkBAADy////AACgAAAAAAABs/z///H///8BAAAAAAAAAAoBGwEAAEkAAAAGTgMAABBtc0V4Y2hJUk1Mb2dQYXRoCgoKCgoAAAAABk8DAAAKSXJtTG9nUGF0aAnlAQAABlEDAACQAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBHAEAAEwAAAAGUgMAADNGOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdFxFeGNoYW5nZVxMb2dnaW5nXElSTUxvZ3MBAQAGUwMAAAJGOgoBHgEAAEkAAAAGVAMAABJtc0V4Y2hJUk1Mb2dNYXhBZ2UKCgoKCiAAAAAGVQMAAAxJcm1Mb2dNYXhBZ2UJ7wEAAAZXAwAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgEfAQAA9P///wCAZPiSFwAAASEBAABJAAAABlgDAAAcbXNFeGNoSVJNTG9nTWF4RGlyZWN0b3J5U2l6ZQoKCgoKAAAAAAZZAwAAFklybUxvZ01heERpcmVjdG9yeVNpemUJ8wEAAAZbAwAAiwJNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKASIBAADz////AaT8///y////AACgDwAAAAABo/z///H///8BAAAAAAAAAAoAASQBAABJAAAABl4DAAAXbXNFeGNoSVJNTG9nTWF4RmlsZVNpemUKCgoKCiAAAAAGXwMAABFJcm1Mb2dNYXhGaWxlU2l6ZQkCAgAABmEDAACHAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBJQEAAPL///8AAKAAAAAAAAGe/P//8f///wEAAAAAAAAACgEnAQAASQAAAAZjAwAAJm1zRXhjaFRyYW5zcG9ydFJlY2lwaWVudFN0YXRpc3RpY3NQYXRoCgoKCgoAAAAABmQDAAAbQWN0aXZlVXNlclN0YXRpc3RpY3NMb2dQYXRoCeUBAAAGZgMAAJABTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgEoAQAATAAAAAZnAwAATEY6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXFRyYW5zcG9ydFJvbGVzXExvZ3NcSHViXEFjdGl2ZVVzZXJzU3RhdHMBAQAGaAMAAAJGOgoBKgEAAEkAAAAGaQMAACttc0V4Y2hUcmFuc3BvcnRNYXhSZWNpcGllbnRTdGF0aXN0aWNzTG9nQWdlCgoKCgogAAAABmoDAAAdQWN0aXZlVXNlclN0YXRpc3RpY3NMb2dNYXhBZ2UJ7wEAAAZsAwAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgErAQAA9P///wCAZPiSFwAAAS0BAABJAAAABm0DAAAvbXNFeGNoVHJhbnNwb3J0UmVjaXBpZW50U3RhdGlzdGljc0RpcmVjdG9yeVNpemUKCgoKCiAAAAAGbgMAACdBY3RpdmVVc2VyU3RhdGlzdGljc0xvZ01heERpcmVjdG9yeVNpemUJAgIAAAZwAwAAhwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAS4BAADy////AACgDwAAAAABj/z///H///8BAAAAAAAAAAoBMAEAAEkAAAAGcgMAACptc0V4Y2hUcmFuc3BvcnRSZWNpcGllbnRTdGF0aXN0aWNzRmlsZVNpemUKCgoKCiAAAAAGcwMAACJBY3RpdmVVc2VyU3RhdGlzdGljc0xvZ01heEZpbGVTaXplCQICAAAGdQMAAIcBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgExAQAA8v///wAAoAAAAAAAAYr8///x////AQAAAAAAAAAKATMBAABJAAAABncDAAAjbXNFeGNoVHJhbnNwb3J0U2VydmVyU3RhdGlzdGljc1BhdGgKCgoKCgAAAAAGeAMAABdTZXJ2ZXJTdGF0aXN0aWNzTG9nUGF0aAnlAQAABnoDAACQAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBNAEAAEwAAAAGewMAAEdGOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdFxFeGNoYW5nZVxUcmFuc3BvcnRSb2xlc1xMb2dzXEh1YlxTZXJ2ZXJTdGF0cwEBAAZ8AwAAAkY6CgE2AQAASQAAAAZ9AwAAKG1zRXhjaFRyYW5zcG9ydE1heFNlcnZlclN0YXRpc3RpY3NMb2dBZ2UKCgoKCiAAAAAGfgMAABlTZXJ2ZXJTdGF0aXN0aWNzTG9nTWF4QWdlCe8BAAAGgAMAAIUBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBNwEAAPT///8AgGT4khcAAAE5AQAASQAAAAaBAwAALG1zRXhjaFRyYW5zcG9ydFNlcnZlclN0YXRpc3RpY3NEaXJlY3RvcnlTaXplCgoKCgogAAAABoIDAAAjU2VydmVyU3RhdGlzdGljc0xvZ01heERpcmVjdG9yeVNpemUJAgIAAAaEAwAAhwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAToBAADy////AACgDwAAAAABe/z///H///8BAAAAAAAAAAoBPAEAAEkAAAAGhgMAACdtc0V4Y2hUcmFuc3BvcnRTZXJ2ZXJTdGF0aXN0aWNzRmlsZVNpemUKCgoKCiAAAAAGhwMAAB5TZXJ2ZXJTdGF0aXN0aWNzTG9nTWF4RmlsZVNpemUJAgIAAAaJAwAAhwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAT0BAADy////AACgAAAAAAABdvz///H///8BAAAAAAAAAAoBPwEAAEkAAAAGiwMAACJtc0V4Y2hUcmFuc3BvcnRQaXBlbGluZVRyYWNpbmdQYXRoCgoKCgoAAAAABowDAAATUGlwZWxpbmVUcmFjaW5nUGF0aAnlAQAABo4DAACQAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBQAEAAEwAAAAGjwMAAEtGOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdFxFeGNoYW5nZVxUcmFuc3BvcnRSb2xlc1xMb2dzXEh1YlxQaXBlbGluZVRyYWNpbmcBAQAGkAMAAAJGOgoBQgEAAEkAAAAGkQMAACJtc0V4Y2hUcmFuc3BvcnRDb25uZWN0aXZpdHlMb2dQYXRoCgoKCgoAAAAABpIDAAATQ29ubmVjdGl2aXR5TG9nUGF0aAnlAQAABpQDAACQAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBQwEAAEwAAAAGlQMAAEhGOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdFxFeGNoYW5nZVxUcmFuc3BvcnRSb2xlc1xMb2dzXEh1YlxDb25uZWN0aXZpdHkBAQAGlgMAAAJGOgoBRQEAAEkAAAAGlwMAACRtc0V4Y2hUcmFuc3BvcnRNYXhDb25uZWN0aXZpdHlMb2dBZ2UKCgoKCiAAAAAGmAMAABVDb25uZWN0aXZpdHlMb2dNYXhBZ2UJ7wEAAAaaAwAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFGAQAA9P///wCAZPiSFwAAAUgBAABJAAAABpsDAAArbXNFeGNoVHJhbnNwb3J0Q29ubmVjdGl2aXR5TG9nRGlyZWN0b3J5U2l6ZQoKCgoKAAAAAAacAwAAH0Nvbm5lY3Rpdml0eUxvZ01heERpcmVjdG9yeVNpemUJ8wEAAAaeAwAAiwJNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAUkBAADz////AWH8///y////AACAPgAAAAABYPz///H///8BAAAAAAAAAAoAAUsBAABJAAAABqEDAAAmbXNFeGNoVHJhbnNwb3J0Q29ubmVjdGl2aXR5TG9nRmlsZVNpemUKCgoKCgAAAAAGogMAABpDb25uZWN0aXZpdHlMb2dNYXhGaWxlU2l6ZQnzAQAABqQDAACLAk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBTAEAAPP///8BW/z///L///8AAKAAAAAAAAFa/P//8f///wEAAAAAAAAACgABTgEAAEkAAAAGpwMAACJtc0V4Y2hUcmFuc3BvcnRQaWNrdXBEaXJlY3RvcnlQYXRoCgoKCgoAAAAABqgDAAATUGlja3VwRGlyZWN0b3J5UGF0aAnlAQAABqoDAACQAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBTwEAAEwAAAAGqwMAADlGOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdFxFeGNoYW5nZVxUcmFuc3BvcnRSb2xlc1xQaWNrdXABAQAGrAMAAAJGOgoBUQEAAEkAAAAGrQMAACJtc0V4Y2hUcmFuc3BvcnRSZXBsYXlEaXJlY3RvcnlQYXRoCgoKCgoAAAAABq4DAAATUmVwbGF5RGlyZWN0b3J5UGF0aAnlAQAABrADAACQAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBUgEAAEwAAAAGsQMAADlGOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdFxFeGNoYW5nZVxUcmFuc3BvcnRSb2xlc1xSZXBsYXkBAQAGsgMAAAJGOgoBVAEAAEkAAAAGswMAADJtc0V4Y2hUcmFuc3BvcnRNYXhQaWNrdXBEaXJlY3RvcnlNZXNzYWdlc1Blck1pbnV0ZQoKCgoKIAAAAAa0AwAAI1BpY2t1cERpcmVjdG9yeU1heE1lc3NhZ2VzUGVyTWludXRlCeEBAAAGtgMAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBVgEAAEkAAAAGtwMAACttc0V4Y2hUcmFuc3BvcnRNYXhQaWNrdXBEaXJlY3RvcnlIZWFkZXJTaXplCgoKCgogAAAABrgDAAAcUGlja3VwRGlyZWN0b3J5TWF4SGVhZGVyU2l6ZQkCAgAABroDAACHAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBVwEAAPL///8AAAEAAAAAAAFF/P//8f///wEAAAAAAAAACgFZAQAASQAAAAa8AwAAK21zRXhjaFRyYW5zcG9ydE1heFBpY2t1cERpcmVjdG9yeVJlY2lwaWVudHMKCgoKCiAAAAAGvQMAACZQaWNrdXBEaXJlY3RvcnlNYXhSZWNpcGllbnRzUGVyTWVzc2FnZQnhAQAABr8DAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAVsBAABJAAAABsADAAAdbXNFeGNoVHJhbnNwb3J0Um91dGluZ0xvZ1BhdGgKCgoKCgAAAAAGwQMAABNSb3V0aW5nVGFibGVMb2dQYXRoCeUBAAAGwwMAAJABTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFcAQAATAAAAAbEAwAAQ0Y6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXFRyYW5zcG9ydFJvbGVzXExvZ3NcSHViXFJvdXRpbmcBAQAGxQMAAAJGOgoBXgEAAEkAAAAGxgMAAB9tc0V4Y2hUcmFuc3BvcnRSb3V0aW5nTG9nTWF4QWdlCgoKCgogAAAABscDAAAVUm91dGluZ1RhYmxlTG9nTWF4QWdlCe8BAAAGyQMAAIUBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBXwEAAPT///8AQOQogAUAAAFhAQAASQAAAAbKAwAAKW1zRXhjaFRyYW5zcG9ydFJvdXRpbmdMb2dNYXhEaXJlY3RvcnlTaXplCgoKCgoAAAAABssDAAAfUm91dGluZ1RhYmxlTG9nTWF4RGlyZWN0b3J5U2l6ZQnzAQAABs0DAACLAk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBYgEAAPP///8BMvz///L///8AACADAAAAAAEx/P//8f///wEAAAAAAAAACgABZAEAAEkAAAAG0AMAAB5tc0V4Y2hNREJBdmFpbGFiaWxpdHlHcm91cExpbmsKCgoKCgAEAAAG0QMAABlEYXRhYmFzZUF2YWlsYWJpbGl0eUdyb3VwCY0CAAAG0wMAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFlAQAAqwAAAAEs/P//cf3//3Evzlmi6t9NpPryUGnQsyQKASv8//9x/f//PpcjaPoMqUSsP9T5ralVrAbWAwAAzwFDTj1Db250b3NvLURhZyxDTj1EYXRhYmFzZSBBdmFpbGFiaWxpdHkgR3JvdXBzLENOPUV4Y2hhbmdlIEFkbWluaXN0cmF0aXZlIEdyb3VwIChGWURJQk9IRjIzU1BETFQpLENOPUFkbWluaXN0cmF0aXZlIEdyb3VwcyxDTj1Db250b3NvIExhYnMsQ049TWljcm9zb2Z0IEV4Y2hhbmdlLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9Q29udG9zbyxEQz1sYWIKCQAAAAoJkgIAAAFnAQAASQAAAAbYAwAAGm1zRXhjaFVNQXZhaWxhYmxlTGFuZ3VhZ2VzCgoKCgoCAAAABtkDAAANTGFuZ3VhZ2VzVGVtcAnhAQAABtsDAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKBWgBAACKAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk11bHRpVmFsdWVkUHJvcGVydHlgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQwAAAAUcmVhZE9ubHlFcnJvck1lc3NhZ2UKaXNSZWFkT25seRFpc0NoYW5nZXNPbmx5Q29weQp3YXNDbGVhcmVkB2NoYW5nZWQScHJvcGVydHlEZWZpbml0aW9uGXNlcmlhbGl6ZXJBc3NlbWJseVZlcnNpb24Yc2VyaWFsaXplZFByb3BlcnR5VmFsdWVzFXNlcmlhbGl6ZWRBZGRlZFZhbHVlcxdzZXJpYWxpemVkUmVtb3ZlZFZhbHVlcyhNdWx0aVZhbHVlZFByb3BlcnR5QmFzZStpc0NvbXBsZXRlbHlSZWFkM011bHRpVmFsdWVkUHJvcGVydHlCYXNlKzxWYWx1ZVJhbmdlPmtfX0JhY2tpbmdGaWVsZAMAAAAABAMFBQUABKoBU3lzdGVtLk51bGxhYmxlYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbi5Mb2NhbGl6ZWRTdHJpbmcsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0BAQEBNk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5RGVmaW5pdGlvbgIAAAAOU3lzdGVtLlZlcnNpb24BIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkludFJhbmdlBwAAAAcAAAAKAAAAAAlnAQAACQYAAAAJ3gMAAAoKAQoBagEAAEkAAAAG3wMAABttc0V4Y2hVTU1heGltdW1DYWxsc0FsbG93ZWQKCgoKCgAAAAAG4AMAAA9NYXhDYWxsc0FsbG93ZWQJ4QMAAAbiAwAAuwFTeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXSwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgFsAQAASQAAAAbjAwAAEG1zRXhjaFNlcnZlclNpdGUKCgoKCgAIAAAG5AMAAApTZXJ2ZXJTaXRlCY0CAAAG5gMAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFtAQAAqwAAAAEZ/P//cf3//3Evzlmi6t9NpPryUGnQsyQG6AMAAAtDb250b3NvLmxhYgEX/P//cf3//6h17EtzmehNqO6R/xsdD90G6gMAAEZDTj1EZWZhdWx0LUZpcnN0LVNpdGUtTmFtZSxDTj1TaXRlcyxDTj1Db25maWd1cmF0aW9uLERDPUNvbnRvc28sREM9bGFiCgQAAAAG6wMAADdDb250b3NvLmxhYi9Db25maWd1cmF0aW9uL1NpdGVzL0RlZmF1bHQtRmlyc3QtU2l0ZS1OYW1lCZICAAABbwEAAEkAAAAG7QMAACttc0V4Y2hDb250ZW50QWdncmVnYXRpb25NYXhOdW1iZXJPZkF0dGVtcHRzCgoKCgogAAAABu4DAAAgTWF4TnVtYmVyT2ZUcmFuc3BvcnRTeW5jQXR0ZW1wdHMJ4QEAAAbwAwAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgFxAQAASQAAAAbxAwAAM21zRXhjaENvbnRlbnRBZ2dyZWdhdGlvbk1heEFjY2VwdGVkSm9ic1BlclByb2Nlc3NvcgoKCgoKIAAAAAbyAwAAKE1heEFjY2VwdGVkVHJhbnNwb3J0U3luY0pvYnNQZXJQcm9jZXNzb3IJ4QEAAAb0AwAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgFzAQAASQAAAAb1AwAAMW1zRXhjaENvbnRlbnRBZ2dyZWdhdGlvbk1heEFjdGl2ZUpvYnNQZXJQcm9jZXNzb3IKCgoKCiAAAAAG9gMAACZNYXhBY3RpdmVUcmFuc3BvcnRTeW5jSm9ic1BlclByb2Nlc3NvcgnhAQAABvgDAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAXUBAABJAAAABvkDAAAkbXNFeGNoSHR0cFByb3RvY29sTG9nQWdlUXVvdGFJbkhvdXJzCgoKCgogAAAABvoDAAAVSHR0cFByb3RvY29sTG9nTWF4QWdlCe8BAAAG/AMAAIUBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBdgEAAPT///8AQOQogAUAAAF4AQAASQAAAAb9AwAAJ21zRXhjaEhUVFBQcm90b2NvbExvZ0RpcmVjdG9yeVNpemVRdW90YQoKCgoKIAAAAAb+AwAAH0h0dHBQcm90b2NvbExvZ01heERpcmVjdG9yeVNpemUJAgIAAAYABAAAhwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAXkBAADy////AACgDwAAAAAB//v///H///8BAAAAAAAAAAoBewEAAEkAAAAGAgQAACVtc0V4Y2hIVFRQUHJvdG9jb2xMb2dQZXJGaWxlU2l6ZVF1b3RhCgoKCgogAAAABgMEAAAaSHR0cFByb3RvY29sTG9nTWF4RmlsZVNpemUJAgIAAAYFBAAAhwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAXwBAADy////AACgAAAAAAAB+vv///H///8BAAAAAAAAAAoBfgEAAEkAAAAGBwQAACFtc0V4Y2hIVFRQUHJvdG9jb2xMb2dMb2dnaW5nTGV2ZWwKCgoKCiAAAAAGCAQAABtIdHRwUHJvdG9jb2xMb2dMb2dnaW5nTGV2ZWwJCQQAAAYKBAAAiQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Qcm90b2NvbExvZ2dpbmdMZXZlbCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFfwEAACxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Qcm90b2NvbExvZ2dpbmdMZXZlbAEAAAAHdmFsdWVfXwAIBwAAAAAAAAABgQEAAEkAAAAGCwQAABltc0V4Y2hTeW5jTG9nTG9nZ2luZ0xldmVsCgoKCgogAAAABgwEAAAcVHJhbnNwb3J0U3luY0xvZ0xvZ2dpbmdMZXZlbAkNBAAABg4EAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlN5bmNMb2dnaW5nTGV2ZWwsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBYIBAAAoTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuU3luY0xvZ2dpbmdMZXZlbAEAAAAHdmFsdWVfXwAIBwAAAAAAAAABhAEAAEkAAAAGDwQAABxtc0V4Y2hTeW5jTG9nQWdlUXVvdGFJbkhvdXJzCgoKCgogAAAABhAEAAAWVHJhbnNwb3J0U3luY0xvZ01heEFnZQnvAQAABhIEAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAYUBAAD0////AIBk+JIXAAABhwEAAEkAAAAGEwQAAB9tc0V4Y2hTeW5jTG9nRGlyZWN0b3J5U2l6ZVF1b3RhCgoKCgogAAAABhQEAAAgVHJhbnNwb3J0U3luY0xvZ01heERpcmVjdG9yeVNpemUJAgIAAAYWBAAAhwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAYgBAADy////AAAAgAIAAAAB6fv///H///8BAAAAAAAAAAoBigEAAEkAAAAGGAQAAB1tc0V4Y2hTeW5jTG9nUGVyRmlsZVNpemVRdW90YQoKCgoKIAAAAAYZBAAAG1RyYW5zcG9ydFN5bmNMb2dNYXhGaWxlU2l6ZQkCAgAABhsEAACHAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBiwEAAPL///8AAKAAAAAAAAHk+///8f///wEAAAAAAAAACgGNAQAASQAAAAYdBAAAKG1zRXhjaFN5bmNBY2NvdW50c1BvaXNvbkFjY291bnRUaHJlc2hvbGQKCgoKCiAAAAAGHgQAACtUcmFuc3BvcnRTeW5jQWNjb3VudHNQb2lzb25BY2NvdW50VGhyZXNob2xkCeEBAAAGIAQAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBjwEAAEkAAAAGIQQAACVtc0V4Y2hTeW5jQWNjb3VudHNQb2lzb25JdGVtVGhyZXNob2xkCgoKCgogAAAABiIEAAAoVHJhbnNwb3J0U3luY0FjY291bnRzUG9pc29uSXRlbVRocmVzaG9sZAnhAQAABiQEAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAZEBAABJAAAABiUEAAAvbXNFeGNoQ29udGVudEFnZ3JlZ2F0aW9uUmVtb3RlQ29ubmVjdGlvblRpbWVvdXQKCgoKCiAAAAAGJgQAACRUcmFuc3BvcnRTeW5jUmVtb3RlQ29ubmVjdGlvblRpbWVvdXQJ7wEAAAYoBAAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgGSAQAA9P///wDKmjsAAAAAAZQBAABJAAAABikEAAAubXNFeGNoQ29udGVudEFnZ3JlZ2F0aW9uTWF4RG93bmxvYWRTaXplUGVySXRlbQoKCgoKIAAAAAYqBAAAI1RyYW5zcG9ydFN5bmNNYXhEb3dubG9hZFNpemVQZXJJdGVtCQICAAAGLAQAAIcBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgGVAQAA8v///wAAQAIAAAAAAdP7///x////AQAAAAAAAAAKAZcBAABJAAAABi4EAAA0bXNFeGNoQ29udGVudEFnZ3JlZ2F0aW9uTWF4RG93bmxvYWRTaXplUGVyQ29ubmVjdGlvbgoKCgoKIAAAAAYvBAAAKVRyYW5zcG9ydFN5bmNNYXhEb3dubG9hZFNpemVQZXJDb25uZWN0aW9uCQICAAAGMQQAAIcBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgGYAQAA8v///wAAIAMAAAAAAc77///x////AQAAAAAAAAAKAZoBAABJAAAABjMEAAA1bXNFeGNoQ29udGVudEFnZ3JlZ2F0aW9uTWF4RG93bmxvYWRJdGVtc1BlckNvbm5lY3Rpb24KCgoKCiAAAAAGNAQAACpUcmFuc3BvcnRTeW5jTWF4RG93bmxvYWRJdGVtc1BlckNvbm5lY3Rpb24J4QEAAAY2BAAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGcAQAASQAAAAY3BAAAJm1zRXhjaENvbnRlbnRBZ2dyZWdhdGlvbk1heERpc3BhdGNoZXJzCgoKCgogAAAABjgEAAAbTWF4VHJhbnNwb3J0U3luY0Rpc3BhdGNoZXJzCeEBAAAGOgQAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBngEAAEkAAAAGOwQAACBtc0V4Y2hTeW5jTWFpbGJveExvZ0xvZ2dpbmdMZXZlbAoKCgoKIAAAAAY8BAAAI1RyYW5zcG9ydFN5bmNNYWlsYm94TG9nTG9nZ2luZ0xldmVsCQ0EAAAGPgQAAIUBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuU3luY0xvZ2dpbmdMZXZlbCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBnwEAAIIBAAAAAAAAAaEBAABJAAAABj8EAAAkbXNFeGNoU3luY01haWxib3hMb2dQZXJGaWxlU2l6ZVF1b3RhCgoKCgogAAAABkAEAAAiVHJhbnNwb3J0U3luY01haWxib3hMb2dNYXhGaWxlU2l6ZQkCAgAABkIEAACHAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBogEAAPL///8AAKAAAAAAAAG9+///8f///wEAAAAAAAAACgGkAQAASQAAAAZEBAAAI21zRXhjaFN5bmNNYWlsYm94TG9nQWdlUXVvdGFJbkhvdXJzCgoKCgogAAAABkUEAAAdVHJhbnNwb3J0U3luY01haWxib3hMb2dNYXhBZ2UJ7wEAAAZHBAAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgGlAQAA9P///wCAZPiSFwAAAacBAABJAAAABkgEAAAmbXNFeGNoU3luY01haWxib3hMb2dEaXJlY3RvcnlTaXplUXVvdGEKCgoKCiAAAAAGSQQAACdUcmFuc3BvcnRTeW5jTWFpbGJveExvZ01heERpcmVjdG9yeVNpemUJAgIAAAZLBAAAhwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAagBAADy////AAAAgAAAAAABtPv///H///8BAAAAAAAAAAoBqgEAAEkAAAAGTQQAACJtc0V4Y2hTbXRwTWF4TWVzc2FnZXNQZXJDb25uZWN0aW9uCgoKCgogAAAABk4EAAAtSW50cmFPcmdDb25uZWN0b3JTbXRwTWF4TWVzc2FnZXNQZXJDb25uZWN0aW9uCeEBAAAGUAQAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBrAEAAEkAAAAGUQQAABttc0V4Y2hNYWx3YXJlRmlsdGVyaW5nRmxhZ3MKCgoKCiAAAAAGUgQAABVNYWx3YXJlRmlsdGVyaW5nRmxhZ3MJ4QEAAAZUBAAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGuAQAASQAAAAZVBAAAI21zRXhjaE1hbHdhcmVGaWx0ZXJpbmdEZWZlcldhaXRUaW1lCgoKCgogAAAABlYEAAAdTWFsd2FyZUZpbHRlcmluZ0RlZmVyV2FpdFRpbWUJ4QEAAAZYBAAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGwAQAASQAAAAZZBAAAI21zRXhjaE1hbHdhcmVGaWx0ZXJpbmdEZWZlckF0dGVtcHRzCgoKCgogAAAABloEAAAdTWFsd2FyZUZpbHRlcmluZ0RlZmVyQXR0ZW1wdHMJ4QEAAAZcBAAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGyAQAASQAAAAZdBAAAJW1zRXhjaE1hbHdhcmVGaWx0ZXJpbmdVcGRhdGVGcmVxdWVuY3kKCgoKCiAAAAAGXgQAAB9NYWx3YXJlRmlsdGVyaW5nVXBkYXRlRnJlcXVlbmN5CeEBAAAGYAQAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBtAEAAEkAAAAGYQQAACNtc0V4Y2hNYWx3YXJlRmlsdGVyaW5nVXBkYXRlVGltZW91dAoKCgoKIAAAAAZiBAAAHU1hbHdhcmVGaWx0ZXJpbmdVcGRhdGVUaW1lb3V0CeEBAAAGZAQAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBtgEAAEkAAAAGZQQAACFtc0V4Y2hNYWx3YXJlRmlsdGVyaW5nU2NhblRpbWVvdXQKCgoKCiAAAAAGZgQAABtNYWx3YXJlRmlsdGVyaW5nU2NhblRpbWVvdXQJ4QEAAAZoBAAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgG4AQAASQAAAAZpBAAAJ21zRXhjaE1hbHdhcmVGaWx0ZXJpbmdQcmltYXJ5VXBkYXRlUGF0aAoKCgoKAAAAAAZqBAAAIU1hbHdhcmVGaWx0ZXJpbmdQcmltYXJ5VXBkYXRlUGF0aAlsAgAABmwEAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgG7AQAASQAAAAZtBAAAFW1zRXhjaE1pbkFkbWluVmVyc2lvbgoKCgoKAAAAAAZuBAAAD01pbkFkbWluVmVyc2lvbgnhAwAABnAEAAC7AVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAb0BAABJAAAABnEEAAAQYWRtaW5EaXNwbGF5TmFtZQoKCgoJcgQAAAACAAAGcwQAABBBZG1pbkRpc3BsYXlOYW1lCWwCAAAGdQQAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAcABAABJAAAABnYEAAARZGlzdGluZ3Vpc2hlZE5hbWUKCgoJdwQAAAl4BAAAEAoAAAZ5BAAAAklkCY0CAAAGewQAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgHBAQAAqwAAAAGE+///cf3//3Evzlmi6t9NpPryUGnQsyQGfQQAAAtDb250b3NvLmxhYgGC+///cf3//wRnVM0GoRFDnpBHYuTMcwQGfwQAALYBQ049RTJrMTYtMSxDTj1TZXJ2ZXJzLENOPUV4Y2hhbmdlIEFkbWluaXN0cmF0aXZlIEdyb3VwIChGWURJQk9IRjIzU1BETFQpLENOPUFkbWluaXN0cmF0aXZlIEdyb3VwcyxDTj1Db250b3NvIExhYnMsQ049TWljcm9zb2Z0IEV4Y2hhbmdlLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9Q29udG9zbyxEQz1sYWIKCQAAAAaABAAAB0UyazE2LTEJkgIAAAHDAQAASQAAAAaCBAAADW1zRXhjaFZlcnNpb24KCgoKCYMEAAAAAgAABoQEAAAPRXhjaGFuZ2VWZXJzaW9uCYUEAAAGhgQAAIoBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VPYmplY3RWZXJzaW9uLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgXEAQAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlT2JqZWN0VmVyc2lvbgMAAAAFTWFqb3IFTWlub3INRXhjaGFuZ2VCdWlsZAAABAICJU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlQnVpbGQHAAAABwAAAAABBXn7//8lTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VCdWlsZAQAAAAFTWFqb3IFTWlub3IFQnVpbGQNQnVpbGRSZXZpc2lvbgAAAAACAg4OBwAAAAgAFwIAAAHGAQAASQAAAAaIBAAADm9iamVjdENhdGVnb3J5CgoKCgmJBAAAQAgAAAaKBAAADk9iamVjdENhdGVnb3J5CY0CAAAGjAQAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgHHAQAAqwAAAAFz+///cf3//3Evzlmi6t9NpPryUGnQsyQGjgQAAAtDb250b3NvLmxhYgFx+///cf3//0bsbaf6RFJKp4xXmOpNvEIGkAQAAEdDTj1tcy1FeGNoLUV4Y2hhbmdlLVNlcnZlcixDTj1TY2hlbWEsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoEAAAABpEEAAA4Q29udG9zby5sYWIvQ29uZmlndXJhdGlvbi9TY2hlbWEvbXMtRXhjaC1FeGNoYW5nZS1TZXJ2ZXIJkgIAAAHJAQAASQAAAAaTBAAAC29iamVjdENsYXNzCgoKCgmUBAAAAwAAAAaVBAAAC09iamVjdENsYXNzCWwCAAAGlwQAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAcoBAACYAAAABWj7//8uTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQ29tbW9uLkxvY2FsaXplZFN0cmluZwgAAAAHaW5zZXJ0cwhiYXNlTmFtZQxhc3NlbWJseU5hbWUCaWQIc3RyaW5nSWQXc2hvd1N0cmluZ0lkSW5VSUlmRXJyb3Idc2hvd0Fzc2lzdGFuY2VJbmZvSW5VSUlmRXJyb3IIZmFsbGJhY2sFAQEBAQAAAQEBCwAAAAmZBAAABpoEAAAjTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGF0YVN0cmluZ3MGmwQAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BpwEAAAaRXJyb3JSZWFkT25seUNhdXNlUHJvcGVydHkGnQQAAAhFeDVDQjY1MAABBp4EAAA2VGhlIHByb3BlcnR5ICd7MH0nIGlzIHJlYWQtb25seSBhbmQgY2FuJ3QgYmUgbW9kaWZpZWQuAQAAAAnJAQAACQYAAAAJoQQAAAoKAQoBzAEAAEkAAAAKCgoKCgoAAQAABqIEAAALT2JqZWN0U3RhdGUJowQAAAakBAAAgAFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5PYmplY3RTdGF0ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFzQEAACNNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5PYmplY3RTdGF0ZQEAAAAHdmFsdWVfXwAIBwAAAAEAAAABzwEAAEkAAAAKCgoKCgoAAQAABqUEAAART3JpZ2luYXRpbmdTZXJ2ZXIJbAIAAAanBAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoB0gEAAEkAAAAGqAQAAA1jYW5vbmljYWxOYW1lCgoKCgmpBAAAAwAAAAaqBAAAEFJhd0Nhbm9uaWNhbE5hbWUJbAIAAAasBAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoB0wEAAJgAAAABU/v//2j7//8JrgQAAAmaBAAABrAEAABbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQmcBAAACZ0EAAAAAQmeBAAAAQAAAAnSAQAACQYAAAAJtgQAAAoKAQoB1QEAAEkAAAAGtwQAAAt3aGVuQ2hhbmdlZAoKCgoJuAQAAAEAAAAGuQQAAA5XaGVuQ2hhbmdlZFJhdwlsAgAABrsEAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgHYAQAASQAAAAoKCgoKCgABAAAGvAQAAAtXaGVuUmVhZFVUQwm9BAAABr4EAAC+AVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uRGF0ZVRpbWUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAdoBAABJAAAACgoKCgoKAAEAAAa/BAAACElzQ2FjaGVkCcAEAAAGwQQAAFtTeXN0ZW0uQm9vbGVhbiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgHcAQAASQAAAAoKCgoKCgABAAAGwgQAABREaXJlY3RvcnlCYWNrZW5kVHlwZQnDBAAABsQEAACdAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5EaXJlY3RvcnlCYWNrZW5kVHlwZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBd0BAAA2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkRpcmVjdG9yeUJhY2tlbmRUeXBlAQAAAAd2YWx1ZV9fAAICAAAAAQfeAQAAAAEAAAAAAAAABCdNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5WYWxpZGF0aW9uRXJyb3IHAAAABOEBAAAfU3lzdGVtLlVuaXR5U2VyaWFsaXphdGlvbkhvbGRlcgMAAAAERGF0YQlVbml0eVR5cGUMQXNzZW1ibHlOYW1lAQABCAbFBAAADFN5c3RlbS5JbnQzMgQAAAAGxgQAAEttc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkB5QEAAOEBAAAGxwQAAClNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Mb2NhbExvbmdGdWxsUGF0aAQAAAAGyAQAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQHvAQAA4QEAAAbJBAAAKE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4EAAAABsoEAABbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQHzAQAA4QEAAAbLBAAArgFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0EAAAACcoEAAAFAAIAAD1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUrUXVhbnRpZmllclByb3ZpZGVyAQAAAApxdWFudGlmaWVyBDVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUrUXVhbnRpZmllcgcAAAAHAAAAATP7///x////AAQAAAAAAAABAgIAAOEBAAAGzgQAACpNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUEAAAACcoEAAABIQIAAOEBAAAG0AQAACpNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5NaWdyYXRpb25FdmVudFR5cGUEAAAACcoEAAABMwIAAOEBAAAG0gQAAEtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuU3lzdGVtQ29uZmlndXJhdGlvbi5BdXRvRGF0YWJhc2VNb3VudERpYWwEAAAABtMEAABlTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUBSwIAAOEBAAAG1AQAADFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuU3lzdGVtRmxhZ3NFbnVtBAAAAAnTBAAAAVMCAADhAQAABtYEAAAMU3lzdGVtLkludDY0BAAAAAnGBAAADNgEAABkTWljcm9zb2Z0LkV4Y2hhbmdlLlN0b3JlUHJvdmlkZXIsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQViAgAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk1ieFByb3BlcnR5RGVmaW5pdGlvbgcAAAAYPFByb3BUYWc+a19fQmFja2luZ0ZpZWxkGTxNYnhGbGFncz5rX19CYWNraW5nRmllbGQmU2ltcGxlUHJvdmlkZXJQcm9wZXJ0eURlZmluaXRpb24rZmxhZ3MXUHJvcGVydHlEZWZpbml0aW9uK25hbWUXUHJvcGVydHlEZWZpbml0aW9uK3R5cGUbUHJvcGVydHlEZWZpbml0aW9uK3R5cGVOYW1lOVByb3BlcnR5RGVmaW5pdGlvbityZXF1aXJlZFByb3BlcnR5RGVmaW5pdGlvbnNXaGVuUmVhZGluZwQEAAEDAQMWTWljcm9zb2Z0Lk1hcGkuUHJvcFRhZ9gEAAA8TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk1ieFByb3BlcnR5RGVmaW5pdGlvbkZsYWdzAgAAAAgfU3lzdGVtLlVuaXR5U2VyaWFsaXphdGlvbkhvbGRlcrMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSUNvbGxlY3Rpb25gMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlEZWZpbml0aW9uLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0CAAAABSf7//8WTWljcm9zb2Z0Lk1hcGkuUHJvcFRhZwEAAAAHdmFsdWVfXwAP2AQAAAEAAAAFJvv//zxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuTWJ4UHJvcGVydHlEZWZpbml0aW9uRmxhZ3MBAAAAB3ZhbHVlX18ACQIAAAABAAAAAAAAAAQAAAAJYwIAAAnhAQAABt0EAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAWwCAADhAQAABt4EAAANU3lzdGVtLlN0cmluZwQAAAAJxgQAABBwAgAAAwAAAAbgBAAAMzE6U2VydmVyV2lkZU9mZmxpbmU6RnVuY3Rpb25hbDoxOjYzODA0MDQyNDE4NDU4NTU4OAbhBAAAODE6UmVjb3ZlcnlBY3Rpb25zRW5hYmxlZDpGdW5jdGlvbmFsOjE6NjM4MDQwNDI0MTgzOTI1NTg3BuIEAAAsMTpNb25pdG9yaW5nOkZ1bmN0aW9uYWw6MTo2MzgwNDA0MjQxNzk3ODU2ODYBfgIAAGICAAABHfv//yf7//8fAB8xARz7//8m+///AQAAAAAAAAAAAAAACX8CAAAJbAIAAAbnBAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBgwIAAGICAAABGPv//yf7//8fAFwwARf7//8m+///AAAAAAAAAAAAAAAACYQCAAAJbAIAAAbsBAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBjQIAAOEBAAAG7QQAACxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAQAAAAJ0wQAAAWSAgAAME1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5Pcmdhbml6YXRpb25JZAUAAAAHb3JnVW5pdApjb25maWdVbml0C3BhcnRpdGlvbklkH2V4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQjc2FmZUV4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQEBAQDAyxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAABtU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXW1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAoKCe8EAAAKCgGlAgAA4QEAAAbwBAAAJk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk5ldHdvcmtBZGRyZXNzBAAAAAnKBAAAEKkCAAAGAAAABvIEAAAVbmNhY25fdm5zX3NwcDpFMmsxNi0xBvMEAAAPbmV0YmlvczpFMmsxNi0xBvQEAAAQbmNhY25fbnA6RTJrMTYtMQb1BAAAEW5jYWNuX3NweDpFMmsxNi0xBvYEAAAgbmNhY25faXBfdGNwOkUyazE2LTEuQ29udG9zby5sYWIG9wQAAA9uY2FscnBjOkUyazE2LTEBsAIAAOEBAAAG+AQAAEBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuU3lzdGVtQ29uZmlndXJhdGlvbi5TZXJ2ZXJSb2xlBAAAAAnTBAAAAcwCAADhAQAABvoEAAANU3lzdGVtLkJ5dGVbXQQAAAAJxgQAAAXTAgAAOU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5NU2VydlByb3BlcnR5RGVmaW5pdGlvbgUAAAAmU2ltcGxlUHJvdmlkZXJQcm9wZXJ0eURlZmluaXRpb24rZmxhZ3MXUHJvcGVydHlEZWZpbml0aW9uK25hbWUXUHJvcGVydHlEZWZpbml0aW9uK3R5cGUbUHJvcGVydHlEZWZpbml0aW9uK3R5cGVOYW1lOVByb3BlcnR5RGVmaW5pdGlvbityZXF1aXJlZFByb3BlcnR5RGVmaW5pdGlvbnNXaGVuUmVhZGluZwABAwEDCB9TeXN0ZW0uVW5pdHlTZXJpYWxpemF0aW9uSG9sZGVyswFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JQ29sbGVjdGlvbmAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Qcm9wZXJ0eURlZmluaXRpb24sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQIAAAAFAAAACdUCAAAJbAIAAAb+BAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoB1AIAAGICAAABAfv//yf7//8fAKsxAQD7//8m+///AQAAAAAAAAAAAAAACdUCAAAJbAIAAAYDBQAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoB2QIAAGICAAAB/Pr//yf7//8fAAQyAfv6//8m+///AQAAAAAAAAAAAAAACdoCAAAJbAIAAAYIBQAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoB9wIAAOEBAAAGCQUAAIABTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0EAAAACcoEAAAQ3gMAAAEAAAAICAkEAAAB4QMAAOEBAAAGCwUAAG5TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQQAAAAJxgQAAAEJBAAA4QEAAAYNBQAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3RvY29sTG9nZ2luZ0xldmVsBAAAAAnKBAAAAQ0EAADhAQAABg8FAAAoTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuU3luY0xvZ2dpbmdMZXZlbAQAAAAJygQAAAFyBAAAYgIAAAHv+v//J/v//x8ACjAB7vr//yb7//8AAAAAAAAAAAAAAAAJcwQAAAlsAgAABhUFAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgF3BAAA0wIAAAQAAAAJeQQAAAmNAgAABhgFAACTAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBeAQAAGICAAAB5/r//yf7//8BAAAAAeb6//8m+///AQAAAAAAAAAEAAAACXkEAAAJjQIAAAYdBQAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAYMEAABiAgAAAeL6//8n+///AQAAAAHh+v//Jvv//wEAAAAAAAAABAAAAAmEBAAACYUEAAAGIgUAAIoBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VPYmplY3RWZXJzaW9uLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgGFBAAA4QEAAAYjBQAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlT2JqZWN0VmVyc2lvbgQAAAAJygQAAAGJBAAAYgIAAAHb+v//J/v//wEAAAAB2vr//yb7//8BAAAAAAAAAAQAAAAJigQAAAmNAgAABikFAACTAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBlAQAAGICAAAB1vr//yf7//8fEIwxAdX6//8m+///AQAAAAAAAAACAAAACZUEAAAJbAIAAAYuBQAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoQmQQAAAEAAAAGLwUAAAtPYmplY3RDbGFzcxChBAAAAwAAAAYwBQAAA3RvcAYxBQAABnNlcnZlcgYyBQAAFG1zRXhjaEV4Y2hhbmdlU2VydmVyAaMEAADhAQAABjMFAAAjTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuT2JqZWN0U3RhdGUEAAAACcoEAAABqQQAAGICAAABy/r//yf7//8fEKcxAcr6//8m+///AQAAAAAAAAACAAAACaoEAAAJbAIAAAY5BQAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoQrgQAAAEAAAAGOgUAABBSYXdDYW5vbmljYWxOYW1lELYEAAABAAAABjsFAACYAUNvbnRvc28ubGFiL0NvbmZpZ3VyYXRpb24vU2VydmljZXMvTWljcm9zb2Z0IEV4Y2hhbmdlL0NvbnRvc28gTGFicy9BZG1pbmlzdHJhdGl2ZSBHcm91cHMvRXhjaGFuZ2UgQWRtaW5pc3RyYXRpdmUgR3JvdXAgKEZZRElCT0hGMjNTUERMVCkvU2VydmVycy9FMmsxNi0xAbgEAABiAgAAAcT6//8n+///HwADMgHD+v//Jvv//wEAAAAAAAAAAAAAAAm5BAAACWwCAAAGQAUAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAb0EAADhAQAABkEFAABxU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5EYXRlVGltZSwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0EAAAACcYEAAABwAQAAOEBAAAGQwUAAA5TeXN0ZW0uQm9vbGVhbgQAAAAJxgQAAAHDBAAA4QEAAAZFBQAANk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5EaXJlY3RvcnlCYWNrZW5kVHlwZQQAAAAJ0wQAAAXvBAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAAAKZm9yZXN0RlFEThFwYXJ0aXRpb25PYmplY3RJZAEDbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAABkcFAAALQ29udG9zby5sYWIKC1WRkmONGakPJGH4RVgKIDkyDg2kBK3W+q0F8oK4VywT + +
+ + + E2k16-2 + + E2k16-2 + + + F:\Program Files\Microsoft\Exchange\Mailbox + + F:\Program Files\Microsoft\Exchange\Mailbox + true + false + F: + + + I3NpZyNoAQAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAKU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoBgAAABFMb25nUGF0aCtwYXRoTmFtZRBMb25nUGF0aCtpc1ZhbGlkFExvbmdQYXRoK2lzTG9jYWxGdWxsDkxvbmdQYXRoK2lzVW5jEkxvbmdQYXRoK2RyaXZlTmFtZRNMb25nUGF0aCtzZXJ2ZXJOYW1lAQAAAAEBAQEBAgAAAAYDAAAAK0Y6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXE1haWxib3gBAQAGBAAAAAJGOgoLuxra2wRhdY6p6T94qYdxj2qRam/8HKXOKvoRE/9LQS4= + + + Contoso.lab + + + Enterprise + 3 + + /o=Contoso Labs/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=E2k16-2 + 0 + E2k16-2.Contoso.lab + + + + true + true + true + false + true + true + true + false + true + true + + + + + + ncacn_vns_spp:E2k16-2 + + ncacn_vns_spp + E2k16-2 + + + + + netbios:E2k16-2 + + netbios + E2k16-2 + + + + + ncacn_np:E2k16-2 + + ncacn_np + E2k16-2 + + + + + ncacn_spx:E2k16-2 + + ncacn_spx + E2k16-2 + + + + + ncacn_ip_tcp:E2k16-2.Contoso.lab + + ncacn_ip_tcp + E2k16-2.Contoso.lab + + + + + ncalrpc:E2k16-2 + + ncalrpc + E2k16-2 + + + + + Contoso.lab/E2k16-2 + + + Version 15.1 (Build 2507.18) + + 15 + 1 + 2507 + 18 + + + + I3NpZyMuAQAAAAEAAAD/////AQAAAAAAAAAMAgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAAAlTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuU2VydmVyVmVyc2lvbgIAAAAHdmVyc2lvbhlmaWxlUGF0Y2hMZXZlbERlc2NyaXB0aW9uAwEOU3lzdGVtLlZlcnNpb24CAAAACQMAAAAKBAMAAAAOU3lzdGVtLlZlcnNpb24EAAAABl9NYWpvcgZfTWlub3IGX0J1aWxkCV9SZXZpc2lvbgAAAAAICAgIDwAAAAEAAADLCQAAEgAAAAuzG0R1lopktHw+BJiyjDge+VqPKxB/v5Gbb60MQWKLtQ== + + + + + Contoso.lab/Configuration/Sites/Default-First-Site-Name + + + false + CN=Default-First-Site-Name + Contoso.lab/Configuration/Sites + 4 + CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=Contoso,DC=lab + false + Contoso.lab + 59ce2f71-eaa2-4ddf-a4fa-f25069d0b324 + Contoso.lab + 4bec75a8-9973-4de8-a8ee-91ff1b1d0fdd + Default-First-Site-Name + + + I3NpZyOdBQAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAAT9////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBgQAAAALQ29udG9zby5sYWIB+/////3///+odexLc5noTajukf8bHQ/dBgYAAABGQ049RGVmYXVsdC1GaXJzdC1TaXRlLU5hbWUsQ049U2l0ZXMsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoEAAAABgcAAAA3Q29udG9zby5sYWIvQ29uZmlndXJhdGlvbi9TaXRlcy9EZWZhdWx0LUZpcnN0LVNpdGUtTmFtZQkIAAAABQgAAAAwTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk9yZ2FuaXphdGlvbklkBQAAAAdvcmdVbml0CmNvbmZpZ1VuaXQLcGFydGl0aW9uSWQfZXh0ZXJuYWxEaXJlY3RvcnlPcmdhbml6YXRpb25JZCNzYWZlRXh0ZXJuYWxEaXJlY3RvcnlPcmdhbml6YXRpb25JZAQEBAMDLE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAACxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlBhcnRpdGlvbklkAgAAAG1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAACgoJCQAAAAoKBQkAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlBhcnRpdGlvbklkAgAAAApmb3Jlc3RGUUROEXBhcnRpdGlvbk9iamVjdElkAQNtU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAGCgAAAAtDb250b3NvLmxhYgoLX9opTD8Ruh7k0LVeJQD+HApzqyKRB9fgmPNTTMYXr00= + + + + + Mailbox + 2 + + + true +
2023-01-05T12:08:36.1218724Z
+ + + + + + + + + + + + + + + + + + + + + + + + 02064-004-0605003-02291 + false + false + + + + 00:00:00 + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + I3NpZyO8AAAAAAEAAAD/////AQAAAAAAAAAMAgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAAAoTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbgEAAAAIdGltZVNwYW4ADAIAAAAAAAAAAAAAAAu5zQSz5UaOWxvocLx28ReziPFfu6LDOH+RITQyjZNKWQ== + + + + + + PING1 + + + + false + + + E2k16-2 + + + false + CN=E2k16-2 + Servers + 9 + CN=E2k16-2,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Contoso Labs,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=lab + false + Contoso.lab + 59ce2f71-eaa2-4ddf-a4fa-f25069d0b324 + Contoso.lab + 86323547-c7ca-4713-a19e-c1884e4b2527 + E2k16-2 + + + I3NpZyPeBQAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAAT9////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBgQAAAALQ29udG9zby5sYWIB+/////3///9HNTKGyscTR6GewYhOSyUnBgYAAAC2AUNOPUUyazE2LTIsQ049U2VydmVycyxDTj1FeGNoYW5nZSBBZG1pbmlzdHJhdGl2ZSBHcm91cCAoRllESUJPSEYyM1NQRExUKSxDTj1BZG1pbmlzdHJhdGl2ZSBHcm91cHMsQ049Q29udG9zbyBMYWJzLENOPU1pY3Jvc29mdCBFeGNoYW5nZSxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUNvbnRvc28sREM9bGFiCgkAAAAGBwAAAAdFMmsxNi0yCQgAAAAFCAAAADBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQFAAAAB29yZ1VuaXQKY29uZmlnVW5pdAtwYXJ0aXRpb25JZB9leHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkI3NhZmVFeHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkBAQEAwMsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAAbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1tU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAKCgkJAAAACgoFCQAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAACmZvcmVzdEZRRE4RcGFydGl0aW9uT2JqZWN0SWQBA21TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAYKAAAAC0NvbnRvc28ubGFiCgvGe7mPc3E6wEoDkEldW7ZO/ptYhzXynVyYVFmMo4XRYA== + + + true + + + 0.1 (8.0.535.0) + + 1.0 (0.0.0.0) + 0.2 (0.0.0.0) + 0 + 1 + 8.0.535.0 + + + I3NpZyNaAQAAAAEAAAD/////AQAAAAAAAAAMAgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VPYmplY3RWZXJzaW9uAwAAAAVNYWpvcgVNaW5vcg1FeGNoYW5nZUJ1aWxkAAAEAgIlTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VCdWlsZAIAAAACAAAAAAEF/f///yVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZUJ1aWxkBAAAAAVNYWpvcgVNaW5vcgVCdWlsZA1CdWlsZFJldmlzaW9uAAAAAAICDg4CAAAACAAXAgAAC81gnrQ3YqWs0WLcfx5R/pfhkYDcNS5NUWugZ18L+Pr3 + + + CN=E2k16-2,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Contoso Labs,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=lab + 86323547-c7ca-4713-a19e-c1884e4b2527 + + + Contoso.lab/Configuration/Schema/ms-Exch-Exchange-Server + + + false + CN=ms-Exch-Exchange-Server + Contoso.lab/Configuration/Schema + 4 + CN=ms-Exch-Exchange-Server,CN=Schema,CN=Configuration,DC=Contoso,DC=lab + false + Contoso.lab + 59ce2f71-eaa2-4ddf-a4fa-f25069d0b324 + Contoso.lab + a76dec46-44fa-4a52-a78c-5798ea4dbc42 + ms-Exch-Exchange-Server + + + I3NpZyOfBQAAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAAT9////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBgQAAAALQ29udG9zby5sYWIB+/////3///9G7G2n+kRSSqeMV5jqTbxCBgYAAABHQ049bXMtRXhjaC1FeGNoYW5nZS1TZXJ2ZXIsQ049U2NoZW1hLENOPUNvbmZpZ3VyYXRpb24sREM9Q29udG9zbyxEQz1sYWIKBAAAAAYHAAAAOENvbnRvc28ubGFiL0NvbmZpZ3VyYXRpb24vU2NoZW1hL21zLUV4Y2gtRXhjaGFuZ2UtU2VydmVyCQgAAAAFCAAAADBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQFAAAAB29yZ1VuaXQKY29uZmlnVW5pdAtwYXJ0aXRpb25JZB9leHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkI3NhZmVFeHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkBAQEAwMsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAAbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1tU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAKCgkJAAAACgoFCQAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAACmZvcmVzdEZRRE4RcGFydGl0aW9uT2JqZWN0SWQBA21TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAYKAAAAC0NvbnRvc28ubGFiCgtzbBXc26Iq4CtqKQF4z7xIKmoIgU/nZEqjdBO5/naAUg== + + + + + + top + server + msExchExchangeServer + + +
2023-01-05T12:08:36+00:00
+
2021-07-29T06:54:38+00:00
+
2023-01-05T12:08:36Z
+
2021-07-29T06:54:38Z
+ + + DC-1.Contoso.lab + + + Unchanged + 1 + +
+ + e2k16-1.contoso.lab + 4e029ce4-dec4-4e71-8696-578e14f119b3 + false + I3NpZyPEDQEAAAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAO01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5NYW5hZ2VtZW50LkV4Y2hhbmdlU2VydmVyCgAAAAtwcm9wZXJ0eUJhZx9BRFByZXNlbnRhdGlvbk9iamVjdCtkYXRhT2JqZWN0IEFEUHJlc2VudGF0aW9uT2JqZWN0K3Byb3BlcnR5QmFnFEFET2JqZWN0K3Byb3BlcnR5QmFnLEFEUmF3RW50cnkrPE1zZXJ2UHJvcGVydHlCYWc+a19fQmFja2luZ0ZpZWxkKkFEUmF3RW50cnkrPE1ieFByb3BlcnR5QmFnPmtfX0JhY2tpbmdGaWVsZBZBRFJhd0VudHJ5K3Byb3BlcnR5QmFnHkNvbmZpZ3VyYWJsZU9iamVjdCtwcm9wZXJ0eUJhZyxDb25maWd1cmFibGVPYmplY3Qrc2VyaWFsaXplckFzc2VtYmx5VmVyc2lvbiZDb25maWd1cmFibGVPYmplY3QraW5zdGFudGlhdGlvbkVycm9ycwQEBAQEBAQEAwMvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAPE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLlNlcnZlcgIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAOU3lzdGVtLlZlcnNpb26pAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVmFsaWRhdGlvbkVycm9yLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0CAAAACQMAAAAJBAAAAAkDAAAACQMAAAAKCgkDAAAACQMAAAAJBgAAAAoMBwAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQMAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcGAAAAFFByb3BlcnR5QmFnK3JlYWRPbmx5G1Byb3BlcnR5QmFnK3N0b3JlVmFsdWVzT25seSdQcm9wZXJ0eUJhZyt0cmVhdFN3aXRjaGFibGVBc1ZhbHVlc09ubHklUHJvcGVydHlCYWcrc2VyaWFsaXplckFzc2VtYmx5VmVyc2lvbiNQcm9wZXJ0eUJhZytzZXJpYWxpemVkQ3VycmVudFZhbHVlcyRQcm9wZXJ0eUJhZytzZXJpYWxpemVkT3JpZ2luYWxWYWx1ZXMAAAADBAQBAQEOU3lzdGVtLlZlcnNpb24vTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyW10HAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcltdBwAAAAIAAAAAAAAJBgAAAAkJAAAACQoAAAAMCwAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUEAAAAPE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLlNlcnZlcjcAAAAJZGF0YWJhc2VzJTxBdHRyaWJ1dGlvbkxvZ01heEFnZT5rX19CYWNraW5nRmllbGQvPEF0dHJpYnV0aW9uTG9nTWF4RGlyZWN0b3J5U2l6ZT5rX19CYWNraW5nRmllbGQqPEF0dHJpYnV0aW9uTG9nTWF4RmlsZVNpemU+a19fQmFja2luZ0ZpZWxkIzxBdHRyaWJ1dGlvbkxvZ1BhdGg+a19fQmFja2luZ0ZpZWxkJjxBdHRyaWJ1dGlvbkxvZ0VuYWJsZWQ+a19fQmFja2luZ0ZpZWxkLDxQcm94eURlc3RpbmF0aW9uc0xvZ0VuYWJsZWQ+a19fQmFja2luZ0ZpZWxkKzxQcm94eURlc3RpbmF0aW9uc0xvZ01heEFnZT5rX19CYWNraW5nRmllbGQ1PFByb3h5RGVzdGluYXRpb25zTG9nTWF4RGlyZWN0b3J5U2l6ZT5rX19CYWNraW5nRmllbGQwPFByb3h5RGVzdGluYXRpb25zTG9nTWF4RmlsZVNpemU+a19fQmFja2luZ0ZpZWxkKTxQcm94eURlc3RpbmF0aW9uc0xvZ1BhdGg+a19fQmFja2luZ0ZpZWxkLjxUb3BJbmJvdW5kSXBTb3VyY2VzTG9nRW5hYmxlZD5rX19CYWNraW5nRmllbGQtPFRvcEluYm91bmRJcFNvdXJjZXNMb2dNYXhBZ2U+a19fQmFja2luZ0ZpZWxkNzxUb3BJbmJvdW5kSXBTb3VyY2VzTG9nTWF4RGlyZWN0b3J5U2l6ZT5rX19CYWNraW5nRmllbGQyPFRvcEluYm91bmRJcFNvdXJjZXNMb2dNYXhGaWxlU2l6ZT5rX19CYWNraW5nRmllbGQrPFRvcEluYm91bmRJcFNvdXJjZXNMb2dQYXRoPmtfX0JhY2tpbmdGaWVsZCQ8Q29uc3VtZXJNYWlsRW5hYmxlZD5rX19CYWNraW5nRmllbGQrPE1heFJlY2VpdmVUbHNSYXRlUGVyTWludXRlPmtfX0JhY2tpbmdGaWVsZC48TWFpbGJveERlbGl2ZXJ5QWdlbnRMb2dNYXhBZ2U+a19fQmFja2luZ0ZpZWxkODxNYWlsYm94RGVsaXZlcnlBZ2VudExvZ01heERpcmVjdG9yeVNpemU+a19fQmFja2luZ0ZpZWxkMzxNYWlsYm94RGVsaXZlcnlBZ2VudExvZ01heEZpbGVTaXplPmtfX0JhY2tpbmdGaWVsZCw8TWFpbGJveERlbGl2ZXJ5QWdlbnRMb2dQYXRoPmtfX0JhY2tpbmdGaWVsZC88TWFpbGJveERlbGl2ZXJ5QWdlbnRMb2dFbmFibGVkPmtfX0JhY2tpbmdGaWVsZDA8TWFpbGJveFN1Ym1pc3Npb25BZ2VudExvZ01heEFnZT5rX19CYWNraW5nRmllbGQ6PE1haWxib3hTdWJtaXNzaW9uQWdlbnRMb2dNYXhEaXJlY3RvcnlTaXplPmtfX0JhY2tpbmdGaWVsZDU8TWFpbGJveFN1Ym1pc3Npb25BZ2VudExvZ01heEZpbGVTaXplPmtfX0JhY2tpbmdGaWVsZC48TWFpbGJveFN1Ym1pc3Npb25BZ2VudExvZ1BhdGg+a19fQmFja2luZ0ZpZWxkMTxNYWlsYm94U3VibWlzc2lvbkFnZW50TG9nRW5hYmxlZD5rX19CYWNraW5nRmllbGQnPFN5bmNEZWxpdmVyeUxvZ0VuYWJsZWQ+a19fQmFja2luZ0ZpZWxkJjxTeW5jRGVsaXZlcnlMb2dNYXhBZ2U+a19fQmFja2luZ0ZpZWxkMDxTeW5jRGVsaXZlcnlMb2dNYXhEaXJlY3RvcnlTaXplPmtfX0JhY2tpbmdGaWVsZCs8U3luY0RlbGl2ZXJ5TG9nTWF4RmlsZVNpemU+a19fQmFja2luZ0ZpZWxkJDxTeW5jRGVsaXZlcnlMb2dQYXRoPmtfX0JhY2tpbmdGaWVsZCI8QmxvY2tDb25zdW1lck1haWw+a19fQmFja2luZ0ZpZWxkMTxCbG9ja2VkQ29uc3VtZXJNYWlsUmV0cnlJbnRlcnZhbD5rX19CYWNraW5nRmllbGQ2PE1haWxib3hEZWxpdmVyeUh0dHBEZWxpdmVyeUxvZ0VuYWJsZWQ+a19fQmFja2luZ0ZpZWxkNTxNYWlsYm94RGVsaXZlcnlIdHRwRGVsaXZlcnlMb2dNYXhBZ2U+a19fQmFja2luZ0ZpZWxkPzxNYWlsYm94RGVsaXZlcnlIdHRwRGVsaXZlcnlMb2dNYXhEaXJlY3RvcnlTaXplPmtfX0JhY2tpbmdGaWVsZDo8TWFpbGJveERlbGl2ZXJ5SHR0cERlbGl2ZXJ5TG9nTWF4RmlsZVNpemU+a19fQmFja2luZ0ZpZWxkMzxNYWlsYm94RGVsaXZlcnlIdHRwRGVsaXZlcnlMb2dQYXRoPmtfX0JhY2tpbmdGaWVsZDQ8TWFpbGJveERlbGl2ZXJ5VGhyb3R0bGluZ0xvZ0VuYWJsZWQ+a19fQmFja2luZ0ZpZWxkMzxNYWlsYm94RGVsaXZlcnlUaHJvdHRsaW5nTG9nTWF4QWdlPmtfX0JhY2tpbmdGaWVsZD08TWFpbGJveERlbGl2ZXJ5VGhyb3R0bGluZ0xvZ01heERpcmVjdG9yeVNpemU+a19fQmFja2luZ0ZpZWxkODxNYWlsYm94RGVsaXZlcnlUaHJvdHRsaW5nTG9nTWF4RmlsZVNpemU+a19fQmFja2luZ0ZpZWxkMTxNYWlsYm94RGVsaXZlcnlUaHJvdHRsaW5nTG9nUGF0aD5rX19CYWNraW5nRmllbGQLcHJvcGVydHlCYWclQURMZWdhY3lWZXJzaW9uYWJsZU9iamVjdCtwcm9wZXJ0eUJhZyFBRENvbmZpZ3VyYXRpb25PYmplY3QrcHJvcGVydHlCYWcUQURPYmplY3QrcHJvcGVydHlCYWcsQURSYXdFbnRyeSs8TXNlcnZQcm9wZXJ0eUJhZz5rX19CYWNraW5nRmllbGQqQURSYXdFbnRyeSs8TWJ4UHJvcGVydHlCYWc+a19fQmFja2luZ0ZpZWxkFkFEUmF3RW50cnkrcHJvcGVydHlCYWceQ29uZmlndXJhYmxlT2JqZWN0K3Byb3BlcnR5QmFnLENvbmZpZ3VyYWJsZU9iamVjdCtzZXJpYWxpemVyQXNzZW1ibHlWZXJzaW9uJkNvbmZpZ3VyYWJsZU9iamVjdCtpbnN0YW50aWF0aW9uRXJyb3JzBAQEBAQAAAQEBAQABAQEBAAABAQEBAAEBAQEAAAEBAQEAAQABAQEBAAEBAQEBAQEBAQEBAQDAy5NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZFtdAgAAAChNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuBwAAAK4BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dBwAAAK4BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dBwAAAClNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Mb2NhbExvbmdGdWxsUGF0aAsAAAABAShNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuBwAAAK4BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dBwAAAK4BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dBwAAAClNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Mb2NhbExvbmdGdWxsUGF0aAsAAAABKE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4HAAAArgFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0HAAAArgFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0HAAAAKU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoCwAAAAEIKE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4HAAAArgFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0HAAAArgFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0HAAAAKU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoCwAAAAEoTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbgcAAACuAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQcAAACuAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQcAAAApTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgLAAAAAQEoTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbgcAAACuAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQcAAACuAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQcAAAApTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgLAAAAAShNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuBwAAAAEoTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbgcAAACuAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQcAAACuAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQcAAAApTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgLAAAAAShNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuBwAAAK4BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dBwAAAK4BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dBwAAAClNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Mb2NhbExvbmdGdWxsUGF0aAsAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAA5TeXN0ZW0uVmVyc2lvbqkBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5WYWxpZGF0aW9uRXJyb3IsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQIAAAAKBfT///8oTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbgEAAAAIdGltZVNwYW4ADAcAAAAAAAAAAAAAAAXz////rgFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0CAAAADGxpbWl0ZWRWYWx1ZQtpc1VubGltaXRlZAQAKk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZQcAAAABBwAAAAXy////Kk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZQMAAAAFYnl0ZXMEdW5pdA1jYW5vbmljYWxGb3JtAAQBEDVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUrUXVhbnRpZmllcgcAAAAHAAAAAAAAAAAAAAAF8f///zVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUrUXVhbnRpZmllcgEAAAAHdmFsdWVfXwAQBwAAAAAAAAAAAAAACgAB8P////P///8B7/////L///8AAAAAAAAAAAHu////8f///wAAAAAAAAAACgAKAAAB7f////T///8AAAAAAAAAAAHs////8////wHr////8v///wAAAAAAAAAAAer////x////AAAAAAAAAAAKAAHp////8////wHo////8v///wAAAAAAAAAAAef////x////AAAAAAAAAAAKAAoAAeb////0////AAAAAAAAAAAB5f////P///8B5P////L///8AAAAAAAAAAAHj////8f///wAAAAAAAAAACgAB4v////P///8B4f////L///8AAAAAAAAAAAHg////8f///wAAAAAAAAAACgAKAAAAAAAB3/////T///8AAAAAAAAAAAHe////8////wHd////8v///wAAAAAAAAAAAdz////x////AAAAAAAAAAAKAAHb////8////wHa////8v///wAAAAAAAAAAAdn////x////AAAAAAAAAAAKAAoAAdj////0////AAAAAAAAAAAB1/////P///8B1v////L///8AAAAAAAAAAAHV////8f///wAAAAAAAAAACgAB1P////P///8B0/////L///8AAAAAAAAAAAHS////8f///wAAAAAAAAAACgAKAAAB0f////T///8AAAAAAAAAAAHQ////8////wHP////8v///wAAAAAAAAAAAc7////x////AAAAAAAAAAAKAAHN////8////wHM////8v///wAAAAAAAAAAAcv////x////AAAAAAAAAAAKAAoAAcr////0////AAAAAAAAAAAAAcn////0////AAAAAAAAAAAByP////P///8Bx/////L///8AAAAAAAAAAAHG////8f///wAAAAAAAAAACgABxf////P///8BxP////L///8AAAAAAAAAAAHD////8f///wAAAAAAAAAACgAKAAHC////9P///wAAAAAAAAAAAcH////z////AcD////y////AAAAAAAAAAABv/////H///8AAAAAAAAAAAoAAb7////z////Ab3////y////AAAAAAAAAAABvP////H///8AAAAAAAAAAAoACgkDAAAACQMAAAAJAwAAAAkDAAAACgoJAwAAAAkDAAAACQYAAAAJRwAAAAQGAAAADlN5c3RlbS5WZXJzaW9uBAAAAAZfTWFqb3IGX01pbm9yBl9CdWlsZAlfUmV2aXNpb24AAAAACAgICA8AAAAAAAAAAAAAAAAAAAAHCQAAAAABAAAAlQAAAAQtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyBwAAAAW4////LU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcgIAAAADS2V5BVZhbHVlBAI2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uAgAAAAcAAAAJSQAAAAgICwAAAAG2////uP///wlLAAAACUwAAAABs////7j///8JTgAAAAgIBwAAAAGx////uP///wlQAAAACVEAAAABrv///7j///8JUwAAAAlUAAAAAav///+4////CVYAAAAICAMAAAABqf///7j///8JWAAAAAgIAAAAAAGn////uP///wlaAAAACVsAAAABpP///7j///8JXQAAAAleAAAAAaH///+4////CWAAAAAJYQAAAAGe////uP///wljAAAACWQAAAABm////7j///8JZgAAAAlnAAAAAZj///+4////CWkAAAAJagAAAAGV////uP///wlsAAAACW0AAAABkv///7j///8JbwAAAAlwAAAAAY////+4////CXIAAAAJcwAAAAGM////uP///wl1AAAACXYAAAABif///7j///8JeAAAAAl5AAAAAYb///+4////CXsAAAAJfAAAAAGD////uP///wl+AAAACX8AAAABgP///7j///8JgQAAAAmCAAAAAX3///+4////CYQAAAAICMzFAAABe////7j///8JhgAAAAmHAAAAAXj///+4////CYkAAAAICBQAAAABdv///7j///8JiwAAAAgJAAAAAAAAAAABdP///7j///8JjQAAAAgIxhMAAAFy////uP///wmPAAAACAjHEwAAAXD///+4////CZEAAAAICAcAAAABbv///7j///8JkwAAAAgIAAAAAAFs////uP///wmVAAAACAgJZAAAAWr///+4////CZcAAAAJmAAAAAFn////uP///wmaAAAACAgAAAAAAWX///+4////CZwAAAAICAAAAAABY////7j///8JngAAAAafAAAACkZhdWx0Wm9uZTEBYP///7j///8JoQAAAAaiAAAA4RM8VHJhbnNwb3J0U2VydmVyQ29uZmlnWG1sPjxRdWV1ZUxvZyBNQT0iNjA0ODAwMDAwMDAwMCIgTURTPSIyMDk3MTUyMDAiIE1GUz0iMTA0ODU3NjAiIFBBVEg9IkY6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXFRyYW5zcG9ydFJvbGVzXExvZ3NcSHViXFF1ZXVlVmlld2VyIiBFTkE9InRydWUiIC8+PExhdGVuY3lMb2cgTUE9IjYwNDgwMDAwMDAwMDAiIE1EUz0iMjA5NzE1MjAwIiBNRlM9IjEwNDg1NzYwIiBQQVRIPSJGOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdFxFeGNoYW5nZVxUcmFuc3BvcnRSb2xlc1xMb2dzXEh1YlxMYXRlbmN5TG9nIiBFTkE9InRydWUiIC8+PEdlbmVyYWxMb2cgTUE9IjYwNDgwMDAwMDAwMDAiIE1EUz0iMjA5NzE1MjAwIiBNRlM9IjEwNDg1NzYwIiBQQVRIPSJGOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdFxFeGNoYW5nZVxUcmFuc3BvcnRSb2xlc1xMb2dzXEh1YlxHZW5lcmFsTG9nIiBFTkE9InRydWUiIC8+PFdsbUxvZyBNQT0iNjA0ODAwMDAwMDAwMCIgTURTPSIyNjIxNDQwMDAiIE1GUz0iMTA0ODU3NjAiIFBBVEg9IkY6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXFRyYW5zcG9ydFJvbGVzXExvZ3NcV0xNIiBFTkE9InRydWUiIC8+PEFnZW50TG9nIE1BPSI2MDQ4MDAwMDAwMDAwIiBNRFM9IjI2MjE0NDAwMCIgTUZTPSIxMDQ4NTc2MCIgUEFUSD0iRjpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnRcRXhjaGFuZ2VcVHJhbnNwb3J0Um9sZXNcTG9nc1xIdWJcQWdlbnRMb2ciIEVOQT0idHJ1ZSIgLz48Rmxvd0NvbnRyb2xMb2cgTUE9IjYwNDgwMDAwMDAwMDAiIE1EUz0iMjA5NzE1MjAwIiBNRlM9IjEwNDg1NzYwIiBFTkE9InRydWUiIC8+PFJlc291cmNlTG9nIE1BPSI2MDQ4MDAwMDAwMDAwIiBNRFM9IjIwOTcxNTIwMCIgTUZTPSIxMDQ4NTc2MCIgRU5BPSJ0cnVlIiAvPjxQcm9jZXNzaW5nU2NoZWR1bGVyTG9nIE1BPSI2MDQ4MDAwMDAwMDAwIiBNRFM9IjIwOTcxNTIwMCIgTUZTPSIxMDQ4NTc2MCIgRU5BPSJ0cnVlIiAvPjxEbnNMb2cgTUE9IjYwNDgwMDAwMDAwMDAiIE1EUz0iMTA0ODU3NjAwIiBNRlM9IjEwNDg1NzYwIiBFTkE9ImZhbHNlIiAvPjxKb3VybmFsTG9nIE1BPSI2MDQ4MDAwMDAwMDAwIiBNRFM9IjIwOTcxNTIwMCIgTUZTPSIxMDQ4NTc2MCIgUEFUSD0iRjpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnRcRXhjaGFuZ2VcVHJhbnNwb3J0Um9sZXNcTG9nc1xKb3VybmFsTG9nIiBFTkE9ImZhbHNlIiAvPjxNYWludGVuYW5jZUxvZyBNQT0iNjA0ODAwMDAwMDAwMCIgTURTPSIyMDk3MTUyMDAiIE1GUz0iMTA0ODU3NjAiIEVOQT0idHJ1ZSIgLz48VHJhbnNwb3J0SHR0cExvZyBNQT0iNjA0ODAwMDAwMDAwMCIgTURTPSIyNjIxNDQwMDAiIE1GUz0iMTA0ODU3NjAiIFBBVEg9IkY6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXFRyYW5zcG9ydFJvbGVzXExvZ3NcSHViXFRyYW5zcG9ydEh0dHAiIEVOQT0idHJ1ZSIgLz48UmVxdWVzdEJyb2tlckxvZyBNQT0iNjA0ODAwMDAwMDAwMCIgTURTPSIyMDk3MTUyMDAiIE1GUz0iMTA0ODU3NjAiIEVOQT0idHJ1ZSIgLz48U3RvcmFnZVJFU1RMb2cgTUE9IjYwNDgwMDAwMDAwMDAiIE1EUz0iMjA5NzE1MjAwIiBNRlM9IjEwNDg1NzYwIiBFTkE9InRydWUiIC8+PE1heFByZWZBY3RpdmVzIHAyOm5pbD0idHJ1ZSIgeG1sbnM6cDI9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiAvPjxNaXRpZ2F0aW9uc0VuYWJsZWQgcDI6bmlsPSJ0cnVlIiB4bWxuczpwMj0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIC8+PGRkQnlwYXNzRmlsdGVyaW5nPmZhbHNlPC9kZEJ5cGFzc0ZpbHRlcmluZz48ZGRGb3JjZVJlc2Nhbj5mYWxzZTwvZGRGb3JjZVJlc2Nhbj48ZGREZWZlcldhaXRUaW1lPjE8L2RkRGVmZXJXYWl0VGltZT48ZGREZWZlckF0dGVtcHRzPjA8L2RkRGVmZXJBdHRlbXB0cz48ZGRTY2FuVGltZW91dD4xPC9kZFNjYW5UaW1lb3V0PjxkZFNjYW5FcnJvckFjdGlvbj5CbG9jazwvZGRTY2FuRXJyb3JBY3Rpb24+PGRkTWluaW11bVN1Y2Nlc3NmdWxFbmdpbmVTY2Fucz4xPC9kZE1pbmltdW1TdWNjZXNzZnVsRW5naW5lU2NhbnM+PE1haWxib3hEZWxpdmVyeUNvbm5lY3Rvck1heEluYm91bmRDb25uZWN0aW9uPjxWYWx1ZT41MDAwPC9WYWx1ZT48L01haWxib3hEZWxpdmVyeUNvbm5lY3Rvck1heEluYm91bmRDb25uZWN0aW9uPjxBZ2VudEdyYXlFeGNlcHRpb25Mb2cgTUE9IjYwNDgwMDAwMDAwMDAiIE1EUz0iMjA5NzE1MjAwIiBNRlM9IjEwNDg1NzYwIiBFTkE9InRydWUiIC8+PERhdGFDb2xsZWN0aW9uRW5hYmxlZD5mYWxzZTwvRGF0YUNvbGxlY3Rpb25FbmFibGVkPjxNaXRpZ2F0aW9uc0FwcGxpZWQ+PE1pdGlnYXRpb24+UElORzE8L01pdGlnYXRpb24+PC9NaXRpZ2F0aW9uc0FwcGxpZWQ+PE1pdGlnYXRpb25zQXBwbGllZFRpbWU+MjAyMy0wMS0wNVQxMjowODozNi4xMjE4NzI0WjwvTWl0aWdhdGlvbnNBcHBsaWVkVGltZT48L1RyYW5zcG9ydFNlcnZlckNvbmZpZ1htbD4BXf///7j///8JpAAAAAalAAAAA0UxNQFa////uP///wmnAAAABqgAAABpL289Q29udG9zbyBMYWJzL291PUV4Y2hhbmdlIEFkbWluaXN0cmF0aXZlIEdyb3VwIChGWURJQk9IRjIzU1BETFQpL2NuPUNvbmZpZ3VyYXRpb24vY249U2VydmVycy9jbj1FMmsxNi0yAVf///+4////CaoAAAAJqwAAAAFU////uP///wmtAAAACa4AAAABUf///7j///8JsAAAAAmxAAAAAU7///+4////CbMAAAAICAAAAAABTP///7j///8JtQAAAAm2AAAAAUn///+4////CbgAAAAGuQAAAB1WZXJzaW9uIDE1LjEgKEJ1aWxkIDMyNTA3LjE4KQFG////uP///wm7AAAACbwAAAABQ////7j///8JvgAAAAa/AAAAYOOJu+Sog+eos+Sog+eos+Sog+eos+Sog+eos+SsgueAueSAieOhseW4l+OtsuC9huasouChgeakoOW4l+a0pOWYn+aYr+G5l+K5p+G5l+K5p+G5l+K5p+G5l+K5p+G9lgFA////uP///wnBAAAACAjLicFzAT7///+4////CcMAAAAICAAAAAABPP///7j///8JxQAAAAnGAAAAATn///+4////CcgAAAAJyQAAAAE2////uP///wnLAAAACcwAAAABM////7j///8JzgAAAAbPAAAAFzAyMDY0LTAwNC0wNjA1MDAzLTAyMjkxATD///+4////CdEAAAAG0gAAAAdFMmsxNi0yAS3///+4////CdQAAAAG1QAAABEyMDIxMDcyOTA2NTQzOC4wWgEq////uP///wnXAAAACdgAAAABJ////7j///8J2gAAAAnbAAAAAST///+4////Cd0AAAAJ3gAAAAEh////uP///wngAAAACeEAAAABHv///7j///8J4wAAAAnkAAAAARv///+4////CeYAAAAICAYAAAABGf///7j///8J6AAAAAnpAAAAARb///+4////CesAAAAJ7AAAAAET////uP///wnuAAAACAiwBAAAARH///+4////CfAAAAAJ8QAAAAEO////uP///wnzAAAACfQAAAABC////7j///8J9gAAAAn3AAAAAQj///+4////CfkAAAAJ+gAAAAEF////uP///wn8AAAACf0AAAABAv///7j///8J/wAAAAkAAQAAAf/+//+4////CQIBAAAJAwEAAAH8/v//uP///wkFAQAACQYBAAAB+f7//7j///8JCAEAAAkJAQAAAfb+//+4////CQsBAAAICBQAAAAB9P7//7j///8JDQEAAAgIAgAAAAHy/v//uP///wkPAQAACRABAAAB7/7//7j///8JEgEAAAkTAQAAAez+//+4////CRUBAAAJFgEAAAHp/v//uP///wkYAQAACRkBAAAB5v7//7j///8JGwEAAAkcAQAAAeP+//+4////CR4BAAAJHwEAAAHg/v//uP///wkhAQAACSIBAAAB3f7//7j///8JJAEAAAklAQAAAdr+//+4////CScBAAAJKAEAAAHX/v//uP///wkqAQAACSsBAAAB1P7//7j///8JLQEAAAkuAQAAAdH+//+4////CTABAAAJMQEAAAHO/v//uP///wkzAQAACTQBAAABy/7//7j///8JNgEAAAk3AQAAAcj+//+4////CTkBAAAJOgEAAAHF/v//uP///wk8AQAACT0BAAABwv7//7j///8JPwEAAAlAAQAAAb/+//+4////CUIBAAAJQwEAAAG8/v//uP///wlFAQAACUYBAAABuf7//7j///8JSAEAAAlJAQAAAbb+//+4////CUsBAAAJTAEAAAGz/v//uP///wlOAQAACU8BAAABsP7//7j///8JUQEAAAlSAQAAAa3+//+4////CVQBAAAICGQAAAABq/7//7j///8JVgEAAAlXAQAAAaj+//+4////CVkBAAAICGQAAAABpv7//7j///8JWwEAAAlcAQAAAaP+//+4////CV4BAAAJXwEAAAGg/v//uP///wlhAQAACWIBAAABnf7//7j///8JZAEAAAllAQAAAZr+//+4////CWcBAAAJaAEAAAGX/v//uP///wlqAQAACAhkAAAAAZX+//+4////CWwBAAAJbQEAAAGS/v//uP///wlvAQAACAgDAAAAAZD+//+4////CXEBAAAICEAAAAABjv7//7j///8JcwEAAAgIEAAAAAGM/v//uP///wl1AQAACXYBAAABif7//7j///8JeAEAAAl5AQAAAYb+//+4////CXsBAAAJfAEAAAGD/v//uP///wl+AQAACX8BAAABgP7//7j///8JgQEAAAmCAQAAAX3+//+4////CYQBAAAJhQEAAAF6/v//uP///wmHAQAACYgBAAABd/7//7j///8JigEAAAmLAQAAAXT+//+4////CY0BAAAICAIAAAABcv7//7j///8JjwEAAAgIAgAAAAFw/v//uP///wmRAQAACZIBAAABbf7//7j///8JlAEAAAmVAQAAAWr+//+4////CZcBAAAJmAEAAAFn/v//uP///wmaAQAACAjoAwAAAWX+//+4////CZwBAAAICAUAAAABY/7//7j///8JngEAAAmfAQAAAWD+//+4////CaEBAAAJogEAAAFd/v//uP///wmkAQAACaUBAAABWv7//7j///8JpwEAAAmoAQAAAVf+//+4////CaoBAAAICBQAAAABVf7//7j///8JrAEAAAgIEAAAAAFT/v//uP///wmuAQAACAgFAAAAAVH+//+4////CbABAAAICAMAAAABT/7//7j///8JsgEAAAgIHgAAAAFN/v//uP///wm0AQAACAiWAAAAAUv+//+4////CbYBAAAICCwBAAABSf7//7j///8JuAEAAAa5AQAAL2h0dHA6Ly9hbXVwZGF0ZWRsLm1pY3Jvc29mdC5jb20vc2VydmVyL2FtdXBkYXRlAUb+//+4////CbsBAAAICEd3AIABRP7//7j///8JvQEAAAa+AQAAB0UyazE2LTIBQf7//7j///8JwAEAAAnBAQAAAT7+//+4////CcMBAAAJxAEAAAE7/v//uP///wnGAQAACccBAAABOP7//7j///8JyQEAAAnKAQAAATX+//+4////CcwBAAAJzQEAAAEy/v//uP///wnPAQAABtABAAAQREMtMS5Db250b3NvLmxhYgEv/v//uP///wnSAQAACdMBAAABLP7//7j///8J1QEAAAbWAQAAETIwMjMwMTA1MTIwODM2LjBaASn+//+4////CdgBAAAIDVZc450c79pIASf+//+4////CdoBAAAIAQABJf7//7j///8J3AEAAAndAQAABwoAAAAAAQAAAAAAAAAELU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcgcAAAAERwAAAKkBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5WYWxpZGF0aW9uRXJyb3IsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQMAAAAGX2l0ZW1zBV9zaXplCF92ZXJzaW9uBAAAKU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlZhbGlkYXRpb25FcnJvcltdBwAAAAgICd4BAAAAAAAAAAAAAAVJAAAANk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5RGVmaW5pdGlvbgsAAAAPbGRhcERpc3BsYXlOYW1lDmZvcm1hdFByb3ZpZGVyDnNoYWRvd1Byb3BlcnR5FnNvZnRMaW5rU2hhZG93UHJvcGVydHkXbXNlcnZQcm9wZXJ0eURlZmluaXRpb24VbWJ4UHJvcGVydHlEZWZpbml0aW9uJlNpbXBsZVByb3ZpZGVyUHJvcGVydHlEZWZpbml0aW9uK2ZsYWdzF1Byb3BlcnR5RGVmaW5pdGlvbituYW1lF1Byb3BlcnR5RGVmaW5pdGlvbit0eXBlG1Byb3BlcnR5RGVmaW5pdGlvbit0eXBlTmFtZTlQcm9wZXJ0eURlZmluaXRpb24rcmVxdWlyZWRQcm9wZXJ0eURlZmluaXRpb25zV2hlblJlYWRpbmcBAwQEBAQAAQMBAxZTeXN0ZW0uSUZvcm1hdFByb3ZpZGVyNk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5RGVmaW5pdGlvbgIAAAA2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uAgAAADlNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuTVNlcnZQcm9wZXJ0eURlZmluaXRpb24CAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk1ieFByb3BlcnR5RGVmaW5pdGlvbgIAAAAIH1N5c3RlbS5Vbml0eVNlcmlhbGl6YXRpb25Ib2xkZXKzAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLklDb2xsZWN0aW9uYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5RGVmaW5pdGlvbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dAgAAAAbfAQAAGW1zRXhjaENhbGVuZGFyUmVwYWlyRmxhZ3MKCgoKCiAAAAAG4AEAABtDYWxlbmRhclJlcGFpckZsYWdzSW50ZXJuYWwJ4QEAAAbiAQAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgFLAAAASQAAAAbjAQAAG21zRXhjaENhbGVuZGFyUmVwYWlyTG9nUGF0aAoKCgoKAAAAAAbkAQAAFUNhbGVuZGFyUmVwYWlyTG9nUGF0aAnlAQAABuYBAACQAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFTAAAAClNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Mb2NhbExvbmdGdWxsUGF0aAYAAAARTG9uZ1BhdGgrcGF0aE5hbWUQTG9uZ1BhdGgraXNWYWxpZBRMb25nUGF0aCtpc0xvY2FsRnVsbA5Mb25nUGF0aCtpc1VuYxJMb25nUGF0aCtkcml2ZU5hbWUTTG9uZ1BhdGgrc2VydmVyTmFtZQEAAAABAQEBAQsAAAAG5wEAAEVGOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdFxFeGNoYW5nZVxMb2dnaW5nXENhbGVuZGFyIFJlcGFpciBBc3Npc3RhbnQBAQAG6AEAAAJGOgoBTgAAAEkAAAAG6QEAACVtc0V4Y2hDYWxlbmRhclJlcGFpckludGVydmFsRW5kV2luZG93CgoKCgogAAAABuoBAAAfQ2FsZW5kYXJSZXBhaXJJbnRlcnZhbEVuZFdpbmRvdwnhAQAABuwBAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAVAAAABJAAAABu0BAAAjbXNFeGNoQ2FsZW5kYXJSZXBhaXJMb2dGaWxlQWdlTGltaXQKCgoKCiAAAAAG7gEAAB1DYWxlbmRhclJlcGFpckxvZ0ZpbGVBZ2VMaW1pdAnvAQAABvABAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAVEAAAD0////AIAhqNsHAAABUwAAAEkAAAAG8QEAACRtc0V4Y2hDYWxlbmRhclJlcGFpckxvZ0ZpbGVTaXplTGltaXQKCgoKCgAAAAAG8gEAACNDYWxlbmRhclJlcGFpckxvZ0RpcmVjdG9yeVNpemVMaW1pdAnzAQAABvQBAACLAk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBVAAAAPP///8BC/7///L///8AAEAfAAAAAAEK/v//8f///wEAAAAAAAAACgABVgAAAEkAAAAG9wEAADBtc0V4Y2hTeW5jQWNjb3VudHNTdWNjZXNzaXZlUG9pc29uSXRlbXNUaHJlc2hvbGQKCgoKCiAAAAAG+AEAADJUcmFuc3BvcnRTeW5jQWNjb3VudHNTdWNjZXNzaXZlUG9pc29uSXRlbVRocmVzaG9sZAnhAQAABvoBAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAVgAAABJAAAABvsBAAAdbXNFeGNoQ29udGVudEFnZ3JlZ2F0aW9uRmxhZ3MKCgoKCiAAAAAG/AEAABhUcmFuc3BvcnRTeW5jU2VydmVyRmxhZ3MJ4QEAAAb+AQAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgFaAAAASQAAAAb/AQAAJm1zRXhjaFN5bmNIdWJIZWFsdGhMb2dQZXJGaWxlU2l6ZVF1b3RhCQACAAAKCgoKIAAAAAYBAgAAJFRyYW5zcG9ydFN5bmNIdWJIZWFsdGhMb2dNYXhGaWxlU2l6ZQkCAgAABgMCAACHAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBWwAAAPL///8AAKAAAAAAAAH8/f//8f///wAEAAAAAAAACgFdAAAASQAAAAYFAgAAJW1zRXhjaFN5bmNIdWJIZWFsdGhMb2dBZ2VRdW90YUluSG91cnMKCgoKCiAAAAAGBgIAAB9UcmFuc3BvcnRTeW5jSHViSGVhbHRoTG9nTWF4QWdlCe8BAAAGCAIAAIUBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBXgAAAPT///8AgGT4khcAAAFgAAAASQAAAAYJAgAAKG1zRXhjaFN5bmNIdWJIZWFsdGhMb2dEaXJlY3RvcnlTaXplUXVvdGEJAAIAAAoKCgogAAAABgsCAAApVHJhbnNwb3J0U3luY0h1YkhlYWx0aExvZ01heERpcmVjdG9yeVNpemUJAgIAAAYNAgAAhwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAWEAAADy////AAAAgAIAAAAB8v3///H///8ABAAAAAAAAAoBYwAAAEkAAAAGDwIAACptc0V4Y2hTeW5jTWFpbGJveEhlYWx0aExvZ1BlckZpbGVTaXplUXVvdGEJAAIAAAoKCgogAAAABhECAAAoVHJhbnNwb3J0U3luY01haWxib3hIZWFsdGhMb2dNYXhGaWxlU2l6ZQkCAgAABhMCAACHAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBZAAAAPL///8AAKAAAAAAAAHs/f//8f///wAEAAAAAAAACgFmAAAASQAAAAYVAgAAKW1zRXhjaFN5bmNNYWlsYm94SGVhbHRoTG9nQWdlUXVvdGFJbkhvdXJzCgoKCgogAAAABhYCAAAjVHJhbnNwb3J0U3luY01haWxib3hIZWFsdGhMb2dNYXhBZ2UJ7wEAAAYYAgAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFnAAAA9P///wCAZPiSFwAAAWkAAABJAAAABhkCAAAsbXNFeGNoU3luY01haWxib3hIZWFsdGhMb2dEaXJlY3RvcnlTaXplUXVvdGEJAAIAAAoKCgogAAAABhsCAAAtVHJhbnNwb3J0U3luY01haWxib3hIZWFsdGhMb2dNYXhEaXJlY3RvcnlTaXplCQICAAAGHQIAAIcBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFqAAAA8v///wAAAIACAAAAAeL9///x////AAQAAAAAAAAKAWwAAABJAAAABh8CAAAebXNFeGNoTWlncmF0aW9uTG9nTG9nZ2luZ0xldmVsCgoKCgogAAAABiACAAAYTWlncmF0aW9uTG9nTG9nZ2luZ0xldmVsCSECAAAGIgIAAIcBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTWlncmF0aW9uRXZlbnRUeXBlLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgVtAAAAKk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk1pZ3JhdGlvbkV2ZW50VHlwZQEAAAAHdmFsdWVfXwAIBwAAAAMAAAABbwAAAEkAAAAGIwIAACFtc0V4Y2hNaWdyYXRpb25Mb2dBZ2VRdW90YUluSG91cnMKCgoKCiAAAAAGJAIAABJNaWdyYXRpb25Mb2dNYXhBZ2UJ7wEAAAYmAgAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFwAAAA9P///wAAW9JxjQAAAXIAAABJAAAABicCAAApbXNFeGNoTWlncmF0aW9uTG9nRGlyZWN0b3J5U2l6ZVF1b3RhTGFyZ2UKCgoKCiAAAAAGKAIAABxNaWdyYXRpb25Mb2dNYXhEaXJlY3RvcnlTaXplCQICAAAGKgIAAIcBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFzAAAA8v///wAAAEABAAAAAdX9///x////AQAAAAAAAAAKAXUAAABJAAAABiwCAAAibXNFeGNoTWlncmF0aW9uTG9nUGVyRmlsZVNpemVRdW90YQoKCgoKIAAAAAYtAgAAF01pZ3JhdGlvbkxvZ01heEZpbGVTaXplCQICAAAGLwIAAIcBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgF2AAAA8v///wAAQAYAAAAAAdD9///x////AQAAAAAAAAAKAXgAAABJAAAABjECAAAibXNFeGNoRGF0YUxvc3NGb3JBdXRvRGF0YWJhc2VNb3VudAoKCgoKIAAAAAYyAgAAGUF1dG9EYXRhYmFzZU1vdW50RGlhbFR5cGUJMwIAAAY0AgAAsgFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuU3lzdGVtQ29uZmlndXJhdGlvbi5BdXRvRGF0YWJhc2VNb3VudERpYWwsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgV5AAAAS01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLkF1dG9EYXRhYmFzZU1vdW50RGlhbAEAAAAHdmFsdWVfXwAIAgAAAAYAAAABewAAAEkAAAAGNQIAABVtc0V4Y2hFTENBdWRpdExvZ1BhdGgKCgoKCgAAAAAGNgIAAA9FbGNBdWRpdExvZ1BhdGgJ5QEAAAY4AgAAkAFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Mb2NhbExvbmdGdWxsUGF0aCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQ29tbW9uLCBWZXJzaW9uPTE1LjEuMjUwMy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAXwAAABMAAAABjkCAABERjpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnRcRXhjaGFuZ2VcTG9nZ2luZ1xNYW5hZ2VkIEZvbGRlciBBc3Npc3RhbnQBAQAGOgIAAAJGOgoBfgAAAEkAAAAGOwIAAB1tc0V4Y2hFTENBdWRpdExvZ0ZpbGVBZ2VMaW1pdAoKCgoKIAAAAAY8AgAAF0VsY0F1ZGl0TG9nRmlsZUFnZUxpbWl0Ce8BAAAGPgIAAIUBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBfwAAAPT///8AAAAAAAAAAAGBAAAASQAAAAY/AgAAHm1zRXhjaEVMQ0F1ZGl0TG9nRmlsZVNpemVMaW1pdAoKCgoKAAAAAAZAAgAAGEVsY0F1ZGl0TG9nRmlsZVNpemVMaW1pdAnzAQAABkICAACLAk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBggAAAPP///8Bvf3///L///8AAKAAAAAAAAG8/f//8f///wEAAAAAAAAACgABhAAAAEkAAAAGRQIAABltc0V4Y2hFZGdlU3luY0FkYW1TU0xQb3J0CgoKCgogAAAABkYCAAATRWRnZVN5bmNBZGFtU3NsUG9ydAnhAQAABkgCAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAYYAAABJAAAABkkCAAALc3lzdGVtRmxhZ3MKCgoKCiAAAAAGSgIAAAtTeXN0ZW1GbGFncwlLAgAABkwCAACYAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1GbGFnc0VudW0sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgWHAAAAMU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1GbGFnc0VudW0BAAAAB3ZhbHVlX18ACAIAAAAAAABSAYkAAABJAAAABk0CAAAubXNFeGNoVHJhbnNwb3J0TWF4Q29uY3VycmVudE1haWxib3hTdWJtaXNzaW9ucwoKCgoKIAAAAAZOAgAAH01heENvbmN1cnJlbnRNYWlsYm94U3VibWlzc2lvbnMJ4QEAAAZQAgAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGLAAAASQAAAAZRAgAAFm1zRXhjaE1haWxUaXBzU2V0dGluZ3MKCgoKCiAAAAAGUgIAABBNYWlsVGlwc1NldHRpbmdzCVMCAAAGVAIAAFlTeXN0ZW0uSW50NjQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBjQAAAEkAAAAGVQIAABhtc0V4Y2hVTVRjcExpc3RlbmluZ1BvcnQKCgoKCiAAAAAGVgIAABNTaXBUY3BMaXN0ZW5pbmdQb3J0CeEBAAAGWAIAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBjwAAAEkAAAAGWQIAABhtc0V4Y2hVTVRsc0xpc3RlbmluZ1BvcnQKCgoKCiAAAAAGWgIAABNTaXBUbHNMaXN0ZW5pbmdQb3J0CeEBAAAGXAIAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBkQAAAEkAAAAGXQIAABRtc0V4Y2hVTUVuYWJsZWRGbGFncwoKCgoKIAAAAAZeAgAAC1VNU2VydmVyU2V0CeEBAAAGYAIAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBkwAAAEkAAAAGYQIAABdtc0V4Y2hQcm92aXNpb25pbmdGbGFncwoKCgoJYgIAACACAAAGYwIAABFQcm92aXNpb25pbmdGbGFncwnhAQAABmUCAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAZUAAABJAAAABmYCAAAUbXNFeGNoVHJhbnNwb3J0RmxhZ3MKCgoKCiAAAAAGZwIAABRUcmFuc3BvcnRTZXJ2ZXJGbGFncwnhAQAABmkCAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAZcAAABJAAAABmoCAAAVbXNFeGNoQ29tcG9uZW50U3RhdGVzCgoKCgoCAAAABmsCAAAPQ29tcG9uZW50U3RhdGVzCWwCAAAGbQIAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKBZgAAACLAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk11bHRpVmFsdWVkUHJvcGVydHlgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0MAAAAFHJlYWRPbmx5RXJyb3JNZXNzYWdlCmlzUmVhZE9ubHkRaXNDaGFuZ2VzT25seUNvcHkKd2FzQ2xlYXJlZAdjaGFuZ2VkEnByb3BlcnR5RGVmaW5pdGlvbhlzZXJpYWxpemVyQXNzZW1ibHlWZXJzaW9uGHNlcmlhbGl6ZWRQcm9wZXJ0eVZhbHVlcxVzZXJpYWxpemVkQWRkZWRWYWx1ZXMXc2VyaWFsaXplZFJlbW92ZWRWYWx1ZXMoTXVsdGlWYWx1ZWRQcm9wZXJ0eUJhc2UraXNDb21wbGV0ZWx5UmVhZDNNdWx0aVZhbHVlZFByb3BlcnR5QmFzZSs8VmFsdWVSYW5nZT5rX19CYWNraW5nRmllbGQDAAAAAAQDBQUFAASqAVN5c3RlbS5OdWxsYWJsZWAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24uTG9jYWxpemVkU3RyaW5nLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dAQEBATZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eURlZmluaXRpb24CAAAADlN5c3RlbS5WZXJzaW9uASBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5JbnRSYW5nZQcAAAAHAAAACgAAAAAJlwAAAAkGAAAACXACAAAKCgEKAZoAAABJAAAABnECAAAdbXNFeGNoQXV0b0RBR1BhcmFtU2VydmVyRmxhZ3MKCgoKCiAAAAAGcgIAAAxBdXRvRGFnRmxhZ3MJ4QEAAAZ0AgAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGcAAAASQAAAAZ1AgAAFm1zRXhjaEFjdGl2YXRpb25Db25maWcKCgoKCiAAAAAGdgIAABBBY3RpdmF0aW9uQ29uZmlnCeEBAAAGeAIAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBngAAAEkAAAAGeQIAABVtc0V4Y2hTZXJ2ZXJGYXVsdFpvbmUKCgoKCgAAAAAGegIAAAlGYXVsdFpvbmUJbAIAAAZ8AgAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBoQAAAEkAAAAGfQIAABZtc0V4Y2hDb25maWd1cmF0aW9uWE1MCgoKCgl+AgAAAAAAAAZ/AgAAE0NvbmZpZ3VyYXRpb25YTUxSYXcJbAIAAAaBAgAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBpAAAAEkAAAAGggIAABRtc0V4Y2hNYWlsYm94UmVsZWFzZQoKCgoJgwIAAAAAAAAGhAIAAA5NYWlsYm94UmVsZWFzZQlsAgAABoYCAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGnAAAASQAAAAaHAgAAEGxlZ2FjeUV4Y2hhbmdlRE4KCgoKChACAAAGiAIAABBFeGNoYW5nZUxlZ2FjeUROCWwCAAAGigIAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAaoAAABJAAAABosCAAAabXNFeGNoUmVzcG9uc2libGVNVEFTZXJ2ZXIKCgoKCgAGAAAGjAIAABZJbnRlcm5hbFJlc3BvbnNpYmxlTVRBCY0CAAAGjgIAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgWrAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAARx/f//C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkCgFw/f//cf3//223JS+OHetOqoTvy/n/s+YGkQIAAMcBQ049TWljcm9zb2Z0IE1UQSxDTj1FMmsxNi0yLENOPVNlcnZlcnMsQ049RXhjaGFuZ2UgQWRtaW5pc3RyYXRpdmUgR3JvdXAgKEZZRElCT0hGMjNTUERMVCksQ049QWRtaW5pc3RyYXRpdmUgR3JvdXBzLENOPUNvbnRvc28gTGFicyxDTj1NaWNyb3NvZnQgRXhjaGFuZ2UsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoKAAAACgmSAgAAAa0AAABJAAAABpMCAAAObXNFeGNoRGF0YVBhdGgKCgoKCgAAAAAGlAIAAAhEYXRhUGF0aAnlAQAABpYCAACQAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBrgAAAEwAAAAGlwIAACtGOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdFxFeGNoYW5nZVxNYWlsYm94AQEABpgCAAACRjoKAbAAAABJAAAABpkCAAARbXNFeGNoSW5zdGFsbFBhdGgKCgoKCgAAAAAGmgIAAAtJbnN0YWxsUGF0aAnlAQAABpwCAACQAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBsQAAAEwAAAAGnQIAACNGOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdFxFeGNoYW5nZQEBAAaeAgAAAkY6CgGzAAAASQAAAAafAgAACmhldXJpc3RpY3MKCgoKCiAAAAAGoAIAAApIZXVyaXN0aWNzCeEBAAAGogIAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBtQAAAEkAAAAGowIAAA5uZXR3b3JrQWRkcmVzcwoKCgoKAgAAAAakAgAADk5ldHdvcmtBZGRyZXNzCaUCAAAGpgIAAIMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTmV0d29ya0FkZHJlc3MsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBbYAAAAwTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTmV0d29ya0FkZHJlc3NDb2xsZWN0aW9uDAAAACpNdWx0aVZhbHVlZFByb3BlcnR5YDErcmVhZE9ubHlFcnJvck1lc3NhZ2UgTXVsdGlWYWx1ZWRQcm9wZXJ0eWAxK2lzUmVhZE9ubHknTXVsdGlWYWx1ZWRQcm9wZXJ0eWAxK2lzQ2hhbmdlc09ubHlDb3B5IE11bHRpVmFsdWVkUHJvcGVydHlgMSt3YXNDbGVhcmVkHU11bHRpVmFsdWVkUHJvcGVydHlgMStjaGFuZ2VkKE11bHRpVmFsdWVkUHJvcGVydHlgMStwcm9wZXJ0eURlZmluaXRpb24vTXVsdGlWYWx1ZWRQcm9wZXJ0eWAxK3NlcmlhbGl6ZXJBc3NlbWJseVZlcnNpb24uTXVsdGlWYWx1ZWRQcm9wZXJ0eWAxK3NlcmlhbGl6ZWRQcm9wZXJ0eVZhbHVlcytNdWx0aVZhbHVlZFByb3BlcnR5YDErc2VyaWFsaXplZEFkZGVkVmFsdWVzLU11bHRpVmFsdWVkUHJvcGVydHlgMStzZXJpYWxpemVkUmVtb3ZlZFZhbHVlcyhNdWx0aVZhbHVlZFByb3BlcnR5QmFzZStpc0NvbXBsZXRlbHlSZWFkM011bHRpVmFsdWVkUHJvcGVydHlCYXNlKzxWYWx1ZVJhbmdlPmtfX0JhY2tpbmdGaWVsZAMAAAAABAMFBQUABKoBU3lzdGVtLk51bGxhYmxlYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbi5Mb2NhbGl6ZWRTdHJpbmcsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0BAQEBNk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5RGVmaW5pdGlvbgIAAAAOU3lzdGVtLlZlcnNpb24BIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkludFJhbmdlBwAAAAcAAAAKAAAAAAm1AAAACQYAAAAJqQIAAAoKAQoBuAAAAEkAAAAGqgIAAAxzZXJpYWxOdW1iZXIKCgoKCgAAAAAGqwIAAAxTZXJpYWxOdW1iZXIJbAIAAAatAgAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBuwAAAEkAAAAGrgIAAApzZXJ2ZXJSb2xlCgoKCgoAAAAABq8CAAAKU2VydmVyUm9sZQmwAgAABrECAACnAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLlNlcnZlclJvbGUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgW8AAAAQE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLlNlcnZlclJvbGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAAAb4AAABJAAAABrICAAAEdHlwZQoKCgoKAAAAAAazAgAAClNlcnZlclR5cGUJbAIAAAa1AgAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBwQAAAEkAAAAGtgIAAA12ZXJzaW9uTnVtYmVyCgoKCgowAAAABrcCAAANVmVyc2lvbk51bWJlcgnhAQAABrkCAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAcMAAABJAAAABroCAAAQbXNFeGNoU2VydmVyUm9sZQoKCgoKIAAAAAa7AgAAGEV4Y2hhbmdlTGVnYWN5U2VydmVyUm9sZQnhAQAABr0CAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAcUAAABJAAAABr4CAAAYbXNFeGNoQ3VycmVudFNlcnZlclJvbGVzCgoKCgogAAAABr8CAAARQ3VycmVudFNlcnZlclJvbGUJsAIAAAbBAgAApwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuU3lzdGVtQ29uZmlndXJhdGlvbi5TZXJ2ZXJSb2xlLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBxgAAALwAAAA3QAAAAcgAAABJAAAABsICAAAWbXNFeGNoSG9tZVJvdXRpbmdHcm91cAoKCgoKAAQAAAbDAgAAEEhvbWVSb3V0aW5nR3JvdXAJjQIAAAbFAgAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAckAAACrAAAAATr9//9x/f//cS/OWaLq302k+vJQadCzJAoBOf3//3H9///btKZYggLRR7mcSGLCi60xBsgCAADeAUNOPUV4Y2hhbmdlIFJvdXRpbmcgR3JvdXAgKERXQkdaTUZEMDFRTkJKUiksQ049Um91dGluZyBHcm91cHMsQ049RXhjaGFuZ2UgQWRtaW5pc3RyYXRpdmUgR3JvdXAgKEZZRElCT0hGMjNTUERMVCksQ049QWRtaW5pc3RyYXRpdmUgR3JvdXBzLENOPUNvbnRvc28gTGFicyxDTj1NaWNyb3NvZnQgRXhjaGFuZ2UsQ049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TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoB2AAAAPT///8AoBGHIQAAAAHaAAAASQAAAAbhAgAAJ21zRXhjaFRyYW5zcG9ydE1lc3NhZ2VFeHBpcmF0aW9uVGltZW91dAoKCgoKIAAAAAbiAgAAGE1lc3NhZ2VFeHBpcmF0aW9uVGltZW91dAnvAQAABuQCAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAdsAAAD0////AIDTVJIBAAAB3QAAAEkAAAAG5QIAAB9tc0V4Y2hUcmFuc3BvcnRNYXhRdWV1ZUlkbGVUaW1lCgoKCgogAAAABuYCAAAQUXVldWVNYXhJZGxlVGltZQnvAQAABugCAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAd4AAAD0////ANJJawAAAAAB4AAAAEkAAAAG6QIAACNtc0V4Y2hUcmFuc3BvcnRNZXNzYWdlUmV0cnlJbnRlcnZhbAoKCgoKIAAAAAbqAgAAFE1lc3NhZ2VSZXRyeUludGVydmFsCe8BAAAG7AIAAIUBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoB4QAAAPT///8AGnEYAgAAAAHjAAAASQAAAAbtAgAALG1zRXhjaFRyYW5zcG9ydFRyYW5zaWVudEZhaWx1cmVSZXRyeUludGVydmFsCgoKCgogAAAABu4CAAAdVHJhbnNpZW50RmFpbHVyZVJldHJ5SW50ZXJ2YWwJ7wEAAAbwAgAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgHkAAAA9P///wBe0LIAAAAAAeYAAABJAAAABvECAAApbXNFeGNoVHJhbnNwb3J0VHJhbnNpZW50RmFpbHVyZVJldHJ5Q291bnQKCgoKCiAAAAAG8gIAABpUcmFuc2llbnRGYWlsdXJlUmV0cnlDb3VudAnhAQAABvQCAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAegAAABJAAAABvUCAAAgbXNFeGNoU210cE1heE91dGdvaW5nQ29ubmVjdGlvbnMKCgoKCgAAAAAG9gIAABZNYXhPdXRib3VuZENvbm5lY3Rpb25zCfcCAAAG+AIAAN0BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBekAAACAAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAxsaW1pdGVkVmFsdWULaXNVbmxpbWl0ZWQAAAgBBwAAAOgDAAAAAesAAABJAAAABvkCAAApbXNFeGNoU210cE1heE91dGdvaW5nQ29ubmVjdGlvbnNQZXJEb21haW4KCgoKCgAAAAAG+gIAAB9NYXhQZXJEb21haW5PdXRib3VuZENvbm5lY3Rpb25zCfcCAAAG/AIAAN0BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAewAAADpAAAAFAAAAAAB7gAAAEkAAAAG/QIAACttc0V4Y2hTbXRwUmVjZWl2ZU1heENvbm5lY3Rpb25SYXRlUGVyTWludXRlCgoKCgogAAAABv4CAAAaTWF4Q29ubmVjdGlvblJhdGVQZXJNaW51dGUJ4QEAAAYAAwAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgHwAAAASQAAAAYBAwAAJW1zRXhjaFRyYW5zcG9ydFJlY2VpdmVQcm90b2NvbExvZ1BhdGgKCgoKCgAAAAAGAgMAABZSZWNlaXZlUHJvdG9jb2xMb2dQYXRoCeUBAAAGBAMAAJABTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgHxAAAATAAAAAYFAwAAU0Y6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXFRyYW5zcG9ydFJvbGVzXExvZ3NcSHViXFByb3RvY29sTG9nXFNtdHBSZWNlaXZlAQEABgYDAAACRjoKAfMAAABJAAAABgcDAAAibXNFeGNoVHJhbnNwb3J0U2VuZFByb3RvY29sTG9nUGF0aAoKCgoKAAAAAAYIAwAAE1NlbmRQcm90b2NvbExvZ1BhdGgJ5QEAAAYKAwAAkAFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Mb2NhbExvbmdGdWxsUGF0aCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQ29tbW9uLCBWZXJzaW9uPTE1LjEuMjUwMy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAfQAAABMAAAABgsDAABQRjpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnRcRXhjaGFuZ2VcVHJhbnNwb3J0Um9sZXNcTG9nc1xIdWJcUHJvdG9jb2xMb2dcU210cFNlbmQBAQAGDAMAAAJGOgoB9gAAAEkAAAAGDQMAADVtc0V4Y2hUcmFuc3BvcnRPdXRib3VuZENvbm5lY3Rpb25GYWlsdXJlUmV0cnlJbnRlcnZhbAoKCgoKIAAAAAYOAwAAJk91dGJvdW5kQ29ubmVjdGlvbkZhaWx1cmVSZXRyeUludGVydmFsCe8BAAAGEAMAAIUBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoB9wAAAPT///8AvKBlAQAAAAH5AAAASQAAAAYRAwAAJ21zRXhjaFRyYW5zcG9ydE1heFJlY2VpdmVQcm90b2NvbExvZ0FnZQoKCgoKIAAAAAYSAwAAGFJlY2VpdmVQcm90b2NvbExvZ01heEFnZQnvAQAABhQDAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAfoAAAD0////AIBk+JIXAAAB/AAAAEkAAAAGFQMAADFtc0V4Y2hUcmFuc3BvcnRNYXhSZWNlaXZlUHJvdG9jb2xMb2dEaXJlY3RvcnlTaXplCgoKCgoAAAAABhYDAAAiUmVjZWl2ZVByb3RvY29sTG9nTWF4RGlyZWN0b3J5U2l6ZQnzAQAABhgDAACLAk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoB/QAAAPP///8B5/z///L///8AAKAPAAAAAAHm/P//8f///wEAAAAAAAAACgAB/wAAAEkAAAAGGwMAACxtc0V4Y2hUcmFuc3BvcnRNYXhSZWNlaXZlUHJvdG9jb2xMb2dGaWxlU2l6ZQoKCgoKAAAAAAYcAwAAHVJlY2VpdmVQcm90b2NvbExvZ01heEZpbGVTaXplCfMBAAAGHgMAAIsCTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgEAAQAA8////wHh/P//8v///wAAoAAAAAAAAeD8///x////AQAAAAAAAAAKAAECAQAASQAAAAYhAwAAJG1zRXhjaFRyYW5zcG9ydE1heFNlbmRQcm90b2NvbExvZ0FnZQoKCgoKIAAAAAYiAwAAFVNlbmRQcm90b2NvbExvZ01heEFnZQnvAQAABiQDAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAQMBAAD0////AIBk+JIXAAABBQEAAEkAAAAGJQMAAC5tc0V4Y2hUcmFuc3BvcnRNYXhTZW5kUHJvdG9jb2xMb2dEaXJlY3RvcnlTaXplCgoKCgoAAAAABiYDAAAfU2VuZFByb3RvY29sTG9nTWF4RGlyZWN0b3J5U2l6ZQnzAQAABigDAACLAk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBBgEAAPP///8B1/z///L///8AAKAPAAAAAAHW/P//8f///wEAAAAAAAAACgABCAEAAEkAAAAGKwMAACltc0V4Y2hUcmFuc3BvcnRNYXhTZW5kUHJvdG9jb2xMb2dGaWxlU2l6ZQoKCgoKAAAAAAYsAwAAGlNlbmRQcm90b2NvbExvZ01heEZpbGVTaXplCfMBAAAGLgMAAIsCTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgEJAQAA8////wHR/P//8v///wAAoAAAAAAAAdD8///x////AQAAAAAAAAAKAAELAQAASQAAAAYxAwAALW1zRXhjaFRyYW5zcG9ydE1heENvbmN1cnJlbnRNYWlsYm94RGVsaXZlcmllcwoKCgoKIAAAAAYyAwAAHk1heENvbmN1cnJlbnRNYWlsYm94RGVsaXZlcmllcwnhAQAABjQDAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAQ0BAABJAAAABjUDAAAlbXNFeGNoVHJhbnNwb3J0UG9pc29uTWVzc2FnZVRocmVzaG9sZAoKCgoKIAAAAAY2AwAAD1BvaXNvblRocmVzaG9sZAnhAQAABjgDAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAQ8BAABJAAAABjkDAAAibXNFeGNoVHJhbnNwb3J0TWVzc2FnZVRyYWNraW5nUGF0aAoKCgoKAAAAAAY6AwAAFk1lc3NhZ2VUcmFja2luZ0xvZ1BhdGgJ5QEAAAY8AwAAkAFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Mb2NhbExvbmdGdWxsUGF0aCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQ29tbW9uLCBWZXJzaW9uPTE1LjEuMjUwMy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKARABAABMAAAABj0DAABHRjpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnRcRXhjaGFuZ2VcVHJhbnNwb3J0Um9sZXNcTG9nc1xNZXNzYWdlVHJhY2tpbmcBAQAGPgMAAAJGOgoBEgEAAEkAAAAGPwMAACdtc0V4Y2hUcmFuc3BvcnRNYXhNZXNzYWdlVHJhY2tpbmdMb2dBZ2UKCgoKCiAAAAAGQAMAABhNZXNzYWdlVHJhY2tpbmdMb2dNYXhBZ2UJ7wEAAAZCAwAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgETAQAA9P///wCAZPiSFwAAARUBAABJAAAABkMDAAAubXNFeGNoVHJhbnNwb3J0TWF4TWVzc2FnZVRyYWNraW5nRGlyZWN0b3J5U2l6ZQoKCgoKAAAAAAZEAwAAIk1lc3NhZ2VUcmFja2luZ0xvZ01heERpcmVjdG9yeVNpemUJ8wEAAAZGAwAAiwJNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKARYBAADz////Abn8///y////AACAPgAAAAABuPz///H///8BAAAAAAAAAAoAARgBAABJAAAABkkDAAApbXNFeGNoVHJhbnNwb3J0TWF4TWVzc2FnZVRyYWNraW5nRmlsZVNpemUKCgoKCiAAAAAGSgMAAB1NZXNzYWdlVHJhY2tpbmdMb2dNYXhGaWxlU2l6ZQkCAgAABkwDAACHAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBGQEAAPL///8AAKAAAAAAAAGz/P//8f///wEAAAAAAAAACgEbAQAASQAAAAZOAwAAEG1zRXhjaElSTUxvZ1BhdGgKCgoKCgAAAAAGTwMAAApJcm1Mb2dQYXRoCeUBAAAGUQMAAJABTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgEcAQAATAAAAAZSAwAAM0Y6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXExvZ2dpbmdcSVJNTG9ncwEBAAZTAwAAAkY6CgEeAQAASQAAAAZUAwAAEm1zRXhjaElSTUxvZ01heEFnZQoKCgoKIAAAAAZVAwAADElybUxvZ01heEFnZQnvAQAABlcDAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAR8BAAD0////AIBk+JIXAAABIQEAAEkAAAAGWAMAABxtc0V4Y2hJUk1Mb2dNYXhEaXJlY3RvcnlTaXplCgoKCgoAAAAABlkDAAAWSXJtTG9nTWF4RGlyZWN0b3J5U2l6ZQnzAQAABlsDAACLAk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBIgEAAPP///8BpPz///L///8AAKAPAAAAAAGj/P//8f///wEAAAAAAAAACgABJAEAAEkAAAAGXgMAABdtc0V4Y2hJUk1Mb2dNYXhGaWxlU2l6ZQoKCgoKIAAAAAZfAwAAEUlybUxvZ01heEZpbGVTaXplCQICAAAGYQMAAIcBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgElAQAA8v///wAAoAAAAAAAAZ78///x////AQAAAAAAAAAKAScBAABJAAAABmMDAAAmbXNFeGNoVHJhbnNwb3J0UmVjaXBpZW50U3RhdGlzdGljc1BhdGgKCgoKCgAAAAAGZAMAABtBY3RpdmVVc2VyU3RhdGlzdGljc0xvZ1BhdGgJ5QEAAAZmAwAAkAFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Mb2NhbExvbmdGdWxsUGF0aCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQ29tbW9uLCBWZXJzaW9uPTE1LjEuMjUwMy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKASgBAABMAAAABmcDAABMRjpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnRcRXhjaGFuZ2VcVHJhbnNwb3J0Um9sZXNcTG9nc1xIdWJcQWN0aXZlVXNlcnNTdGF0cwEBAAZoAwAAAkY6CgEqAQAASQAAAAZpAwAAK21zRXhjaFRyYW5zcG9ydE1heFJlY2lwaWVudFN0YXRpc3RpY3NMb2dBZ2UKCgoKCiAAAAAGagMAAB1BY3RpdmVVc2VyU3RhdGlzdGljc0xvZ01heEFnZQnvAQAABmwDAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKASsBAAD0////AIBk+JIXAAABLQEAAEkAAAAGbQMAAC9tc0V4Y2hUcmFuc3BvcnRSZWNpcGllbnRTdGF0aXN0aWNzRGlyZWN0b3J5U2l6ZQoKCgoKIAAAAAZuAwAAJ0FjdGl2ZVVzZXJTdGF0aXN0aWNzTG9nTWF4RGlyZWN0b3J5U2l6ZQkCAgAABnADAACHAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBLgEAAPL///8AAKAPAAAAAAGP/P//8f///wEAAAAAAAAACgEwAQAASQAAAAZyAwAAKm1zRXhjaFRyYW5zcG9ydFJlY2lwaWVudFN0YXRpc3RpY3NGaWxlU2l6ZQoKCgoKIAAAAAZzAwAAIkFjdGl2ZVVzZXJTdGF0aXN0aWNzTG9nTWF4RmlsZVNpemUJAgIAAAZ1AwAAhwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKATEBAADy////AACgAAAAAAABivz///H///8BAAAAAAAAAAoBMwEAAEkAAAAGdwMAACNtc0V4Y2hUcmFuc3BvcnRTZXJ2ZXJTdGF0aXN0aWNzUGF0aAoKCgoKAAAAAAZ4AwAAF1NlcnZlclN0YXRpc3RpY3NMb2dQYXRoCeUBAAAGegMAAJABTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgE0AQAATAAAAAZ7AwAAR0Y6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXFRyYW5zcG9ydFJvbGVzXExvZ3NcSHViXFNlcnZlclN0YXRzAQEABnwDAAACRjoKATYBAABJAAAABn0DAAAobXNFeGNoVHJhbnNwb3J0TWF4U2VydmVyU3RhdGlzdGljc0xvZ0FnZQoKCgoKIAAAAAZ+AwAAGVNlcnZlclN0YXRpc3RpY3NMb2dNYXhBZ2UJ7wEAAAaAAwAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgE3AQAA9P///wCAZPiSFwAAATkBAABJAAAABoEDAAAsbXNFeGNoVHJhbnNwb3J0U2VydmVyU3RhdGlzdGljc0RpcmVjdG9yeVNpemUKCgoKCiAAAAAGggMAACNTZXJ2ZXJTdGF0aXN0aWNzTG9nTWF4RGlyZWN0b3J5U2l6ZQkCAgAABoQDAACHAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBOgEAAPL///8AAKAPAAAAAAF7/P//8f///wEAAAAAAAAACgE8AQAASQAAAAaGAwAAJ21zRXhjaFRyYW5zcG9ydFNlcnZlclN0YXRpc3RpY3NGaWxlU2l6ZQoKCgoKIAAAAAaHAwAAHlNlcnZlclN0YXRpc3RpY3NMb2dNYXhGaWxlU2l6ZQkCAgAABokDAACHAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBPQEAAPL///8AAKAAAAAAAAF2/P//8f///wEAAAAAAAAACgE/AQAASQAAAAaLAwAAIm1zRXhjaFRyYW5zcG9ydFBpcGVsaW5lVHJhY2luZ1BhdGgKCgoKCgAAAAAGjAMAABNQaXBlbGluZVRyYWNpbmdQYXRoCeUBAAAGjgMAAJABTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFAAQAATAAAAAaPAwAAS0Y6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXFRyYW5zcG9ydFJvbGVzXExvZ3NcSHViXFBpcGVsaW5lVHJhY2luZwEBAAaQAwAAAkY6CgFCAQAASQAAAAaRAwAAIm1zRXhjaFRyYW5zcG9ydENvbm5lY3Rpdml0eUxvZ1BhdGgKCgoKCgAAAAAGkgMAABNDb25uZWN0aXZpdHlMb2dQYXRoCeUBAAAGlAMAAJABTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFDAQAATAAAAAaVAwAASEY6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXFRyYW5zcG9ydFJvbGVzXExvZ3NcSHViXENvbm5lY3Rpdml0eQEBAAaWAwAAAkY6CgFFAQAASQAAAAaXAwAAJG1zRXhjaFRyYW5zcG9ydE1heENvbm5lY3Rpdml0eUxvZ0FnZQoKCgoKIAAAAAaYAwAAFUNvbm5lY3Rpdml0eUxvZ01heEFnZQnvAQAABpoDAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAUYBAAD0////AIBk+JIXAAABSAEAAEkAAAAGmwMAACttc0V4Y2hUcmFuc3BvcnRDb25uZWN0aXZpdHlMb2dEaXJlY3RvcnlTaXplCgoKCgoAAAAABpwDAAAfQ29ubmVjdGl2aXR5TG9nTWF4RGlyZWN0b3J5U2l6ZQnzAQAABp4DAACLAk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBSQEAAPP///8BYfz///L///8AAIA+AAAAAAFg/P//8f///wEAAAAAAAAACgABSwEAAEkAAAAGoQMAACZtc0V4Y2hUcmFuc3BvcnRDb25uZWN0aXZpdHlMb2dGaWxlU2l6ZQoKCgoKAAAAAAaiAwAAGkNvbm5lY3Rpdml0eUxvZ01heEZpbGVTaXplCfMBAAAGpAMAAIsCTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFMAQAA8////wFb/P//8v///wAAoAAAAAAAAVr8///x////AQAAAAAAAAAKAAFOAQAASQAAAAanAwAAIm1zRXhjaFRyYW5zcG9ydFBpY2t1cERpcmVjdG9yeVBhdGgKCgoKCgAAAAAGqAMAABNQaWNrdXBEaXJlY3RvcnlQYXRoCeUBAAAGqgMAAJABTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFPAQAATAAAAAarAwAAOUY6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXFRyYW5zcG9ydFJvbGVzXFBpY2t1cAEBAAasAwAAAkY6CgFRAQAASQAAAAatAwAAIm1zRXhjaFRyYW5zcG9ydFJlcGxheURpcmVjdG9yeVBhdGgKCgoKCgAAAAAGrgMAABNSZXBsYXlEaXJlY3RvcnlQYXRoCeUBAAAGsAMAAJABTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTG9jYWxMb25nRnVsbFBhdGgsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFSAQAATAAAAAaxAwAAOUY6XFByb2dyYW0gRmlsZXNcTWljcm9zb2Z0XEV4Y2hhbmdlXFRyYW5zcG9ydFJvbGVzXFJlcGxheQEBAAayAwAAAkY6CgFUAQAASQAAAAazAwAAMm1zRXhjaFRyYW5zcG9ydE1heFBpY2t1cERpcmVjdG9yeU1lc3NhZ2VzUGVyTWludXRlCgoKCgogAAAABrQDAAAjUGlja3VwRGlyZWN0b3J5TWF4TWVzc2FnZXNQZXJNaW51dGUJ4QEAAAa2AwAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgFWAQAASQAAAAa3AwAAK21zRXhjaFRyYW5zcG9ydE1heFBpY2t1cERpcmVjdG9yeUhlYWRlclNpemUKCgoKCiAAAAAGuAMAABxQaWNrdXBEaXJlY3RvcnlNYXhIZWFkZXJTaXplCQICAAAGugMAAIcBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFXAQAA8v///wAAAQAAAAAAAUX8///x////AQAAAAAAAAAKAVkBAABJAAAABrwDAAArbXNFeGNoVHJhbnNwb3J0TWF4UGlja3VwRGlyZWN0b3J5UmVjaXBpZW50cwoKCgoKIAAAAAa9AwAAJlBpY2t1cERpcmVjdG9yeU1heFJlY2lwaWVudHNQZXJNZXNzYWdlCeEBAAAGvwMAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBWwEAAEkAAAAGwAMAAB1tc0V4Y2hUcmFuc3BvcnRSb3V0aW5nTG9nUGF0aAoKCgoKAAAAAAbBAwAAE1JvdXRpbmdUYWJsZUxvZ1BhdGgJ5QEAAAbDAwAAkAFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Mb2NhbExvbmdGdWxsUGF0aCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQ29tbW9uLCBWZXJzaW9uPTE1LjEuMjUwMy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAVwBAABMAAAABsQDAABDRjpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnRcRXhjaGFuZ2VcVHJhbnNwb3J0Um9sZXNcTG9nc1xIdWJcUm91dGluZwEBAAbFAwAAAkY6CgFeAQAASQAAAAbGAwAAH21zRXhjaFRyYW5zcG9ydFJvdXRpbmdMb2dNYXhBZ2UKCgoKCiAAAAAGxwMAABVSb3V0aW5nVGFibGVMb2dNYXhBZ2UJ7wEAAAbJAwAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFfAQAA9P///wBA5CiABQAAAWEBAABJAAAABsoDAAApbXNFeGNoVHJhbnNwb3J0Um91dGluZ0xvZ01heERpcmVjdG9yeVNpemUKCgoKCgAAAAAGywMAAB9Sb3V0aW5nVGFibGVMb2dNYXhEaXJlY3RvcnlTaXplCfMBAAAGzQMAAIsCTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVW5saW1pdGVkYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFiAQAA8////wEy/P//8v///wAAIAMAAAAAATH8///x////AQAAAAAAAAAKAAFkAQAASQAAAAbQAwAAHm1zRXhjaE1EQkF2YWlsYWJpbGl0eUdyb3VwTGluawoKCgoKAAQAAAbRAwAAGURhdGFiYXNlQXZhaWxhYmlsaXR5R3JvdXAJjQIAAAbTAwAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAWUBAACrAAAAASz8//9x/f//cS/OWaLq302k+vJQadCzJAoBK/z//3H9//8+lyNo+gypRKw/1PmtqVWsBtYDAADPAUNOPUNvbnRvc28tRGFnLENOPURhdGFiYXNlIEF2YWlsYWJpbGl0eSBHcm91cHMsQ049RXhjaGFuZ2UgQWRtaW5pc3RyYXRpdmUgR3JvdXAgKEZZRElCT0hGMjNTUERMVCksQ049QWRtaW5pc3RyYXRpdmUgR3JvdXBzLENOPUNvbnRvc28gTGFicyxDTj1NaWNyb3NvZnQgRXhjaGFuZ2UsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoJAAAACgmSAgAAAWcBAABJAAAABtgDAAAabXNFeGNoVU1BdmFpbGFibGVMYW5ndWFnZXMKCgoKCgIAAAAG2QMAAA1MYW5ndWFnZXNUZW1wCeEBAAAG2wMAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoFaAEAAIoBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTXVsdGlWYWx1ZWRQcm9wZXJ0eWAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dDAAAABRyZWFkT25seUVycm9yTWVzc2FnZQppc1JlYWRPbmx5EWlzQ2hhbmdlc09ubHlDb3B5Cndhc0NsZWFyZWQHY2hhbmdlZBJwcm9wZXJ0eURlZmluaXRpb24Zc2VyaWFsaXplckFzc2VtYmx5VmVyc2lvbhhzZXJpYWxpemVkUHJvcGVydHlWYWx1ZXMVc2VyaWFsaXplZEFkZGVkVmFsdWVzF3NlcmlhbGl6ZWRSZW1vdmVkVmFsdWVzKE11bHRpVmFsdWVkUHJvcGVydHlCYXNlK2lzQ29tcGxldGVseVJlYWQzTXVsdGlWYWx1ZWRQcm9wZXJ0eUJhc2UrPFZhbHVlUmFuZ2U+a19fQmFja2luZ0ZpZWxkAwAAAAAEAwUFBQAEqgFTeXN0ZW0uTnVsbGFibGVgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQ29tbW9uLkxvY2FsaXplZFN0cmluZywgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQ29tbW9uLCBWZXJzaW9uPTE1LjEuMjUwMy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQEBAQE2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uAgAAAA5TeXN0ZW0uVmVyc2lvbgEgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuSW50UmFuZ2UHAAAABwAAAAoAAAAACWcBAAAJBgAAAAneAwAACgoBCgFqAQAASQAAAAbfAwAAG21zRXhjaFVNTWF4aW11bUNhbGxzQWxsb3dlZAoKCgoKAAAAAAbgAwAAD01heENhbGxzQWxsb3dlZAnhAwAABuIDAAC7AVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAWwBAABJAAAABuMDAAAQbXNFeGNoU2VydmVyU2l0ZQoKCgoKAAgAAAbkAwAAClNlcnZlclNpdGUJjQIAAAbmAwAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAW0BAACrAAAAARn8//9x/f//cS/OWaLq302k+vJQadCzJAboAwAAC0NvbnRvc28ubGFiARf8//9x/f//qHXsS3OZ6E2o7pH/Gx0P3QbqAwAARkNOPURlZmF1bHQtRmlyc3QtU2l0ZS1OYW1lLENOPVNpdGVzLENOPUNvbmZpZ3VyYXRpb24sREM9Q29udG9zbyxEQz1sYWIKBAAAAAbrAwAAN0NvbnRvc28ubGFiL0NvbmZpZ3VyYXRpb24vU2l0ZXMvRGVmYXVsdC1GaXJzdC1TaXRlLU5hbWUJkgIAAAFvAQAASQAAAAbtAwAAK21zRXhjaENvbnRlbnRBZ2dyZWdhdGlvbk1heE51bWJlck9mQXR0ZW1wdHMKCgoKCiAAAAAG7gMAACBNYXhOdW1iZXJPZlRyYW5zcG9ydFN5bmNBdHRlbXB0cwnhAQAABvADAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAXEBAABJAAAABvEDAAAzbXNFeGNoQ29udGVudEFnZ3JlZ2F0aW9uTWF4QWNjZXB0ZWRKb2JzUGVyUHJvY2Vzc29yCgoKCgogAAAABvIDAAAoTWF4QWNjZXB0ZWRUcmFuc3BvcnRTeW5jSm9ic1BlclByb2Nlc3NvcgnhAQAABvQDAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAXMBAABJAAAABvUDAAAxbXNFeGNoQ29udGVudEFnZ3JlZ2F0aW9uTWF4QWN0aXZlSm9ic1BlclByb2Nlc3NvcgoKCgoKIAAAAAb2AwAAJk1heEFjdGl2ZVRyYW5zcG9ydFN5bmNKb2JzUGVyUHJvY2Vzc29yCeEBAAAG+AMAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBdQEAAEkAAAAG+QMAACRtc0V4Y2hIdHRwUHJvdG9jb2xMb2dBZ2VRdW90YUluSG91cnMKCgoKCiAAAAAG+gMAABVIdHRwUHJvdG9jb2xMb2dNYXhBZ2UJ7wEAAAb8AwAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FbmhhbmNlZFRpbWVTcGFuLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgF2AQAA9P///wBA5CiABQAAAXgBAABJAAAABv0DAAAnbXNFeGNoSFRUUFByb3RvY29sTG9nRGlyZWN0b3J5U2l6ZVF1b3RhCgoKCgogAAAABv4DAAAfSHR0cFByb3RvY29sTG9nTWF4RGlyZWN0b3J5U2l6ZQkCAgAABgAEAACHAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBeQEAAPL///8AAKAPAAAAAAH/+///8f///wEAAAAAAAAACgF7AQAASQAAAAYCBAAAJW1zRXhjaEhUVFBQcm90b2NvbExvZ1BlckZpbGVTaXplUXVvdGEKCgoKCiAAAAAGAwQAABpIdHRwUHJvdG9jb2xMb2dNYXhGaWxlU2l6ZQkCAgAABgUEAACHAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBfAEAAPL///8AAKAAAAAAAAH6+///8f///wEAAAAAAAAACgF+AQAASQAAAAYHBAAAIW1zRXhjaEhUVFBQcm90b2NvbExvZ0xvZ2dpbmdMZXZlbAoKCgoKIAAAAAYIBAAAG0h0dHBQcm90b2NvbExvZ0xvZ2dpbmdMZXZlbAkJBAAABgoEAACJAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3RvY29sTG9nZ2luZ0xldmVsLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgV/AQAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3RvY29sTG9nZ2luZ0xldmVsAQAAAAd2YWx1ZV9fAAgHAAAAAAAAAAGBAQAASQAAAAYLBAAAGW1zRXhjaFN5bmNMb2dMb2dnaW5nTGV2ZWwKCgoKCiAAAAAGDAQAABxUcmFuc3BvcnRTeW5jTG9nTG9nZ2luZ0xldmVsCQ0EAAAGDgQAAIUBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuU3luY0xvZ2dpbmdMZXZlbCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFggEAAChNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5TeW5jTG9nZ2luZ0xldmVsAQAAAAd2YWx1ZV9fAAgHAAAAAAAAAAGEAQAASQAAAAYPBAAAHG1zRXhjaFN5bmNMb2dBZ2VRdW90YUluSG91cnMKCgoKCiAAAAAGEAQAABZUcmFuc3BvcnRTeW5jTG9nTWF4QWdlCe8BAAAGEgQAAIUBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBhQEAAPT///8AgGT4khcAAAGHAQAASQAAAAYTBAAAH21zRXhjaFN5bmNMb2dEaXJlY3RvcnlTaXplUXVvdGEKCgoKCiAAAAAGFAQAACBUcmFuc3BvcnRTeW5jTG9nTWF4RGlyZWN0b3J5U2l6ZQkCAgAABhYEAACHAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBiAEAAPL///8AAACAAgAAAAHp+///8f///wEAAAAAAAAACgGKAQAASQAAAAYYBAAAHW1zRXhjaFN5bmNMb2dQZXJGaWxlU2l6ZVF1b3RhCgoKCgogAAAABhkEAAAbVHJhbnNwb3J0U3luY0xvZ01heEZpbGVTaXplCQICAAAGGwQAAIcBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgGLAQAA8v///wAAoAAAAAAAAeT7///x////AQAAAAAAAAAKAY0BAABJAAAABh0EAAAobXNFeGNoU3luY0FjY291bnRzUG9pc29uQWNjb3VudFRocmVzaG9sZAoKCgoKIAAAAAYeBAAAK1RyYW5zcG9ydFN5bmNBY2NvdW50c1BvaXNvbkFjY291bnRUaHJlc2hvbGQJ4QEAAAYgBAAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGPAQAASQAAAAYhBAAAJW1zRXhjaFN5bmNBY2NvdW50c1BvaXNvbkl0ZW1UaHJlc2hvbGQKCgoKCiAAAAAGIgQAAChUcmFuc3BvcnRTeW5jQWNjb3VudHNQb2lzb25JdGVtVGhyZXNob2xkCeEBAAAGJAQAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBkQEAAEkAAAAGJQQAAC9tc0V4Y2hDb250ZW50QWdncmVnYXRpb25SZW1vdGVDb25uZWN0aW9uVGltZW91dAoKCgoKIAAAAAYmBAAAJFRyYW5zcG9ydFN5bmNSZW1vdGVDb25uZWN0aW9uVGltZW91dAnvAQAABigEAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAZIBAAD0////AMqaOwAAAAABlAEAAEkAAAAGKQQAAC5tc0V4Y2hDb250ZW50QWdncmVnYXRpb25NYXhEb3dubG9hZFNpemVQZXJJdGVtCgoKCgogAAAABioEAAAjVHJhbnNwb3J0U3luY01heERvd25sb2FkU2l6ZVBlckl0ZW0JAgIAAAYsBAAAhwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAZUBAADy////AABAAgAAAAAB0/v///H///8BAAAAAAAAAAoBlwEAAEkAAAAGLgQAADRtc0V4Y2hDb250ZW50QWdncmVnYXRpb25NYXhEb3dubG9hZFNpemVQZXJDb25uZWN0aW9uCgoKCgogAAAABi8EAAApVHJhbnNwb3J0U3luY01heERvd25sb2FkU2l6ZVBlckNvbm5lY3Rpb24JAgIAAAYxBAAAhwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAZgBAADy////AAAgAwAAAAABzvv///H///8BAAAAAAAAAAoBmgEAAEkAAAAGMwQAADVtc0V4Y2hDb250ZW50QWdncmVnYXRpb25NYXhEb3dubG9hZEl0ZW1zUGVyQ29ubmVjdGlvbgoKCgoKIAAAAAY0BAAAKlRyYW5zcG9ydFN5bmNNYXhEb3dubG9hZEl0ZW1zUGVyQ29ubmVjdGlvbgnhAQAABjYEAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAZwBAABJAAAABjcEAAAmbXNFeGNoQ29udGVudEFnZ3JlZ2F0aW9uTWF4RGlzcGF0Y2hlcnMKCgoKCiAAAAAGOAQAABtNYXhUcmFuc3BvcnRTeW5jRGlzcGF0Y2hlcnMJ4QEAAAY6BAAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGeAQAASQAAAAY7BAAAIG1zRXhjaFN5bmNNYWlsYm94TG9nTG9nZ2luZ0xldmVsCgoKCgogAAAABjwEAAAjVHJhbnNwb3J0U3luY01haWxib3hMb2dMb2dnaW5nTGV2ZWwJDQQAAAY+BAAAhQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5TeW5jTG9nZ2luZ0xldmVsLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgGfAQAAggEAAAAAAAABoQEAAEkAAAAGPwQAACRtc0V4Y2hTeW5jTWFpbGJveExvZ1BlckZpbGVTaXplUXVvdGEKCgoKCiAAAAAGQAQAACJUcmFuc3BvcnRTeW5jTWFpbGJveExvZ01heEZpbGVTaXplCQICAAAGQgQAAIcBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQnl0ZVF1YW50aWZpZWRTaXplLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgGiAQAA8v///wAAoAAAAAAAAb37///x////AQAAAAAAAAAKAaQBAABJAAAABkQEAAAjbXNFeGNoU3luY01haWxib3hMb2dBZ2VRdW90YUluSG91cnMKCgoKCiAAAAAGRQQAAB1UcmFuc3BvcnRTeW5jTWFpbGJveExvZ01heEFnZQnvAQAABkcEAACFAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkVuaGFuY2VkVGltZVNwYW4sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAaUBAAD0////AIBk+JIXAAABpwEAAEkAAAAGSAQAACZtc0V4Y2hTeW5jTWFpbGJveExvZ0RpcmVjdG9yeVNpemVRdW90YQoKCgoKIAAAAAZJBAAAJ1RyYW5zcG9ydFN5bmNNYWlsYm94TG9nTWF4RGlyZWN0b3J5U2l6ZQkCAgAABksEAACHAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBqAEAAPL///8AAACAAAAAAAG0+///8f///wEAAAAAAAAACgGqAQAASQAAAAZNBAAAIm1zRXhjaFNtdHBNYXhNZXNzYWdlc1BlckNvbm5lY3Rpb24KCgoKCiAAAAAGTgQAAC1JbnRyYU9yZ0Nvbm5lY3RvclNtdHBNYXhNZXNzYWdlc1BlckNvbm5lY3Rpb24J4QEAAAZQBAAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGsAQAASQAAAAZRBAAAG21zRXhjaE1hbHdhcmVGaWx0ZXJpbmdGbGFncwoKCgoKIAAAAAZSBAAAFU1hbHdhcmVGaWx0ZXJpbmdGbGFncwnhAQAABlQEAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAa4BAABJAAAABlUEAAAjbXNFeGNoTWFsd2FyZUZpbHRlcmluZ0RlZmVyV2FpdFRpbWUKCgoKCiAAAAAGVgQAAB1NYWx3YXJlRmlsdGVyaW5nRGVmZXJXYWl0VGltZQnhAQAABlgEAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAbABAABJAAAABlkEAAAjbXNFeGNoTWFsd2FyZUZpbHRlcmluZ0RlZmVyQXR0ZW1wdHMKCgoKCiAAAAAGWgQAAB1NYWx3YXJlRmlsdGVyaW5nRGVmZXJBdHRlbXB0cwnhAQAABlwEAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAbIBAABJAAAABl0EAAAlbXNFeGNoTWFsd2FyZUZpbHRlcmluZ1VwZGF0ZUZyZXF1ZW5jeQoKCgoKIAAAAAZeBAAAH01hbHdhcmVGaWx0ZXJpbmdVcGRhdGVGcmVxdWVuY3kJ4QEAAAZgBAAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgG0AQAASQAAAAZhBAAAI21zRXhjaE1hbHdhcmVGaWx0ZXJpbmdVcGRhdGVUaW1lb3V0CgoKCgogAAAABmIEAAAdTWFsd2FyZUZpbHRlcmluZ1VwZGF0ZVRpbWVvdXQJ4QEAAAZkBAAAWVN5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgG2AQAASQAAAAZlBAAAIW1zRXhjaE1hbHdhcmVGaWx0ZXJpbmdTY2FuVGltZW91dAoKCgoKIAAAAAZmBAAAG01hbHdhcmVGaWx0ZXJpbmdTY2FuVGltZW91dAnhAQAABmgEAABZU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAbgBAABJAAAABmkEAAAnbXNFeGNoTWFsd2FyZUZpbHRlcmluZ1ByaW1hcnlVcGRhdGVQYXRoCgoKCgoAAAAABmoEAAAhTWFsd2FyZUZpbHRlcmluZ1ByaW1hcnlVcGRhdGVQYXRoCWwCAAAGbAQAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAbsBAABJAAAABm0EAAAVbXNFeGNoTWluQWRtaW5WZXJzaW9uCgoKCgoAAAAABm4EAAAPTWluQWRtaW5WZXJzaW9uCeEDAAAGcAQAALsBU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5JbnQzMiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBvQEAAEkAAAAGcQQAABBhZG1pbkRpc3BsYXlOYW1lCgoKCglyBAAAAAIAAAZzBAAAEEFkbWluRGlzcGxheU5hbWUJbAIAAAZ1BAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBwAEAAEkAAAAGdgQAABFkaXN0aW5ndWlzaGVkTmFtZQoKCgl3BAAACXgEAAAQCgAABnkEAAACSWQJjQIAAAZ7BAAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAcEBAACrAAAAAYT7//9x/f//cS/OWaLq302k+vJQadCzJAZ9BAAAC0NvbnRvc28ubGFiAYL7//9x/f//RzUyhsrHE0ehnsGITkslJwZ/BAAAtgFDTj1FMmsxNi0yLENOPVNlcnZlcnMsQ049RXhjaGFuZ2UgQWRtaW5pc3RyYXRpdmUgR3JvdXAgKEZZRElCT0hGMjNTUERMVCksQ049QWRtaW5pc3RyYXRpdmUgR3JvdXBzLENOPUNvbnRvc28gTGFicyxDTj1NaWNyb3NvZnQgRXhjaGFuZ2UsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoJAAAABoAEAAAHRTJrMTYtMgmSAgAAAcMBAABJAAAABoIEAAANbXNFeGNoVmVyc2lvbgoKCgoJgwQAAAACAAAGhAQAAA9FeGNoYW5nZVZlcnNpb24JhQQAAAaGBAAAigFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZU9iamVjdFZlcnNpb24sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBcQBAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VPYmplY3RWZXJzaW9uAwAAAAVNYWpvcgVNaW5vcg1FeGNoYW5nZUJ1aWxkAAAEAgIlTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VCdWlsZAcAAAAHAAAAAAEFefv//yVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZUJ1aWxkBAAAAAVNYWpvcgVNaW5vcgVCdWlsZA1CdWlsZFJldmlzaW9uAAAAAAICDg4HAAAACAAXAgAAAcYBAABJAAAABogEAAAOb2JqZWN0Q2F0ZWdvcnkKCgoKCYkEAABACAAABooEAAAOT2JqZWN0Q2F0ZWdvcnkJjQIAAAaMBAAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAccBAACrAAAAAXP7//9x/f//cS/OWaLq302k+vJQadCzJAaOBAAAC0NvbnRvc28ubGFiAXH7//9x/f//Ruxtp/pEUkqnjFeY6k28QgaQBAAAR0NOPW1zLUV4Y2gtRXhjaGFuZ2UtU2VydmVyLENOPVNjaGVtYSxDTj1Db25maWd1cmF0aW9uLERDPUNvbnRvc28sREM9bGFiCgQAAAAGkQQAADhDb250b3NvLmxhYi9Db25maWd1cmF0aW9uL1NjaGVtYS9tcy1FeGNoLUV4Y2hhbmdlLVNlcnZlcgmSAgAAAckBAABJAAAABpMEAAALb2JqZWN0Q2xhc3MKCgoKCZQEAAADAAAABpUEAAALT2JqZWN0Q2xhc3MJbAIAAAaXBAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBygEAAJgAAAAFaPv//y5NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24uTG9jYWxpemVkU3RyaW5nCAAAAAdpbnNlcnRzCGJhc2VOYW1lDGFzc2VtYmx5TmFtZQJpZAhzdHJpbmdJZBdzaG93U3RyaW5nSWRJblVJSWZFcnJvch1zaG93QXNzaXN0YW5jZUluZm9JblVJSWZFcnJvcghmYWxsYmFjawUBAQEBAAABAQELAAAACZkEAAAGmgQAACNNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EYXRhU3RyaW5ncwabBAAAW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUGnAQAABpFcnJvclJlYWRPbmx5Q2F1c2VQcm9wZXJ0eQadBAAACEV4NUNCNjUwAAEGngQAADZUaGUgcHJvcGVydHkgJ3swfScgaXMgcmVhZC1vbmx5IGFuZCBjYW4ndCBiZSBtb2RpZmllZC4BAAAACckBAAAJBgAAAAmhBAAACgoBCgHMAQAASQAAAAoKCgoKCgABAAAGogQAAAtPYmplY3RTdGF0ZQmjBAAABqQEAACAAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk9iamVjdFN0YXRlLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgXNAQAAI01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk9iamVjdFN0YXRlAQAAAAd2YWx1ZV9fAAgHAAAAAQAAAAHPAQAASQAAAAoKCgoKCgABAAAGpQQAABFPcmlnaW5hdGluZ1NlcnZlcglsAgAABqcEAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgHSAQAASQAAAAaoBAAADWNhbm9uaWNhbE5hbWUKCgoKCakEAAADAAAABqoEAAAQUmF3Q2Fub25pY2FsTmFtZQlsAgAABqwEAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgHTAQAAmAAAAAFT+///aPv//wmuBAAACZoEAAAGsAQAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CZwEAAAJnQQAAAABCZ4EAAABAAAACdIBAAAJBgAAAAm2BAAACgoBCgHVAQAASQAAAAa3BAAAC3doZW5DaGFuZ2VkCgoKCgm4BAAAAQAAAAa5BAAADldoZW5DaGFuZ2VkUmF3CWwCAAAGuwQAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAdgBAABJAAAACgoKCgoKAAEAAAa8BAAAC1doZW5SZWFkVVRDCb0EAAAGvgQAAL4BU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5EYXRlVGltZSwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoB2gEAAEkAAAAKCgoKCgoAAQAABr8EAAAISXNDYWNoZWQJwAQAAAbBBAAAW1N5c3RlbS5Cb29sZWFuLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAdwBAABJAAAACgoKCgoKAAEAAAbCBAAAFERpcmVjdG9yeUJhY2tlbmRUeXBlCcMEAAAGxAQAAJ0BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkRpcmVjdG9yeUJhY2tlbmRUeXBlLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoF3QEAADZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuRGlyZWN0b3J5QmFja2VuZFR5cGUBAAAAB3ZhbHVlX18AAgIAAAABB94BAAAAAQAAAAAAAAAEJ01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlZhbGlkYXRpb25FcnJvcgcAAAAE4QEAAB9TeXN0ZW0uVW5pdHlTZXJpYWxpemF0aW9uSG9sZGVyAwAAAAREYXRhCVVuaXR5VHlwZQxBc3NlbWJseU5hbWUBAAEIBsUEAAAMU3lzdGVtLkludDMyBAAAAAbGBAAAS21zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQHlAQAA4QEAAAbHBAAAKU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkxvY2FsTG9uZ0Z1bGxQYXRoBAAAAAbIBAAAZU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1Ae8BAADhAQAABskEAAAoTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRW5oYW5jZWRUaW1lU3BhbgQAAAAGygQAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1AfMBAADhAQAABssEAACuAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlVubGltaXRlZGAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5CeXRlUXVhbnRpZmllZFNpemUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQQAAAAJygQAAAUAAgAAPU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZStRdWFudGlmaWVyUHJvdmlkZXIBAAAACnF1YW50aWZpZXIENU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZStRdWFudGlmaWVyBwAAAAcAAAABM/v///H///8ABAAAAAAAAAECAgAA4QEAAAbOBAAAKk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkJ5dGVRdWFudGlmaWVkU2l6ZQQAAAAJygQAAAEhAgAA4QEAAAbQBAAAKk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk1pZ3JhdGlvbkV2ZW50VHlwZQQAAAAJygQAAAEzAgAA4QEAAAbSBAAAS01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLkF1dG9EYXRhYmFzZU1vdW50RGlhbAQAAAAG0wQAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQFLAgAA4QEAAAbUBAAAMU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1GbGFnc0VudW0EAAAACdMEAAABUwIAAOEBAAAG1gQAAAxTeXN0ZW0uSW50NjQEAAAACcYEAAAM2AQAAGRNaWNyb3NvZnQuRXhjaGFuZ2UuU3RvcmVQcm92aWRlciwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BWICAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTWJ4UHJvcGVydHlEZWZpbml0aW9uBwAAABg8UHJvcFRhZz5rX19CYWNraW5nRmllbGQZPE1ieEZsYWdzPmtfX0JhY2tpbmdGaWVsZCZTaW1wbGVQcm92aWRlclByb3BlcnR5RGVmaW5pdGlvbitmbGFncxdQcm9wZXJ0eURlZmluaXRpb24rbmFtZRdQcm9wZXJ0eURlZmluaXRpb24rdHlwZRtQcm9wZXJ0eURlZmluaXRpb24rdHlwZU5hbWU5UHJvcGVydHlEZWZpbml0aW9uK3JlcXVpcmVkUHJvcGVydHlEZWZpbml0aW9uc1doZW5SZWFkaW5nBAQAAQMBAxZNaWNyb3NvZnQuTWFwaS5Qcm9wVGFn2AQAADxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuTWJ4UHJvcGVydHlEZWZpbml0aW9uRmxhZ3MCAAAACB9TeXN0ZW0uVW5pdHlTZXJpYWxpemF0aW9uSG9sZGVyswFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JQ29sbGVjdGlvbmAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Qcm9wZXJ0eURlZmluaXRpb24sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQIAAAAFJ/v//xZNaWNyb3NvZnQuTWFwaS5Qcm9wVGFnAQAAAAd2YWx1ZV9fAA/YBAAAAQAAAAUm+///PE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5NYnhQcm9wZXJ0eURlZmluaXRpb25GbGFncwEAAAAHdmFsdWVfXwAJAgAAAAEAAAAAAAAABAAAAAljAgAACeEBAAAG3QQAAFlTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBbAIAAOEBAAAG3gQAAA1TeXN0ZW0uU3RyaW5nBAAAAAnGBAAAEHACAAADAAAABuAEAAAzMTpTZXJ2ZXJXaWRlT2ZmbGluZTpGdW5jdGlvbmFsOjE6NjM3OTc2NDE1MjAzODA5Nzg4BuEEAAA4MTpSZWNvdmVyeUFjdGlvbnNFbmFibGVkOkZ1bmN0aW9uYWw6MTo2Mzc5NzY0MTUyMDI5NTk3NjEG4gQAACwxOk1vbml0b3Jpbmc6RnVuY3Rpb25hbDoxOjYzNzk3NjQxNTIwMTM1OTc2MwF+AgAAYgIAAAEd+///J/v//x8AHzEBHPv//yb7//8BAAAAAAAAAAAAAAAJfwIAAAlsAgAABucEAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGDAgAAYgIAAAEY+///J/v//x8AXDABF/v//yb7//8AAAAAAAAAAAAAAAAJhAIAAAlsAgAABuwEAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGNAgAA4QEAAAbtBAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkBAAAAAnTBAAABZICAAAwTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk9yZ2FuaXphdGlvbklkBQAAAAdvcmdVbml0CmNvbmZpZ1VuaXQLcGFydGl0aW9uSWQfZXh0ZXJuYWxEaXJlY3RvcnlPcmdhbml6YXRpb25JZCNzYWZlRXh0ZXJuYWxEaXJlY3RvcnlPcmdhbml6YXRpb25JZAQEBAMDLE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAACxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlBhcnRpdGlvbklkAgAAAG1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAACgoJ7wQAAAoKAaUCAADhAQAABvAEAAAmTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTmV0d29ya0FkZHJlc3MEAAAACcoEAAAQqQIAAAYAAAAG8gQAABVuY2Fjbl92bnNfc3BwOkUyazE2LTIG8wQAAA9uZXRiaW9zOkUyazE2LTIG9AQAABBuY2Fjbl9ucDpFMmsxNi0yBvUEAAARbmNhY25fc3B4OkUyazE2LTIG9gQAACBuY2Fjbl9pcF90Y3A6RTJrMTYtMi5Db250b3NvLmxhYgb3BAAAD25jYWxycGM6RTJrMTYtMgGwAgAA4QEAAAb4BAAAQE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLlNlcnZlclJvbGUEAAAACdMEAAABzAIAAOEBAAAG+gQAAA1TeXN0ZW0uQnl0ZVtdBAAAAAnGBAAABdMCAAA5TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk1TZXJ2UHJvcGVydHlEZWZpbml0aW9uBQAAACZTaW1wbGVQcm92aWRlclByb3BlcnR5RGVmaW5pdGlvbitmbGFncxdQcm9wZXJ0eURlZmluaXRpb24rbmFtZRdQcm9wZXJ0eURlZmluaXRpb24rdHlwZRtQcm9wZXJ0eURlZmluaXRpb24rdHlwZU5hbWU5UHJvcGVydHlEZWZpbml0aW9uK3JlcXVpcmVkUHJvcGVydHlEZWZpbml0aW9uc1doZW5SZWFkaW5nAAEDAQMIH1N5c3RlbS5Vbml0eVNlcmlhbGl6YXRpb25Ib2xkZXKzAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLklDb2xsZWN0aW9uYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5RGVmaW5pdGlvbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dAgAAAAUAAAAJ1QIAAAlsAgAABv4EAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgHUAgAAYgIAAAEB+///J/v//x8AqzEBAPv//yb7//8BAAAAAAAAAAAAAAAJ1QIAAAlsAgAABgMFAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgHZAgAAYgIAAAH8+v//J/v//x8ABDIB+/r//yb7//8BAAAAAAAAAAAAAAAJ2gIAAAlsAgAABggFAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgH3AgAA4QEAAAYJBQAAgAFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5VbmxpbWl0ZWRgMVtbU3lzdGVtLkludDMyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQQAAAAJygQAABDeAwAAAQAAAAgICQQAAAHhAwAA4QEAAAYLBQAAblN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uSW50MzIsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBAAAAAnGBAAAAQkEAADhAQAABg0FAAAsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvdG9jb2xMb2dnaW5nTGV2ZWwEAAAACcoEAAABDQQAAOEBAAAGDwUAAChNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5TeW5jTG9nZ2luZ0xldmVsBAAAAAnKBAAAAXIEAABiAgAAAe/6//8n+///HwAKMAHu+v//Jvv//wAAAAAAAAAAAAAAAAlzBAAACWwCAAAGFQUAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAXcEAADTAgAABAAAAAl5BAAACY0CAAAGGAUAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgF4BAAAYgIAAAHn+v//J/v//wEAAAAB5vr//yb7//8BAAAAAAAAAAQAAAAJeQQAAAmNAgAABh0FAACTAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBgwQAAGICAAAB4vr//yf7//8BAAAAAeH6//8m+///AQAAAAAAAAAEAAAACYQEAAAJhQQAAAYiBQAAigFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZU9iamVjdFZlcnNpb24sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAYUEAADhAQAABiMFAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VPYmplY3RWZXJzaW9uBAAAAAnKBAAAAYkEAABiAgAAAdv6//8n+///AQAAAAHa+v//Jvv//wEAAAAAAAAABAAAAAmKBAAACY0CAAAGKQUAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgGUBAAAYgIAAAHW+v//J/v//x8QjDEB1fr//yb7//8BAAAAAAAAAAIAAAAJlQQAAAlsAgAABi4FAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5ChCZBAAAAQAAAAYvBQAAC09iamVjdENsYXNzEKEEAAADAAAABjAFAAADdG9wBjEFAAAGc2VydmVyBjIFAAAUbXNFeGNoRXhjaGFuZ2VTZXJ2ZXIBowQAAOEBAAAGMwUAACNNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5PYmplY3RTdGF0ZQQAAAAJygQAAAGpBAAAYgIAAAHL+v//J/v//x8QpzEByvr//yb7//8BAAAAAAAAAAIAAAAJqgQAAAlsAgAABjkFAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5ChCuBAAAAQAAAAY6BQAAEFJhd0Nhbm9uaWNhbE5hbWUQtgQAAAEAAAAGOwUAAJgBQ29udG9zby5sYWIvQ29uZmlndXJhdGlvbi9TZXJ2aWNlcy9NaWNyb3NvZnQgRXhjaGFuZ2UvQ29udG9zbyBMYWJzL0FkbWluaXN0cmF0aXZlIEdyb3Vwcy9FeGNoYW5nZSBBZG1pbmlzdHJhdGl2ZSBHcm91cCAoRllESUJPSEYyM1NQRExUKS9TZXJ2ZXJzL0UyazE2LTIBuAQAAGICAAABxPr//yf7//8fAAMyAcP6//8m+///AQAAAAAAAAAAAAAACbkEAAAJbAIAAAZABQAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBvQQAAOEBAAAGQQUAAHFTeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkRhdGVUaW1lLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQQAAAAJxgQAAAHABAAA4QEAAAZDBQAADlN5c3RlbS5Cb29sZWFuBAAAAAnGBAAAAcMEAADhAQAABkUFAAA2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkRpcmVjdG9yeUJhY2tlbmRUeXBlBAAAAAnTBAAABe8EAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlBhcnRpdGlvbklkAgAAAApmb3Jlc3RGUUROEXBhcnRpdGlvbk9iamVjdElkAQNtU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAGRwUAAAtDb250b3NvLmxhYgoLBpkoGVus5aZeus1qsQ9THp2BbLiAjVOVBKXSifx5xao= + +
+
\ No newline at end of file diff --git a/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Get-ExchangeAuthCertificateStatus.Tests.ps1 b/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Get-ExchangeAuthCertificateStatus.Tests.ps1 new file mode 100644 index 0000000000..3e10339e06 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Get-ExchangeAuthCertificateStatus.Tests.ps1 @@ -0,0 +1,252 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingInvokeExpression', '', Justification = 'Pester testing file')] +[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidOverwritingBuiltInCmdlets', '', Justification = 'Pester testing file')] +[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSUseShouldProcessForStateChangingFunctions', '', Justification = 'Pester testing file')] +[CmdletBinding()] +param() +BeforeAll { + $Script:parentPath = (Split-Path -Parent $PSScriptRoot) + $Script:Server = $env:COMPUTERNAME + . $Script:parentPath\Get-ExchangeAuthCertificateStatus.ps1 + + function Invoke-CatchActionError { + param() + } + + function New-AuthCertificateUnitTestObject { + param( + [string]$Thumbprint = $null, + [bool]$IsExired = $false + ) + + return [PSCustomObject]@{ + Subject = "CN=Microsoft Exchange Server Auth Certificate" + Issuer = "CN=Microsoft Exchange Server Auth Certificate" + Thumbprint = $Thumbprint + NotBefore = [DateTime]::Parse('2023-01-01T00:00:00') + NotAfter = if ($IsExired) { [DateTime]::Parse('2020-01-01T00:00:00') } else { [DateTime]::Parse('2029-01-01T00:00:00') } + } + } + + function Get-Date { + param() + + return [DateTime]::Parse('2023-01-01T00:00:00') + } + + function Get-ExchangeServer { + param() + return Import-Clixml $Script:parentPath\Tests\Data\GetExchangeServer.xml + } + + function Get-ExchangeServerCertificate { + param( + [string]$Thumbprint = $null, + [string]$Server = $null + ) + + if ($null -ne $Thumbprint) { + return Import-Clixml $Script:parentPath\Tests\Data\GetExchangeCertificate.xml | Where-Object { $_.Thumbprint -eq $Thumbprint } + } + return Import-Clixml $Script:parentPath\Tests\Data\GetExchangeCertificate.xml + } + + function Get-AuthConfig { + param() + } + + function Get-HybridConfiguration { + param() + } +} + +Describe "Testing Get-ExchangeAuthCertificateStatus.ps1" { + + Context "Get-ExchangeAuthCertificateStatus Without Any Parameter" { + BeforeAll { + Mock Get-AuthConfig { return Import-Clixml $Script:parentPath\Tests\Data\GetAuthConfig.xml } + $Script:results = Get-ExchangeAuthCertificateStatus + } + + It "Should Return That The Auth Certificate Configuration Is Valid And No Action Is Required" { + $results | Should -Not -BeNullOrEmpty + $results.CurrentAuthCertificateLifetimeInDays | Should -BeGreaterThan 1800 + $results.ReplaceRequired | Should -Be $false + $results.ConfigureNextAuthRequired | Should -Be $false + $results.NumberOfUnreachableServers | Should -Be 0 + $results.HybridSetupDetected | Should -Be $false + $results.StopProcessingDueToHybrid | Should -Be $false + $results.MultipleExchangeADSites | Should -Be $false + } + } + + Context "Get-ExchangeAuthCertificateStatus With Hybrid Setup" { + BeforeAll { + Mock Get-AuthConfig { return Import-Clixml $Script:parentPath\Tests\Data\GetAuthConfig.xml } + Mock Get-HybridConfiguration { return "Hybrid Configuration Detected" } + Mock Get-Date { return [DateTime]::Parse('2028-02-01T00:00:00') } + } + + It "Should Return That The Auth Certificate Configuration Is Invalid And Replace Action Is Required But Was Not Done Due To Hybrid Setup" { + $Script:results = Get-ExchangeAuthCertificateStatus + $results | Should -Not -BeNullOrEmpty + $results.CurrentAuthCertificateLifetimeInDays | Should -BeLessThan 0 + $results.ReplaceRequired | Should -Be $true + $results.ConfigureNextAuthRequired | Should -Be $false + $results.NumberOfUnreachableServers | Should -Be 0 + $results.HybridSetupDetected | Should -Be $true + $results.StopProcessingDueToHybrid | Should -Be $true + $results.MultipleExchangeADSites | Should -Be $false + } + + It "Should Return That The Auth Certificate Configuration Is Invalid And Replace Action Is Required And Hybrid Setup Will Be Ignored" { + $Script:results = Get-ExchangeAuthCertificateStatus -IgnoreHybridSetup $true + $results | Should -Not -BeNullOrEmpty + $results.CurrentAuthCertificateLifetimeInDays | Should -BeLessThan 0 + $results.ReplaceRequired | Should -Be $true + $results.ConfigureNextAuthRequired | Should -Be $false + $results.NumberOfUnreachableServers | Should -Be 0 + $results.HybridSetupDetected | Should -Be $true + $results.StopProcessingDueToHybrid | Should -Be $false + $results.MultipleExchangeADSites | Should -Be $false + } + } + + Context "Get-ExchangeAuthCertificateStatus With Unreachable Servers" { + BeforeAll { + Mock Get-AuthConfig { return Import-Clixml $Script:parentPath\Tests\Data\GetAuthConfig.xml } + Mock Get-Date { return [DateTime]::Parse('2028-02-01T00:00:00') } + Mock Get-ExchangeServerCertificate { + throw "Some other exception than InvalidOperationException" + } -ParameterFilter { + $Server -eq "e2k16-2.contoso.lab" + } + } + + It "Replace Required Returns False as 1 Server Is Unreachable" { + $Script:results = Get-ExchangeAuthCertificateStatus + $results | Should -Not -BeNullOrEmpty + $results.ConfigureNextAuthRequired | Should -Be $false + $results.NumberOfUnreachableServers | Should -Be 1 + $results.UnreachableServersList | Should -Be "e2k16-2.contoso.lab" + } + + It "Should Return That The Auth Certificate Configuration Is Invalid And Replace Action Is Required As Unreachable Servers Will Be Skipped" { + $Script:results = Get-ExchangeAuthCertificateStatus -IgnoreUnreachableServers $true + $results | Should -Not -BeNullOrEmpty + $results.CurrentAuthCertificateLifetimeInDays | Should -BeLessThan 0 + $results.ReplaceRequired | Should -Be $true + $results.ConfigureNextAuthRequired | Should -Be $false + $results.NumberOfUnreachableServers | Should -Be 1 + $results.UnreachableServersList | Should -Be "e2k16-2.contoso.lab" + } + } + + Context "Scenario #1: Current Auth Certificate has expired and no next Auth Certificate defined or the next Auth Certificate has expired" { + BeforeAll { + Mock Get-AuthConfig { return Import-Clixml $Script:parentPath\Tests\Data\GetAuthConfig.xml } + Mock Get-Date { return [DateTime]::Parse('2028-12-20T00:00:00') } + $Script:results = Get-ExchangeAuthCertificateStatus + } + + It "Should Return That The Active Auth Certificate Must To Be Replaced" { + $results | Should -Not -BeNullOrEmpty + $results.CurrentAuthCertificateLifetimeInDays | Should -BeLessThan 0 + $results.ReplaceRequired | Should -Be $true + $results.ConfigureNextAuthRequired | Should -Be $false + } + } + + Context "Scenario #2: Current Auth Certificate is valid but no next Auth Certificate defined or next Auth Certificate will expire in < 120 days" { + BeforeAll { + Mock Get-AuthConfig { return Import-Clixml $Script:parentPath\Tests\Data\GetAuthConfig.xml } + Mock Get-Date { return [DateTime]::Parse('2027-12-20T00:00:00') } + $Script:results = Get-ExchangeAuthCertificateStatus + } + + It "Should Return That The Next Auth Certificate Must To Be Configured To Replace The Active Auth Certificate Once Expired" { + $results | Should -Not -BeNullOrEmpty + $results.CurrentAuthCertificateLifetimeInDays | Should -BeGreaterOrEqual 0 + $results.CurrentAuthCertificateLifetimeInDays | Should -BeLessOrEqual 60 + $results.ReplaceRequired | Should -Be $false + $results.ConfigureNextAuthRequired | Should -Be $true + } + } + + Context "Scenario #3: Unlikely but possible - current Auth Certificate has expired and next Auth Certificate is set but not yet active" { + BeforeAll { + Mock Get-AuthConfig { return Import-Clixml $Script:parentPath\Tests\Data\GetAuthConfig.xml } + Mock Get-Date { return [DateTime]::Parse('2028-12-20T00:00:00') } + Mock Get-ExchangeServerCertificate { + return New-AuthCertificateUnitTestObject -Thumbprint "BC6BF924D6EF046E64F8D1987DC1D7D2F4C0042A" + } -ParameterFilter { + $Thumbprint -eq "BC6BF924D6EF046E64F8D1987DC1D7D2F4C0042A" + } + $Script:results = Get-ExchangeAuthCertificateStatus + } + + It "Should Return That The Active Auth Certificate Must To Be Replaced" { + $results | Should -Not -BeNullOrEmpty + $results.CurrentAuthCertificateLifetimeInDays | Should -BeLessThan 0 + $results.ReplaceRequired | Should -Be $true + $results.ConfigureNextAuthRequired | Should -Be $false + } + } + + Context "Scenario #4: Current Auth Certificate is missing on at least one (1) mailbox server" { + BeforeAll { + Mock Get-AuthConfig { return Import-Clixml $Script:parentPath\Tests\Data\GetAuthConfig.xml } + Mock Get-Date { return [DateTime]::Parse('2026-12-20T00:00:00') } + Mock Get-ExchangeServerCertificate { + throw [System.InvalidOperationException]::New() + } -ParameterFilter { + $Thumbprint -eq "E1BDF9AE58C93C75E76C9DD882138FB8FF0FA786" + } + $Script:results = Get-ExchangeAuthCertificateStatus + } + + It "Should Return That The Active Auth Certificate Must To Be Replaced" { + $results | Should -Not -BeNullOrEmpty + $results.ReplaceRequired | Should -Be $true + $results.ConfigureNextAuthRequired | Should -Be $false + $results.NumberOfUnreachableServers | Should -Be 0 + } + } + + Context "Scenario #5: Next Auth Certificate is missing on at least one (1) mailbox server" { + BeforeAll { + Mock Get-AuthConfig { return Import-Clixml $Script:parentPath\Tests\Data\GetAuthConfig.xml } + Mock Get-Date { return [DateTime]::Parse('2026-12-20T00:00:00') } + Mock Get-ExchangeServerCertificate { + throw [System.InvalidOperationException]::New() + } -ParameterFilter { + $Thumbprint -eq "BC6BF924D6EF046E64F8D1987DC1D7D2F4C0042A" + } + $Script:results = Get-ExchangeAuthCertificateStatus + } + + It "Should Return That The Next Auth Certificate Must To Be Replaced" { + $results | Should -Not -BeNullOrEmpty + $results.CurrentAuthCertificateLifetimeInDays | Should -BeGreaterThan 60 + $results.ReplaceRequired | Should -Be $false + $results.ConfigureNextAuthRequired | Should -Be $true + $results.NumberOfUnreachableServers | Should -Be 0 + } + } + + Context "Exception While Calling Get-ExchangeServerCertificate" { + BeforeAll { + Mock Get-ExchangeServerCertificate { throw "Some terminating exception was hit" } + $Script:results = Get-ExchangeAuthCertificateStatus + } + + It "Should Not Return That An Auth Certificate Renewal Action Is Required" { + $results | Should -Not -BeNullOrEmpty + $results.CurrentAuthCertificateLifetimeInDays | Should -Be 0 + $results.ReplaceRequired | Should -Be $false + $results.ConfigureNextAuthRequired | Should -Be $false + } + } +} diff --git a/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Get-ExchangeServerCertificate.Tests.ps1 b/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Get-ExchangeServerCertificate.Tests.ps1 new file mode 100644 index 0000000000..0b6da0f742 --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/DataCollection/Tests/Get-ExchangeServerCertificate.Tests.ps1 @@ -0,0 +1,58 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingInvokeExpression', '', Justification = 'Pester testing file')] +[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidOverwritingBuiltInCmdlets', '', Justification = 'Pester testing file')] +[CmdletBinding()] +param() +BeforeAll { + $Script:parentPath = (Split-Path -Parent $PSScriptRoot) + $Script:Server = $env:COMPUTERNAME + . $Script:parentPath\Get-ExchangeServerCertificate.ps1 + + function Get-ExchangeCertificate { + param() + } +} + +Describe "Testing Get-ExchangeServerCertificate.ps1" { + + Context "Get-ExchangeServerCertificate Without Any Parameter" { + BeforeAll { + Mock Get-ExchangeCertificate { Import-Clixml $Script:parentPath\Tests\Data\GetExchangeCertificate.xml } + $Script:results = Get-ExchangeServerCertificate + } + + It "Should Return All Exchange Certificates" { + $results.Count | Should -Be 8 + $results.GetType().FullName | Should -Be 'System.Object[]' + $results[6].Thumbprint | Should -Be '2759456DC53C76E3DED093B567B6D8DAA42C0ADD' + $results[6].Subject | Should -Be 'CN=mail.contoso.lab' + } + } + + Context "Get-ExchangeServerCertificate In Misconfigured SerializedDataSigning State" { + BeforeAll { + Mock Get-ExchangeCertificate { Import-Clixml $Script:parentPath\Tests\Data\GetExchangeCertificateBroken.xml } + $Script:results = Get-ExchangeServerCertificate + } + + It "Should Successfully Import Certificates From RawData" { + $results.Count | Should -Be 5 + $results.GetType().FullName | Should -Be 'System.Object[]' + $results[2].Thumbprint | Should -Be '2759456DC53C76E3DED093B567B6D8DAA42C0ADD' + $results[2].Subject | Should -Be 'CN=mail.contoso.lab' + } + } + + Context "Exception While Calling Get-ExchangeServerCertificate" { + BeforeAll { + Mock Get-ExchangeCertificate { return $null } + $Script:results = Get-ExchangeServerCertificate + } + + It "Should Not Return Anything" { + $results | Should -Be $null + } + } +} diff --git a/Admin/MonitorExchangeAuthCertificate/MonitorExchangeAuthCertificate.ps1 b/Admin/MonitorExchangeAuthCertificate/MonitorExchangeAuthCertificate.ps1 new file mode 100644 index 0000000000..6c65cfaded --- /dev/null +++ b/Admin/MonitorExchangeAuthCertificate/MonitorExchangeAuthCertificate.ps1 @@ -0,0 +1,476 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +<# +.NOTES + Name: MonitorExchangeAuthCertificate.ps1 + Requires: Exchange Management Shell and Organization Management permissions. + Major Release History: + 01/10/2023 - Initial Public Release on CSS-Exchange + +.SYNOPSIS + Validates the Auth Certificate configuration of the Exchange organization where the script runs. + It can be run in mode to automatically replace an invalid Auth Certificate or prepare a new next Auth Certificate + to ensure a smooth Auth Certificate rollover. +.DESCRIPTION + This script checks the status of the Auth Certificate which is set to the Auth Configuration of the Exchange organization. + If the script is executed without any parameter, it will only perform tests if any Auth Certificate renewal action is required. + The script can be executed in action mode which will then perform the appropriate Auth Certificate renewal actions (if required). + The script can also be configured to run via Scheduled Task on a daily base. It will then perform the required renewal actions + without admin interaction needed (except in Exchange Hybrid scenarios where a run of the Hybrid Configuration Wizard or HCW is required + after a new Auth Certificate becomes active). +.PARAMETER ValidateAndRenewAuthCertificate + You can use this parameter to let the script perform the required Auth Certificate renewal actions. + If the script runs with this parameter set to $false, no action will be made to the current Auth Configuration. +.PARAMETER IgnoreUnreachableServers + This optional parameter can be used to ignore if some of the Exchange servers within the organization cannot be reached. + If this parameter is used, the script only validates the servers that can be reached and will perform Auth Certificate + renewal actions based on the result. +.PARAMETER IgnoreHybridConfig + This optional parameter allows you to explicitly perform Auth Certificate renewal actions (if required) even if an + Exchange hybrid configuration was detected. You need to run the Hybrid Configuration Wizard (HCW) after the renewed + Auth Certificate becomes the one in use. +.PARAMETER PrepareADForAutomationOnly + This optional parameter can be used in AD Split Permission scenarios. It allows you to create the AD account which can then be + used to run the Exchange Auth Certificate Monitoring script automatically via Scheduled Task. +.PARAMETER ADAccountDomain + This optional parameter allows you to specify the domain which is then used by the script to generate the AD account used for automation. +.PARAMETER ConfigureScriptToRunViaScheduledTask + This optional parameter can be used to automatically prepare the requirements in AD (user account), Exchange (email enable the account, + hide the account from address book, create a new role group with limited permissions) and finally it creates the scheduled task on the computer + on which the script was executed (it has to be an Exchange server running the mailbox role). +.PARAMETER AutomationAccountCredential + This optional parameter can be used to provide a different user under whose context the script is then executed via scheduled task. +.PARAMETER Password + Parameter to provide a password to the script which is required in some scenarios. + This parameter is required if you use one of the following parameters: + - If you use the PrepareADForAutomationOnly parameter + - If you use the ExportAuthCertificatesAsPfx parameter + It is an optional parameter if you use the ConfigureScriptToRunViaScheduledTask parameter. +.PARAMETER ExportAuthCertificatesAsPfx + This optional parameter can be used to export all on the system available Auth Certificates as password protected .pfx file. +.PARAMETER ScriptUpdateOnly + This optional parameter allows you to only update the script without performing any other actions. +.PARAMETER SkipVersionCheck + This optional parameter allows you to skip the automatic version check and script update. +.EXAMPLE + .\MonitorExchangeAuthCertificate.ps1 + Runs the script in validation mode and will show you the Auth Certificate renewal action which will be performed when executed in renew mode. +.EXAMPLE + .\MonitorExchangeAuthCertificate.ps1 -ValidateAndRenewAuthCertificate $true -Confirm:$false + Runs the script in renewal mode without user interaction. The Auth Certificate renewal action will be performed (if required). + In unattended mode the internal SMTP certificate will be replaced with the new Auth Certificate and is then set back to the previous one. +.EXAMPLE + .\MonitorExchangeAuthCertificate.ps1 -ValidateAndRenewAuthCertificate $true -IgnoreUnreachableServers $true -Confirm:$false + Runs the script in renewal mode without user interaction. We only take the Exchange server into account which are reachable and will perform + the renewal action if required. +.EXAMPLE + .\MonitorExchangeAuthCertificate.ps1 -ValidateAndRenewAuthCertificate $true -IgnoreHybridConfig $true -Confirm:$false + Runs the script in renewal mode without user interaction. The renewal action will be performed even if a Exchange hybrid configuration was detected. + Please note that you have to run the Hybrid Configuration Wizard (HCW) after the active Auth Certificate was replaced. +.EXAMPLE + .\MonitorExchangeAuthCertificate.ps1 -ConfigureScriptToRunViaScheduledTask -Password (Get-Credential).Password + If you run the script using this parameter, the script will then create a new AD user which is then assigned to a newly created Exchange Role Group. + The script will also create a scheduled task that runs on a hourly base. The '-ConfigureScriptToRunViaScheduledTask' parameter can be combined with the + '-IgnoreHybridConfig $true' and '-IgnoreUnreachableServers $true' parameter. +#> + +[CmdletBinding(DefaultParameterSetName = "MonitorExchangeAuthCertificateManually", SupportsShouldProcess = $true, ConfirmImpact = "High")] +param( + [Parameter(Mandatory = $false, ParameterSetName = "MonitorExchangeAuthCertificateManually")] + [bool]$ValidateAndRenewAuthCertificate = $false, + + [Parameter(Mandatory = $false, ParameterSetName = "MonitorExchangeAuthCertificateManually")] + [Parameter(Mandatory = $false, ParameterSetName = "ConfigureAutomaticExecutionViaScheduledTask")] + [bool]$IgnoreUnreachableServers = $false, + + [Parameter(Mandatory = $false, ParameterSetName = "MonitorExchangeAuthCertificateManually")] + [Parameter(Mandatory = $false, ParameterSetName = "ConfigureAutomaticExecutionViaScheduledTask")] + [bool]$IgnoreHybridConfig = $false, + + [Parameter(Mandatory = $false, ParameterSetName = "SetupAutomaticExecutionADRequirements")] + [switch]$PrepareADForAutomationOnly, + + [Parameter(Mandatory = $false, ParameterSetName = "SetupAutomaticExecutionADRequirements")] + [string]$ADAccountDomain = $env:USERDNSDOMAIN, + + [Parameter(Mandatory = $false, ParameterSetName = "ConfigureAutomaticExecutionViaScheduledTask")] + [switch]$ConfigureScriptToRunViaScheduledTask, + + [Parameter(Mandatory = $false, ParameterSetName = "ConfigureAutomaticExecutionViaScheduledTask")] + [PSCredential]$AutomationAccountCredential, + + [Parameter(Mandatory = $true, ParameterSetName = "SetupAutomaticExecutionADRequirements")] + [Parameter(Mandatory = $false, ParameterSetName = "ConfigureAutomaticExecutionViaScheduledTask")] + [Parameter(Mandatory = $true, ParameterSetName = "ExportExchangeAuthCertificatesAsPfx")] + [securestring]$Password, + + [Parameter(Mandatory = $false, ParameterSetName = "ExportExchangeAuthCertificatesAsPfx")] + [switch]$ExportAuthCertificatesAsPfx, + + [Parameter(Mandatory = $false, ParameterSetName = "ScriptUpdateOnly")] + [switch]$ScriptUpdateOnly, + + [Parameter(Mandatory = $false, ParameterSetName = "MonitorExchangeAuthCertificateManually")] + [Parameter(Mandatory = $false, ParameterSetName = "ConfigureAutomaticExecutionViaScheduledTask")] + [Parameter(Mandatory = $false, ParameterSetName = "SetupAutomaticExecutionADRequirements")] + [switch]$SkipVersionCheck +) + +$BuildVersion = "" + +. $PSScriptRoot\..\..\Shared\Confirm-Administrator.ps1 +. $PSScriptRoot\..\..\Shared\Confirm-ExchangeShell.ps1 +. $PSScriptRoot\..\..\Shared\ErrorMonitorFunctions.ps1 +. $PSScriptRoot\..\..\Shared\LoggerFunctions.ps1 +. $PSScriptRoot\..\..\Shared\ActiveDirectoryFunctions\Get-GlobalCatalogServer.ps1 +. $PSScriptRoot\..\..\Shared\ActiveDirectoryFunctions\Get-InternalTransportCertificateFromServer.ps1 +. $PSScriptRoot\..\..\Shared\OutputOverrides\Write-Host.ps1 +. $PSScriptRoot\..\..\Shared\OutputOverrides\Write-Verbose.ps1 +. $PSScriptRoot\..\..\Shared\ScriptUpdateFunctions\Test-ScriptVersion.ps1 + +. $PSScriptRoot\ConfigurationAction\Build-ExchangeAuthCertificateManagementAccount.ps1 +. $PSScriptRoot\ConfigurationAction\Copy-ScriptToExchangeDirectory.ps1 +. $PSScriptRoot\ConfigurationAction\Export-ExchangeAuthCertificate.ps1 +. $PSScriptRoot\ConfigurationAction\New-AuthCertificateManagementAccount.ps1 +. $PSScriptRoot\ConfigurationAction\New-AuthCertificateMonitoringLogFolder.ps1 +. $PSScriptRoot\ConfigurationAction\New-ExchangeAuthCertificate.ps1 +. $PSScriptRoot\ConfigurationAction\Register-AuthCertificateRenewalTask.ps1 +. $PSScriptRoot\DataCollection\Get-ExchangeAuthCertificateStatus.ps1 +. $PSScriptRoot\DataCollection\Test-IsServerValidForAuthCertificateGeneration.ps1 + +function Write-DebugLog($Message) { + $Script:Logger = $Script:Logger | Write-LoggerInstance $Message +} + +function Main { + [CmdletBinding(SupportsShouldProcess = $true, ConfirmImpact = "High")] + param() + + if (-not(Confirm-Administrator)) { + Write-Warning ("The script needs to be executed in elevated mode. Start the Exchange Management Shell as an Administrator.") + $Error.Clear() + Start-Sleep -Seconds 2 + exit + } + + Invoke-ErrorMonitoring + + $versionsUrl = "https://aka.ms/MEAC-VersionsUrl" + Write-Host ("Monitor Exchange Auth Certificate script version $($BuildVersion)") -ForegroundColor Green + + if ($ScriptUpdateOnly) { + switch (Test-ScriptVersion -AutoUpdate -VersionsUrl $versionsUrl -Confirm:$false) { + ($true) { Write-Host ("Script was successfully updated") -ForegroundColor Green } + ($false) { Write-Host ("No update of the script performed") -ForegroundColor Yellow } + default { Write-Host ("Unable to perform ScriptUpdateOnly operation") -ForegroundColor Red } + } + return + } + + if ((-not($SkipVersionCheck)) -and + (Test-ScriptVersion -AutoUpdate -VersionsUrl $versionsUrl -Confirm:$false)) { + Write-Host ("Script was updated. Please rerun the command") -ForegroundColor Yellow + return + } + + if ($PrepareADForAutomationOnly) { + Write-Host ("Mode: Prepare AD account to run the script as scheduled task") + $newAuthCertificateParamsAccountOnly = @{ + Password = $Password + DomainTouse = $ADAccountDomain + CatchActionFunction = ${Function:Invoke-CatchActions} + } + $adAccountSuccessfullyCreated = New-AuthCertificateManagementAccount @newAuthCertificateParamsAccountOnly + + if ($adAccountSuccessfullyCreated) { + Write-Host ("Account: 'SM_ad0b1fe3a1a3' successfully created - please run the script as follows:") -ForegroundColor Green + Write-Host "" + Write-Host (".\MonitorExchangeAuthCertificate.ps1 -ConfigureScriptToRunViaScheduledTask -AutomationAccountCredential (Get-Credential)") -ForegroundColor Green + } else { + Write-Host ("Unable to prepare the Auth Certificate automation account - please check the verbose script log for more details") -ForegroundColor Yellow + } + return + } + + $exchangeShell = Confirm-ExchangeShell -CatchActionFunction ${Function:Invoke-CatchActions} + $exitScriptDueToShellRequirementsNotFullfilled = $false + if (-not($exchangeShell.ShellLoaded)) { + Write-Warning ("Unable to load Exchange Management Shell") + $exitScriptDueToShellRequirementsNotFullfilled = $true + } else { + if ($exchangeShell.ToolsOnly) { + Write-Warning ("The script must be run on an Exchange server") + $exitScriptDueToShellRequirementsNotFullfilled = $true + } + + if ($exchangeShell.EdgeServer) { + Write-Warning ("The script cannot be run on an Edge Transport server") + $exitScriptDueToShellRequirementsNotFullfilled = $true + } + + if ($exchangeShell.RemoteShell) { + Write-Warning ("Running the script via Remote Shell is not supported") + $exitScriptDueToShellRequirementsNotFullfilled = $true + } + + if ($exchangeShell.Major -lt 15) { + Write-Warning ("The script must be run on Exchange 2013 or higher") + $exitScriptDueToShellRequirementsNotFullfilled = $true + } + } + + if ($exitScriptDueToShellRequirementsNotFullfilled) { + $Error.Clear() + Start-Sleep -Seconds 2 + exit + } + + Set-ADServerSettings -ViewEntireForest $true + + if ($ExportAuthCertificatesAsPfx) { + Write-Host ("Mode: Export all Exchange Auth Certificates available on this system") + + if ((Test-IsServerValidForAuthCertificateGeneration -CatchActionFunction ${Function:Invoke-CatchActions}) -eq $false) { + Write-Host ("This server does not meet the requirements to run the script.") -ForegroundColor Yellow + return + } + + $authCertificateExportParams = @{ + Password = $Password + CatchActionFunction = ${Function:Invoke-CatchActions} + } + + $authCertificateExportStatusObject = Export-ExchangeAuthCertificate @authCertificateExportParams + + if ($authCertificateExportStatusObject.CertificatesAvailableToExport) { + Write-Host ("There are $($authCertificateExportStatusObject.NumberOfCertificatesToExport) certificates that could be exported") + if ($authCertificateExportStatusObject.ExportSuccessful) { + Write-Host ("All of them were successfully exported to the following directory: $($PSScriptRoot)") -ForegroundColor Green + } else { + Write-Host ("Some of the certificates couldn't be exported - please check the verbose log") -ForegroundColor Yellow + Write-Host ("Thumbprints of the certificates that couldn't be exported:") -ForegroundColor Yellow + Write-Host ("$([string]::Join(", ", $authCertificateExportStatusObject.UnableToExportCertificatesList))") -ForegroundColor Yellow + } + } else { + Write-Host ("There are no Auth Certificates on the system that are available to export") + } + + return + } + + if ($ConfigureScriptToRunViaScheduledTask) { + Write-Host ("Mode: Configure monitoring script to run via scheduled task") + + if ((Test-IsServerValidForAuthCertificateGeneration -CatchActionFunction ${Function:Invoke-CatchActions}) -eq $false) { + Write-Host ("This server does not meet the requirements to run the script.") -ForegroundColor Yellow + return + } + + try { + try { + $dcToUseAsConfigDC = (Get-ExchangeServer -Identity $env:COMPUTERNAME -Status -ErrorAction Stop).CurrentConfigDomainController + } catch { + $dcToUseAsConfigDC = Get-GlobalCatalogServer -CatchActionFunction ${Function:Invoke-CatchActions} + } + Write-Host ("We use the following Domain Controller: $($dcToUseAsConfigDC)") + + $buildExchangeAuthManagementAccountParams = @{ + DomainController = $dcToUseAsConfigDC + CatchActionFunction = ${Function:Invoke-CatchActions} + } + + if ($null -ne $AutomationAccountCredential) { + $buildExchangeAuthManagementAccountParams.Add("UseExistingAccount", $true) + $buildExchangeAuthManagementAccountParams.Add("AccountCredentialObject", $AutomationAccountCredential) + } elseif ($null -ne $Password) { + $buildExchangeAuthManagementAccountParams.Add("PasswordToSet", $Password) + } else { + Write-Host ("Please provide a password for the automation account") -ForegroundColor Yellow + Write-Host ("You can do so by using the '-Password' parameter or by using the '-AutomationAccountCredential' parameter") -ForegroundColor Yellow + return + } + + $adAccountInfo = Build-ExchangeAuthCertificateManagementAccount @buildExchangeAuthManagementAccountParams + + if ($null -ne $adAccountInfo) { + Write-Host ("Account for automation was successfully created: $($adAccountInfo.UserPrincipalName)") + $Username = $adAccountInfo.UserPrincipalName + $Password = $adAccountInfo.Password + + $scriptInfo = Copy-ScriptToExchangeDirectory -CatchActionFunction ${Function:Invoke-CatchActions} + if ($null -ne $scriptInfo) { + Write-Host ("Script: $($scriptInfo.ScriptName) was successfully copied over to: $($scriptInfo.WorkingDirectory)") + $registerSchTaskParams = @{ + Username = $Username + Password = $Password + WorkingDirectory = $scriptInfo.WorkingDirectory + ScriptName = $scriptInfo.ScriptName + IgnoreOfflineServers = $IgnoreUnreachableServers + IgnoreHybridConfig = $IgnoreHybridConfig + CatchActionFunction = ${Function:Invoke-CatchActions} + } + $schTaskResults = Register-AuthCertificateRenewalTask @registerSchTaskParams + } else { + Write-Host ("We couldn't copy the script: $($scriptInfo.ScriptName) to: $($scriptInfo.WorkingDirectory)") -ForegroundColor Red + } + } else { + Write-Host ("Something went wrong while preparing the automation account") -ForegroundColor Red + } + + if ($schTaskResults) { + Write-Host ("The scheduled task was created successfully") -ForegroundColor Green + } else { + Write-Host ("The scheduled task wasn't created - please check the verbose script log for more details") -ForegroundColor Red + } + } catch { + Write-Verbose ("Exception: $($Error[0].Exception.Message)") + } + return + } + + if ($ValidateAndRenewAuthCertificate) { + Write-Host ("Mode: Testing and replacing Auth Certificate (if required)") + } else { + Write-Host ("The script was run without parameter therefore, only a check of the Auth Certificate configuration is performed and no change will be made") + } + + if ((Test-IsServerValidForAuthCertificateGeneration -CatchActionFunction ${Function:Invoke-CatchActions}) -eq $false) { + Write-Host ("This server does not meet the requirements to run the script.") -ForegroundColor Yellow + return + } + + $authCertificateStatusParams = @{ + IgnoreUnreachableServers = $IgnoreUnreachableServers + IgnoreHybridSetup = $IgnoreHybridConfig + CatchActionFunction = ${Function:Invoke-CatchActions} + } + $authCertStatus = Get-ExchangeAuthCertificateStatus @authCertificateStatusParams + + $noRenewalDueToUnreachableServers = (($authCertStatus.NumberOfUnreachableServers -gt 0) -and ($IgnoreUnreachableServers -eq $false)) + $stopProcessingDueToHybrid = $authCertStatus.StopProcessingDueToHybrid + $renewalActionRequired = (($authCertStatus.ReplaceRequired) -or ($authCertStatus.ConfigureNextAuthRequired)) + + if ($authCertStatus.ReplaceRequired) { $renewalActionWording = "The Auth Certificate in use must be replaced by a new one." } + elseif ($authCertStatus.ConfigureNextAuthRequired) { $renewalActionWording = "The Auth Certificate configured as next Auth Certificate must be configured or replaced by a new one." } + else { $renewalActionWording = "No renewal action is required" } + + if ($noRenewalDueToUnreachableServers) { + Write-Host ("We couldn't validate if the Auth Certificate is properly configured because $($authCertStatus.NumberOfUnreachableServers) servers were unreachable.") -ForegroundColor Yellow + Write-Host ("The unreachable servers are: $([string]::Join(", ", $authCertStatus.UnreachableServersList))") -ForegroundColor Yellow + } elseif ($stopProcessingDueToHybrid) { + Write-Host ("We have not made any configuration change because because Exchange Hybrid has been detected in your environment.") -ForegroundColor Yellow + Write-Host ("Please rerun the script using the '-IgnoreHybridConfig `$true' parameter to perform the renewal action.") -ForegroundColor Yellow + Write-Host ("It's also required to run the Hybrid Configuration Wizard (HCW) after the primary Auth Certificate was replaced.") -ForegroundColor Yellow + } else { + if (($ValidateAndRenewAuthCertificate) -and + ($renewalActionRequired)) { + Write-Host ("Renewal scenario: $($renewalActionWording)") + if ($PSCmdlet.ShouldProcess("Ask if the script should run unattended", "Do you want to run the script in unattended mode?", "Run Unattended") -or + $WhatIfPreference) { + $UnattendedMode = $true + $recycleAppPoolsAfterRenewal = $true + } else { + $UnattendedMode = $false + $recycleAppPoolsMessage = ("It's recommended to restart the 'MSExchangeOWAAppPool' and 'MSExchangeECPAppPool' WebApp Pools in case the Auth Certificate was replaced. " + + "This is to speed up the adoption of the new configuration." + + "`r`nDo you want to restart the WebApp Pools after the Auth Certificate was replaced?" + ) + if ($PSCmdlet.ShouldProcess("Ask if the script should recycling the WebApp pools", $recycleAppPoolsMessage, "Recycle WebApp Pools") -or + $WhatIfPreference) { + $recycleAppPoolsAfterRenewal = $true + } else { + $recycleAppPoolsAfterRenewal = $false + } + } + + if ($authCertStatus.ReplaceRequired) { + $replaceExpiredAuthCertificateParams = @{ + ReplaceExpiredAuthCertificate = $true + UnattendedMode = $UnattendedMode + CatchActionFunction = ${Function:Invoke-CatchActions} + } + + if ($recycleAppPoolsAfterRenewal) { + $replaceExpiredAuthCertificateParams.Add("RecycleAppPoolsAfterRenewal", $recycleAppPoolsAfterRenewal) + } + $renewalActionResult = New-ExchangeAuthCertificate @replaceExpiredAuthCertificateParams + } elseif ($authCertStatus.ConfigureNextAuthRequired) { + $configureNextAuthCertificateParams = @{ + ConfigureNextAuthCertificate = $true + CurrentAuthCertificateLifetimeInDays = $authCertStatus.CurrentAuthCertificateLifetimeInDays + UnattendedMode = $UnattendedMode + CatchActionFunction = ${Function:Invoke-CatchActions} + } + $renewalActionResult = New-ExchangeAuthCertificate @configureNextAuthCertificateParams + } + + if (($renewalActionResult.RenewalActionPerformed) -and + ($authCertStatus.HybridSetupDetected -eq $false)) { + Write-Host ("") + Write-Host ("The renewal action was successfully performed") -ForegroundColor Green + } elseif (($renewalActionResult.RenewalActionPerformed) -and + ($authCertStatus.HybridSetupDetected)) { + Write-Host ("") + Write-Host ("The renewal action was successfully performed - the new Auth Certificate will become active on: $($renewalActionResult.AuthCertificateActivationDate)") -ForegroundColor Green + Write-Host ("Please ensure to run the Hybrid Configuration Wizard (HCW) as soon as the new Auth Certificate becomes active.") -ForegroundColor Green + } else { + Write-Host ("") + Write-Host ("There was an issue while performing the renewal action - please check the verbose script log for more details.") -ForegroundColor Red + } + } else { + Write-Host ("") + Write-Host ("Test result: $($renewalActionWording)") -ForegroundColor Cyan + } + + if (($renewalActionRequired) -and + ($renewalActionResult.RenewalActionPerformed) -and + ($authCertStatus.MultipleExchangeADSites)) { + $multipleExchangeADSitesWording = ( + "We've successfully created a new certificate which was then configured as Auth Certificate." + + "`r`nThe new certificate has the following thumbprint: $($renewalActionResult.NewCertificateThumbprint)" + + "`r`n`nWe've also detected that Exchange is installed in multiple Active Directory sites. In rare cases the Exchange certificate servicelet " + + "will fail to deploy the certificate to the other AD sites. `r`nYou can validate that the certificate was deployed by running the following command " + + "on an Exchange server located in a different site than this server:" + + "`r`n`nGet-ExchangeCertificate -Thumbprint $($renewalActionResult.NewCertificateThumbprint)" + + "`r`n`nPlease export the Auth Certificate manually if it is missing in the other site and import it to an Exchange server." + + "`r`nIt will then be automatically deployed to all Exchange servers within that particular AD site." + ) + + Write-Host "" + Write-Host ($multipleExchangeADSitesWording) -ForegroundColor Yellow + } + } +} + +try { + $loggerParams = @{ + LogName = "AuthCertificateMonitoringLog" + LogDirectory = (New-AuthCertificateMonitoringLogFolder) + AppendDateTime = $true + ErrorAction = "SilentlyContinue" + } + + $Script:Logger = Get-NewLoggerInstance @loggerParams + SetProperForegroundColor + SetWriteHostAction ${Function:Write-DebugLog} + SetWriteVerboseAction ${Function:Write-DebugLog} + + Main +} finally { + Write-Host "" + Write-Host ("Log file written to: $($Script:Logger.FullPath)") + Write-Host "" + Write-Host ("Do you have feedback regarding the script? Please email ExToolsFeedback@microsoft.com.") -ForegroundColor Green + Write-Host "" + + if ($Error.Count -ne 0) { + foreach ($e in (Get-UnhandledErrors)) { + Write-Host ("Unhandled error hit:") -ForegroundColor Red + Write-Host ($e.ErrorInformation) -ForegroundColor Red + } + } else { + Write-Verbose ("No errors occurred within the script") + } + RevertProperForegroundColor +} diff --git a/Diagnostics/HealthChecker/Analyzer/Security/Invoke-AnalyzerSecurityCveCheck.ps1 b/Diagnostics/HealthChecker/Analyzer/Security/Invoke-AnalyzerSecurityCveCheck.ps1 index 26286d4616..7dc6c2da7b 100644 --- a/Diagnostics/HealthChecker/Analyzer/Security/Invoke-AnalyzerSecurityCveCheck.ps1 +++ b/Diagnostics/HealthChecker/Analyzer/Security/Invoke-AnalyzerSecurityCveCheck.ps1 @@ -161,6 +161,9 @@ function Invoke-AnalyzerSecurityCveCheck { TestVulnerabilitiesByBuildNumbersForDisplay -ExchangeBuildRevision $buildRevision ` -SecurityFixedBuilds "1497.44" ` -CVENames "CVE-2022-41040", "CVE-2022-41082", "CVE-2022-41079", "CVE-2022-41078", "CVE-2022-41080" + TestVulnerabilitiesByBuildNumbersForDisplay -ExchangeBuildRevision $buildRevision ` + -SecurityFixedBuilds "1497.46" ` + -CVENames "CVE-2023-21762" } } elseif ($exchangeInformation.BuildInformation.MajorVersion -eq [HealthChecker.ExchangeMajorVersion]::Exchange2016) { @@ -303,6 +306,9 @@ function Invoke-AnalyzerSecurityCveCheck { TestVulnerabilitiesByBuildNumbersForDisplay -ExchangeBuildRevision $buildRevision ` -SecurityFixedBuilds "2375.37", "2507.16" ` -CVENames "CVE-2022-41040", "CVE-2022-41082", "CVE-2022-41079", "CVE-2022-41078", "CVE-2022-41080", "CVE-2022-41123" + TestVulnerabilitiesByBuildNumbersForDisplay -ExchangeBuildRevision $buildRevision ` + -SecurityFixedBuilds "2507.18" ` + -CVENames "CVE-2023-21745", "CVE-2023-21761", "CVE-2023-21762", "CVE-2023-21763", "CVE-2023-21764" } } elseif ($exchangeInformation.BuildInformation.MajorVersion -eq [HealthChecker.ExchangeMajorVersion]::Exchange2019) { @@ -418,6 +424,9 @@ function Invoke-AnalyzerSecurityCveCheck { TestVulnerabilitiesByBuildNumbersForDisplay -ExchangeBuildRevision $buildRevision ` -SecurityFixedBuilds "986.36", "1118.20" ` -CVENames "CVE-2022-41040", "CVE-2022-41082", "CVE-2022-41079", "CVE-2022-41078", "CVE-2022-41080", "CVE-2022-41123" + TestVulnerabilitiesByBuildNumbersForDisplay -ExchangeBuildRevision $buildRevision ` + -SecurityFixedBuilds "986.38", "1118.22" ` + -CVENames "CVE-2023-21745", "CVE-2023-21761", "CVE-2023-21762", "CVE-2023-21763", "CVE-2023-21764" } } else { Write-Verbose "Unknown Version of Exchange" diff --git a/Diagnostics/HealthChecker/Analyzer/Security/Invoke-AnalyzerSecurityExchangeCertificates.ps1 b/Diagnostics/HealthChecker/Analyzer/Security/Invoke-AnalyzerSecurityExchangeCertificates.ps1 index 8690e39810..0a9f5c7dd5 100644 --- a/Diagnostics/HealthChecker/Analyzer/Security/Invoke-AnalyzerSecurityExchangeCertificates.ps1 +++ b/Diagnostics/HealthChecker/Analyzer/Security/Invoke-AnalyzerSecurityExchangeCertificates.ps1 @@ -171,12 +171,26 @@ function Invoke-AnalyzerSecurityExchangeCertificates { } if ($exchangeInformation.BuildInformation.ServerRole -ne [HealthChecker.ExchangeServerRole]::Edge) { + $params = $baseParams + @{ + Name = "Internal Transport Certificate" + Details = $certificate.IsInternalTransportCertificate + DisplayCustomTabNumber = 2 + } + Add-AnalyzedResultInformation @params + $params = $baseParams + @{ Name = "Current Auth Certificate" Details = $certificate.IsCurrentAuthConfigCertificate DisplayCustomTabNumber = 2 } Add-AnalyzedResultInformation @params + + $params = $baseParams + @{ + Name = "Next Auth Certificate" + Details = $certificate.IsNextAuthConfigCertificate + DisplayCustomTabNumber = 2 + } + Add-AnalyzedResultInformation @params } $params = $baseParams + @{ @@ -200,9 +214,71 @@ function Invoke-AnalyzerSecurityExchangeCertificates { Add-AnalyzedResultInformation @params } + if ($certificate.IsInternalTransportCertificate) { + $internalTransportCertificate = $certificate + } + if ($certificate.IsCurrentAuthConfigCertificate -eq $true) { $currentAuthCertificate = $certificate + } elseif ($certificate.IsNextAuthConfigCertificate -eq $true) { + $nextAuthCertificate = $certificate + $nextAuthCertificateEffectiveDate = $certificate.SetAsActiveAuthCertificateOn + } + } + + if ($null -ne $internalTransportCertificate) { + if ($internalTransportCertificate.LifetimeInDays -gt 0) { + $params = $baseParams + @{ + Name = "Valid Internal Transport Certificate Found On Server" + Details = $true + DisplayWriteType = "Green" + DisplayCustomTabNumber = 1 + } + Add-AnalyzedResultInformation @params + } else { + $params = $baseParams + @{ + Name = "Valid Internal Transport Certificate Found On Server" + Details = $false + DisplayWriteType = "Red" + DisplayCustomTabNumber = 1 + } + Add-AnalyzedResultInformation @params + + $params = $baseParams + @{ + Details = "Internal Transport Certificate has expired `r`n`t`tMore Information: https://aka.ms/HC-InternalTransportCertificate" + DisplayWriteType = "Red" + DisplayCustomTabNumber = 2 + } + Add-AnalyzedResultInformation @params + } + } elseif ($exchangeInformation.BuildInformation.ServerRole -eq [HealthChecker.ExchangeServerRole]::Edge) { + $params = $baseParams + @{ + Name = "Valid Internal Transport Certificate Found On Server" + Details = $false + DisplayCustomTabNumber = 1 + } + Add-AnalyzedResultInformation @params + + $params = $baseParams + @{ + Details = "We can't check for Internal Transport Certificate on Edge Transport Servers" + DisplayCustomTabNumber = 2 } + Add-AnalyzedResultInformation @params + } else { + $params = $baseParams + @{ + Name = "Valid Internal Transport Certificate Found On Server" + Details = $false + DisplayWriteType = "Red" + DisplayCustomTabNumber = 1 + } + Add-AnalyzedResultInformation @params + + $params = $baseParams + @{ + Details = "No Internal Transport Certificate found. This may cause several problems. `r`n`t`tMore Information: https://aka.ms/HC-InternalTransportCertificate" + DisplayWriteType = "Red" + DisplayCustomTabNumber = 2 + } + Add-AnalyzedResultInformation @params } if ($null -ne $currentAuthCertificate) { @@ -230,6 +306,22 @@ function Invoke-AnalyzerSecurityExchangeCertificates { } Add-AnalyzedResultInformation @params } + + if ($null -ne $nextAuthCertificate) { + $params = $baseParams + @{ + Name = "Next Auth Certificate Staged For Rotation" + Details = $true + DisplayCustomTabNumber = 1 + } + Add-AnalyzedResultInformation @params + + $params = $baseParams + @{ + Name = "Next Auth Certificate Effective Date" + Details = $nextAuthCertificateEffectiveDate + DisplayCustomTabNumber = 1 + } + Add-AnalyzedResultInformation @params + } } elseif ($exchangeInformation.BuildInformation.ServerRole -eq [HealthChecker.ExchangeServerRole]::Edge) { $params = $baseParams + @{ Name = "Valid Auth Certificate Found On Server" diff --git a/Diagnostics/HealthChecker/Analyzer/Security/Invoke-AnalyzerSecuritySerializedDataSigningState.ps1 b/Diagnostics/HealthChecker/Analyzer/Security/Invoke-AnalyzerSecuritySerializedDataSigningState.ps1 new file mode 100644 index 0000000000..ae5cace32e --- /dev/null +++ b/Diagnostics/HealthChecker/Analyzer/Security/Invoke-AnalyzerSecuritySerializedDataSigningState.ps1 @@ -0,0 +1,144 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +function Invoke-AnalyzerSecuritySerializedDataSigningState { + [CmdletBinding()] + param( + [Parameter(Mandatory = $true)] + [ref]$AnalyzeResults, + + [Parameter(Mandatory = $true)] + [object]$HealthServerObject, + + [Parameter(Mandatory = $true)] + [object]$DisplayGroupingKey + ) + + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + $exchangeInformation = $HealthServerObject.ExchangeInformation + $serverName = ($HealthServerObject.ServerName.Split(".")[0]).ToLower() + $exchangeBuild = $exchangeInformation.BuildInformation.VersionInformation.BuildVersion + $exchangeCU = $exchangeInformation.BuildInformation.VersionInformation.CU + $exchangeMajor = $exchangeInformation.BuildInformation.MajorVersion + $baseParams = @{ + AnalyzedInformation = $AnalyzeResults + DisplayGroupingKey = $DisplayGroupingKey + } + + <# + SerializedDataSigning was introduced with the January 2023 Exchange Server Security Update + By now, it is disabled by default and must be enabled like this: + - Exchange 2016/2019 > Feature must be enabled via New-SettingOverride + - Exchange 2013 > Feature must be enabled via EnableSerializationDataSigning registy value + + Note: + If the registry value is set on E16/E19, it will be ignored. + Same goes for the SettingOverride set on E15 - it will be ignored and the feature remains off until the registry value is set. + #> + + if ($exchangeMajor -eq [HealthChecker.ExchangeMajorVersion]::Exchange2019) { + switch ($exchangeCU) { + ($_ -eq "CU12") { $serializedDataSigningSupportedBuild = ($exchangeBuild -ge "15.2.1118.21"); break } + ($_ -eq "CU11") { $serializedDataSigningSupportedBuild = ($exchangeBuild -ge "15.2.986.37"); break } + default { $serializedDataSigningSupportedBuild = $false } + } + } elseif ($exchangeMajor -eq [HealthChecker.ExchangeMajorVersion]::Exchange2016) { + $serializedDataSigningSupportedBuild = ($exchangeBuild -ge "15.1.2507.17") + } else { + $serializedDataSigningSupportedBuild = ($exchangeBuild -ge "15.0.1497.45") + } + + if (($serializedDataSigningSupportedBuild) -and + ($exchangeInformation.BuildInformation.ServerRole -ne [HealthChecker.ExchangeServerRole]::Edge)) { + Write-Verbose "SerializedDataSigning is available on this Exchange role / version build combination" + + $serializedDataSigningInformation = $HealthServerObject.ExchangeInformation.SerializationDataSigningConfiguration + $serializedDataSigningWriteType = "Yellow" + $serializedDataSigningConfigurationWarning = "`r`n`t`tThis may pose a security risk to your servers`r`n`t`tMore Information: https://aka.ms/HC-SerializedDataSigning" + + if ($exchangeMajor -ge [HealthChecker.ExchangeMajorVersion]::Exchange2016) { + Write-Verbose "Checking SettingOveride for SerializedDataSigning configuration state" + if (($serializedDataSigningInformation.Count -eq 1) -and + (-not($serializedDataSigningInformation.FailedQuery -eq $true))) { + + if (($serializedDataSigningInformation.Enabled) -and + (($serializedDataSigningInformation.OrgWideSetting) -or + ($serializedDataSigningInformation.Server.ToLower().Contains($serverName)))) { + Write-Verbose "SerializedDataSigning is enabled for the whole organization or the server which is currently processed" + $serializedDataSigningWriteType = "Green" + $serializedDataSigningState = $serializedDataSigningInformation.Enabled + } elseif (($serializedDataSigningInformation.Enabled) -and + (-not($serializedDataSigningInformation.Server.ToLower().Contains($serverName)))) { + Write-Verbose "SerializedDataSigning is enabled but not for the server which is currently processed" + $serializedDataSigningState = $false + } elseif ($serializedDataSigningInformation.Enabled -eq $false) { + Write-Verbose "Checking if SerializedDataSigning is explicitly disabled on organizational level" + $serializedDataSigningState = $false + switch ($serializedDataSigningInformation.OrgWideSetting) { + $true { $additionalSerializedDataSigningDisplayValue = "Setting applies to all servers of the organization" } + $false { + $additionalSerializedDataSigningDisplayValue = "Setting applies to the following server(s) of the organization:" + foreach ($server in $serializedDataSigningInformation.Server) { + $additionalSerializedDataSigningDisplayValue += "`r`n`t`t{0}" -f $server + } + } + } + $additionalSerializedDataSigningDisplayValue += $serializedDataSigningConfigurationWarning + } else { + $additionalSerializedDataSigningDisplayValue = "SerializedDataSigning configuration state is unknown" + } + } elseif ($serializedDataSigningInformation.Count -gt 1) { + $serializedDataSigningState = "Multiple SerializedDataSigning SettingOverrides detected" + $additionalSerializedDataSigningDisplayValue = "An override on the server level takes precedence over an organisation-wide override" + + $i = 0 + foreach ($override in $serializedDataSigningInformation) { + $i++ + $additionalSerializedDataSigningDisplayValue += "`r`n`t`tOverride `#{0}" -f $i + $additionalSerializedDataSigningDisplayValue += "`r`n`t`t`tName: {0}" -f $override.Name + $additionalSerializedDataSigningDisplayValue += "`r`n`t`t`tEnabled: {0}" -f $override.Enabled + if ($override.OrgWideSetting) { + $additionalSerializedDataSigningDisplayValue += "`r`n`t`t`tSetting applies to all servers of the organization" + } else { + $additionalSerializedDataSigningDisplayValue += "`r`n`t`t`tSetting applies to the following server(s) of the organization:" + foreach ($server in $override.Server) { + $additionalSerializedDataSigningDisplayValue += "`r`n`t`t`t{0}" -f $server + } + } + } + $additionalSerializedDataSigningDisplayValue += $serializedDataSigningConfigurationWarning + } else { + Write-Verbose "SerializedDataSigning is not configured via SettingOverride and is considered disabled" + $serializedDataSigningState = $false + } + } else { + Write-Verbose "Checking Registry Value for SerializedDataSigning configuration state" + if ($serializedDataSigningInformation -eq 1) { + Write-Verbose "SerializedDataSigning enabled via Registry Value" + $serializedDataSigningWriteType = "Green" + $serializedDataSigningState = $true + } else { + Write-Verbose "SerializedDataSigning not configured or explicitly disabled via Registry Value" + $serializedDataSigningState = $false + } + } + + $params = $baseParams + @{ + Name = "SerializedDataSigning Enabled" + Details = $serializedDataSigningState + DisplayWriteType = $serializedDataSigningWriteType + } + Add-AnalyzedResultInformation @params + + if ($null -ne $additionalSerializedDataSigningDisplayValue) { + $params = $baseParams + @{ + Details = $additionalSerializedDataSigningDisplayValue + DisplayWriteType = $serializedDataSigningWriteType + DisplayCustomTabNumber = 2 + } + Add-AnalyzedResultInformation @params + } + } else { + Write-Verbose "SerializedDataSigning isn't available because we are on role: $($exchangeInformation.BuildInformation.ServerRole) build: $exchangeBuild" + } +} diff --git a/Diagnostics/HealthChecker/Analyzer/Security/Invoke-AnalyzerSecuritySettings.ps1 b/Diagnostics/HealthChecker/Analyzer/Security/Invoke-AnalyzerSecuritySettings.ps1 index 40a0bb95cc..a284312fef 100644 --- a/Diagnostics/HealthChecker/Analyzer/Security/Invoke-AnalyzerSecuritySettings.ps1 +++ b/Diagnostics/HealthChecker/Analyzer/Security/Invoke-AnalyzerSecuritySettings.ps1 @@ -6,6 +6,7 @@ . $PSScriptRoot\Invoke-AnalyzerSecurityExchangeCertificates.ps1 . $PSScriptRoot\Invoke-AnalyzerSecurityAMSIConfigState.ps1 . $PSScriptRoot\Invoke-AnalyzerSecurityMitigationService.ps1 +. $PSScriptRoot\Invoke-AnalyzerSecuritySerializedDataSigningState.ps1 function Invoke-AnalyzerSecuritySettings { [CmdletBinding()] param( @@ -385,6 +386,7 @@ function Invoke-AnalyzerSecuritySettings { Invoke-AnalyzerSecurityExchangeCertificates -AnalyzeResults $AnalyzeResults -HealthServerObject $HealthServerObject -DisplayGroupingKey $keySecuritySettings Invoke-AnalyzerSecurityAMSIConfigState -AnalyzeResults $AnalyzeResults -HealthServerObject $HealthServerObject -DisplayGroupingKey $keySecuritySettings + Invoke-AnalyzerSecuritySerializedDataSigningState -AnalyzeResults $AnalyzeResults -HealthServerObject $HealthServerObject -DisplayGroupingKey $keySecuritySettings Invoke-AnalyzerSecurityMitigationService -AnalyzeResults $AnalyzeResults -HealthServerObject $HealthServerObject -DisplayGroupingKey $keySecuritySettings if ($null -ne $HealthServerObject.ExchangeInformation.BuildInformation.FIPFSUpdateIssue) { diff --git a/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeInformation.ps1 b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeInformation.ps1 index 23ae1cdbd1..6657c61fcd 100644 --- a/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeInformation.ps1 +++ b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeInformation.ps1 @@ -13,6 +13,7 @@ . $PSScriptRoot\Get-ExchangeDependentServices.ps1 . $PSScriptRoot\Get-ExchangeEmergencyMitigationServiceState.ps1 . $PSScriptRoot\Get-ExchangeRegistryValues.ps1 +. $PSScriptRoot\Get-ExchangeSerializedDataSigningState.ps1 . $PSScriptRoot\Get-ExchangeServerCertificates.ps1 . $PSScriptRoot\Get-ExchangeServerMaintenanceState.ps1 . $PSScriptRoot\Get-ExchangeUpdates.ps1 @@ -226,6 +227,19 @@ function Get-ExchangeInformation { } $buildInformation.FIPFSUpdateIssue = Get-FIPFSScanEngineVersionState @fipfsParams + + if (($buildInformation.MajorVersion -ge [HealthChecker.ExchangeMajorVersion]::Exchange2016) -and + ($buildInformation.ServerRole -ne [HealthChecker.ExchangeServerRole]::Edge)) { + Write-Verbose "SerializedDataSigning must be configured via SettingOverride" + $exchangeInformation.SerializationDataSigningConfiguration = Get-ExchangeSerializedDataSigningState -GetSettingOverride $PassedOrganizationInformation.SettingOverride + } elseif (($buildInformation.MajorVersion -eq [HealthChecker.ExchangeMajorVersion]::Exchange2013) -and + ($buildInformation.ServerRole -ne [HealthChecker.ExchangeServerRole]::Edge)) { + Write-Verbose "SerializedDataSigning must be configured via Registry Value" + $exchangeInformation.SerializationDataSigningConfiguration = $exchangeInformation.RegistryValues.SerializedDataSigning + } else { + Write-Verbose "SerializedDataSigning is not supported on this Exchange version & role combination" + } + $exchangeInformation.ServerMaintenance = Get-ExchangeServerMaintenanceState -Server $Server -ComponentsToSkip "ForwardSyncDaemon", "ProvisioningRps" $exchangeInformation.SettingOverrides = Get-ExchangeSettingOverride -Server $Server -CatchActionFunction ${Function:Invoke-CatchActions} diff --git a/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeRegistryValues.ps1 b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeRegistryValues.ps1 index 29f93c2e56..bef7d0c071 100644 --- a/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeRegistryValues.ps1 +++ b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeRegistryValues.ps1 @@ -35,6 +35,11 @@ function Get-ExchangeRegistryValues { GetValue = "DisableAsyncNotification" } + $serializedDataSigningParams = $baseParams + @{ + SubKey = "SOFTWARE\Microsoft\ExchangeServer\v15\Diagnostics" + GetValue = "EnableSerializationDataSigning" + } + $installDirectoryParams = $baseParams + @{ SubKey = "SOFTWARE\Microsoft\ExchangeServer\v15\Setup" GetValue = "MsiInstallPath" @@ -45,6 +50,7 @@ function Get-ExchangeRegistryValues { FipsAlgorithmPolicyEnabled = [int](Get-RemoteRegistryValue @fipsParams) DisableGranularReplication = [int](Get-RemoteRegistryValue @blockReplParams) DisableAsyncNotification = [int](Get-RemoteRegistryValue @disableAsyncParams) + SerializedDataSigning = [int](Get-RemoteRegistryValue @serializedDataSigningParams) MisInstallPath = [string](Get-RemoteRegistryValue @installDirectoryParams) } } diff --git a/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeSerializedDataSigningState.ps1 b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeSerializedDataSigningState.ps1 new file mode 100644 index 0000000000..d77edb6824 --- /dev/null +++ b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeSerializedDataSigningState.ps1 @@ -0,0 +1,63 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +function Get-ExchangeSerializedDataSigningState { + [CmdletBinding()] + param ( + [object]$GetSettingOverride + ) + + begin { + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + $serializedDataSigningSettingResults = New-Object "System.Collections.Generic.List[object]" + } process { + if ($null -ne $GetSettingOverride -and + $GetSettingOverride -ne "Unknown") { + Write-Verbose "Filtering for EnableSerializationDataSigning configuration state" + $signingConfiguration = $GetSettingOverride | Where-Object { + (($_.ComponentName -eq "Data") -and + ($_.SectionName -eq "EnableSerializationDataSigning")) + } + + if ($null -ne $signingConfiguration) { + Write-Verbose "$($signingConfiguration.Count) override(s) detected for SerializationDataSigning configuration" + foreach ($signingConfig in $signingConfiguration) { + try { + # currently only 1 possible parameter here of Enabled + $value = $signingConfig.Parameters.Substring("Enabled=".Length) + if ($value -eq "True") { $signingState = $true } + elseif ($value -eq "False") { $signingState = $false } + else { $signingState = "Unknown" } + } catch { + Write-Verbose "Unable to process: $($signingConfig.Parameters) to determine status flags" + $signingState = "Unknown" + Invoke-CatchActions + } + $serializedDataSigningSettingResults.Add([PSCustomObject]@{ + Id = $signingConfig.Id + Name = $signingConfig.Name + Reason = $signingConfig.Reason + Server = $signingConfig.Server + ModifiedBy = $signingConfig.ModifiedBy + Enabled = $signingState + OrgWideSetting = ($null -eq $signingConfig.Server) + }) + } + } + } elseif ($GetSettingOverride -eq "Unknown") { + $serializedDataSigningSettingResults.Add([PSCustomObject]@{ + FailedQuery = $true + }) + } + } end { + if ($serializedDataSigningSettingResults.Count -eq 0) { + Write-Verbose "No setting override found that enables the SerializationDataSigning feature" + $serializedDataSigningSettingResults.Add([PSCustomObject]@{ + Enabled = $false + OrgWideSetting = $true + }) + } + + return $serializedDataSigningSettingResults + } +} diff --git a/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeServerCertificates.ps1 b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeServerCertificates.ps1 index 87cf8b6118..28de760f76 100644 --- a/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeServerCertificates.ps1 +++ b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Get-ExchangeServerCertificates.ps1 @@ -2,211 +2,241 @@ # Licensed under the MIT License. . $PSScriptRoot\..\..\..\..\Shared\ErrorMonitorFunctions.ps1 +. $PSScriptRoot\..\..\..\..\Shared\ActiveDirectoryFunctions\Get-InternalTransportCertificateFromServer.ps1 + function Get-ExchangeServerCertificates { param( [Parameter(Mandatory = $true)] [string]$Server ) - Write-Verbose "Calling: $($MyInvocation.MyCommand)" - - function NewCertificateExclusionEntry { - [OutputType("System.Object")] - param( - [Parameter(Mandatory = $true)] - [string] - $IssuerOrSubjectPattern, - [Parameter(Mandatory = $true)] - [bool] - $IsSelfSigned - ) - - return [PSCustomObject]@{ - IorSPattern = $IssuerOrSubjectPattern - IsSelfSigned = $IsSelfSigned + begin { + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + + function NewCertificateExclusionEntry { + [OutputType("System.Object")] + param( + [Parameter(Mandatory = $true)] + [string] + $IssuerOrSubjectPattern, + [Parameter(Mandatory = $true)] + [bool] + $IsSelfSigned + ) + + return [PSCustomObject]@{ + IorSPattern = $IssuerOrSubjectPattern + IsSelfSigned = $IsSelfSigned + } } - } - function ShouldCertificateBeSkipped { - [OutputType("System.Boolean")] - param ( - [Parameter(Mandatory = $true)] - [PSCustomObject] - $Exclusions, - [Parameter(Mandatory = $true)] - [System.Security.Cryptography.X509Certificates.X509Certificate2] - $Certificate - ) - - $certificateMatch = $Exclusions | Where-Object { - ((($Certificate.Subject -match $_.IorSPattern) -or - ($Certificate.Issuer -match $_.IorSPattern)) -and - ($Certificate.IsSelfSigned -eq $_.IsSelfSigned)) - } | Select-Object -First 1 - - if ($null -ne $certificateMatch) { - return $certificateMatch.IsSelfSigned -eq $Certificate.IsSelfSigned + function ShouldCertificateBeSkipped { + [OutputType("System.Boolean")] + param ( + [Parameter(Mandatory = $true)] + [PSCustomObject] + $Exclusions, + [Parameter(Mandatory = $true)] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + $Certificate + ) + + $certificateMatch = $Exclusions | Where-Object { + ((($Certificate.Subject -match $_.IorSPattern) -or + ($Certificate.Issuer -match $_.IorSPattern)) -and + ($Certificate.IsSelfSigned -eq $_.IsSelfSigned)) + } | Select-Object -First 1 + + if ($null -ne $certificateMatch) { + return $certificateMatch.IsSelfSigned -eq $Certificate.IsSelfSigned + } + return $false } - return $false - } - try { - Write-Verbose "Build certificate exclusion list" - # Add the certificates that should be excluded from the Exchange certificate check (we don't return an object for them) - # Exclude "MS-Organization-P2P-Access [YYYY]" certificate with one day lifetime on Azure hosted machines. - # See: What are the MS-Organization-P2P-Access certificates present on our Windows 10/11 devices? - # https://docs.microsoft.com/azure/active-directory/devices/faq - # Exclude "DC=Windows Azure CRP Certificate Generator" (TenantEncryptionCertificate) - # The certificates are built by the Azure fabric controller and passed to the Azure VM Agent. - # If you stop and start the VM every day, the fabric controller might create a new certificate. - # These certificates can be deleted. The Azure VM Agent re-creates certificates if needed. - # https://docs.microsoft.com/azure/virtual-machines/extensions/features-windows - $certificatesToExclude = @( - NewCertificateExclusionEntry "CN=MS-Organization-P2P-Access \[[12][0-9]{3}\]$" $false - NewCertificateExclusionEntry "DC=Windows Azure CRP Certificate Generator" $true - ) - Write-Verbose "Trying to receive certificates from Exchange server: $($Server)" - $exchangeServerCertificates = Get-ExchangeCertificate -Server $Server -ErrorAction Stop - - if ($null -ne $exchangeServerCertificates) { + $certObject = New-Object 'System.Collections.Generic.List[object]' + } process { + try { + Write-Verbose "Build certificate exclusion list" + <# + Add the certificates that should be excluded from the Exchange certificate check (we don't return an object for them) + Exclude "MS-Organization-P2P-Access [YYYY]" certificate with one day lifetime on Azure hosted machines. + See: What are the MS-Organization-P2P-Access certificates present on our Windows 10/11 devices? + https://docs.microsoft.com/azure/active-directory/devices/faq + Exclude "DC=Windows Azure CRP Certificate Generator" (TenantEncryptionCertificate) + The certificates are built by the Azure fabric controller and passed to the Azure VM Agent. + If you stop and start the VM every day, the fabric controller might create a new certificate. + These certificates can be deleted. The Azure VM Agent re-creates certificates if needed. + https://docs.microsoft.com/azure/virtual-machines/extensions/features-windows + #> + $certificatesToExclude = @( + NewCertificateExclusionEntry "CN=MS-Organization-P2P-Access \[[12][0-9]{3}\]$" $false + NewCertificateExclusionEntry "DC=Windows Azure CRP Certificate Generator" $true + ) + Write-Verbose "Trying to receive certificates from Exchange server: $($Server)" + $exchangeServerCertificates = Get-ExchangeCertificate -Server $Server -ErrorAction Stop + try { - $authConfig = Get-AuthConfig -ErrorAction Stop - $authConfigDetected = $true + Write-Verbose "Trying to query internal transport certificate from AD for this server" + $internalTransportCertificate = Get-InternalTransportCertificateFromServer -ComputerName $Server } catch { - $authConfigDetected = $false + Write-Verbose "Unable to query the internal transport certificate from AD - call is expected to fail on Edge Transport Servers" Invoke-CatchActions } - [array]$certObject = @() - foreach ($cert in $exchangeServerCertificates) { + if ($null -ne $exchangeServerCertificates) { try { - $certificateLifetime = ([System.Convert]::ToDateTime($cert.NotAfter, [System.Globalization.DateTimeFormatInfo]::InvariantInfo) - (Get-Date)).Days - $sanCertificateInfo = $false + $authConfig = Get-AuthConfig -ErrorAction Stop + $authConfigDetected = $true + } catch { + $authConfigDetected = $false + Invoke-CatchActions + } - $excludeCertificate = ShouldCertificateBeSkipped -Exclusions $certificatesToExclude -Certificate $cert + foreach ($cert in $exchangeServerCertificates) { + $isInternalTransportCertificate = $false - if ($excludeCertificate) { - Write-Verbose "Excluding certificate $($cert.Subject). Moving to next certificate" - continue - } + try { + $certificateLifetime = ([System.Convert]::ToDateTime($cert.NotAfter, [System.Globalization.DateTimeFormatInfo]::InvariantInfo) - (Get-Date)).Days + $sanCertificateInfo = $false - $currentErrors = $Error.Count - if ($null -ne $cert.DnsNameList -and - ($cert.DnsNameList).Count -gt 1) { - $sanCertificateInfo = $true - $certDnsNameList = $cert.DnsNameList - } elseif ($null -eq $cert.DnsNameList) { - $certDnsNameList = "None" - } else { - $certDnsNameList = $cert.DnsNameList - } - if ($currentErrors -lt $Error.Count) { - $i = 0 - while ($i -lt ($Error.Count - $currentErrors)) { - Invoke-CatchActions $Error[$i] - $i++ + $excludeCertificate = ShouldCertificateBeSkipped -Exclusions $certificatesToExclude -Certificate $cert + + if ($excludeCertificate) { + Write-Verbose "Excluding certificate $($cert.Subject). Moving to next certificate" + continue } - } - if ($authConfigDetected) { - $isAuthConfigInfo = $false + $currentErrors = $Error.Count + if ($null -ne $cert.DnsNameList -and + ($cert.DnsNameList).Count -gt 1) { + $sanCertificateInfo = $true + $certDnsNameList = $cert.DnsNameList + } elseif ($null -eq $cert.DnsNameList) { + $certDnsNameList = "None" + } else { + $certDnsNameList = $cert.DnsNameList + } + if ($currentErrors -lt $Error.Count) { + $i = 0 + while ($i -lt ($Error.Count - $currentErrors)) { + Invoke-CatchActions $Error[$i] + $i++ + } + } - if ($cert.Thumbprint -eq $authConfig.CurrentCertificateThumbprint) { - $isAuthConfigInfo = $true + if (($null -ne $internalTransportCertificate) -and + ($cert.Thumbprint -eq $internalTransportCertificate.Thumbprint)) { + $isInternalTransportCertificate = $true } - } else { - $isAuthConfigInfo = "InvalidAuthConfig" - } - if ([String]::IsNullOrEmpty($cert.FriendlyName)) { - $certFriendlyName = ($certDnsNameList[0]).ToString() - } else { - $certFriendlyName = $cert.FriendlyName - } + if ($authConfigDetected) { + $isAuthConfigInfo = $false + $isNextAuthCertificate = $false + + if ($cert.Thumbprint -eq $authConfig.CurrentCertificateThumbprint) { + $isAuthConfigInfo = $true + } elseif ($cert.Thumbprint -eq $authConfig.NextCertificateThumbprint) { + $isNextAuthCertificate = $true + } + } else { + $isAuthConfigInfo = "InvalidAuthConfig" + $isNextAuthCertificate = "InvalidAuthConfig" + } - if ([String]::IsNullOrEmpty($cert.Status)) { - $certStatus = "Unknown" - } else { - $certStatus = ($cert.Status).ToString() - } + if ([String]::IsNullOrEmpty($cert.FriendlyName)) { + $certFriendlyName = ($certDnsNameList[0]).ToString() + } else { + $certFriendlyName = $cert.FriendlyName + } - if ([String]::IsNullOrEmpty($cert.SignatureAlgorithm.FriendlyName)) { - $certSignatureAlgorithm = "Unknown" - $certSignatureHashAlgorithm = "Unknown" - $certSignatureHashAlgorithmSecure = 0 - } else { - $certSignatureAlgorithm = $cert.SignatureAlgorithm.FriendlyName - <# - OID Table - https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-gpnap/a48b02b2-2a10-4eb0-bed4-1807a6d2f5ad - SignatureHashAlgorithmSecure = Unknown 0 - SignatureHashAlgorithmSecure = Insecure/Weak 1 - SignatureHashAlgorithmSecure = Secure 2 - #> - switch ($cert.SignatureAlgorithm.Value) { - "1.2.840.113549.1.1.5" { $certSignatureHashAlgorithm = "sha1"; $certSignatureHashAlgorithmSecure = 1 } - "1.2.840.113549.1.1.4" { $certSignatureHashAlgorithm = "md5"; $certSignatureHashAlgorithmSecure = 1 } - "1.2.840.10040.4.3" { $certSignatureHashAlgorithm = "sha1"; $certSignatureHashAlgorithmSecure = 1 } - "1.3.14.3.2.29" { $certSignatureHashAlgorithm = "sha1"; $certSignatureHashAlgorithmSecure = 1 } - "1.3.14.3.2.15" { $certSignatureHashAlgorithm = "sha1"; $certSignatureHashAlgorithmSecure = 1 } - "1.3.14.3.2.3" { $certSignatureHashAlgorithm = "md5"; $certSignatureHashAlgorithmSecure = 1 } - "1.2.840.113549.1.1.2" { $certSignatureHashAlgorithm = "md2"; $certSignatureHashAlgorithmSecure = 1 } - "1.2.840.113549.1.1.3" { $certSignatureHashAlgorithm = "md4"; $certSignatureHashAlgorithmSecure = 1 } - "1.3.14.3.2.2" { $certSignatureHashAlgorithm = "md4"; $certSignatureHashAlgorithmSecure = 1 } - "1.3.14.3.2.4" { $certSignatureHashAlgorithm = "md4"; $certSignatureHashAlgorithmSecure = 1 } - "1.3.14.7.2.3.1" { $certSignatureHashAlgorithm = "md2"; $certSignatureHashAlgorithmSecure = 1 } - "1.3.14.3.2.13" { $certSignatureHashAlgorithm = "sha1"; $certSignatureHashAlgorithmSecure = 1 } - "1.3.14.3.2.27" { $certSignatureHashAlgorithm = "sha1"; $certSignatureHashAlgorithmSecure = 1 } - "2.16.840.1.101.2.1.1.19" { $certSignatureHashAlgorithm = "mosaicSignature"; $certSignatureHashAlgorithmSecure = 0 } - "1.3.14.3.2.26" { $certSignatureHashAlgorithm = "sha1"; $certSignatureHashAlgorithmSecure = 1 } - "1.2.840.113549.2.5" { $certSignatureHashAlgorithm = "md5"; $certSignatureHashAlgorithmSecure = 1 } - "2.16.840.1.101.3.4.2.1" { $certSignatureHashAlgorithm = "sha256"; $certSignatureHashAlgorithmSecure = 2 } - "2.16.840.1.101.3.4.2.2" { $certSignatureHashAlgorithm = "sha384"; $certSignatureHashAlgorithmSecure = 2 } - "2.16.840.1.101.3.4.2.3" { $certSignatureHashAlgorithm = "sha512"; $certSignatureHashAlgorithmSecure = 2 } - "1.2.840.113549.1.1.11" { $certSignatureHashAlgorithm = "sha256"; $certSignatureHashAlgorithmSecure = 2 } - "1.2.840.113549.1.1.12" { $certSignatureHashAlgorithm = "sha384"; $certSignatureHashAlgorithmSecure = 2 } - "1.2.840.113549.1.1.13" { $certSignatureHashAlgorithm = "sha512"; $certSignatureHashAlgorithmSecure = 2 } - "1.2.840.113549.1.1.10" { $certSignatureHashAlgorithm = "rsassa-pss"; $certSignatureHashAlgorithmSecure = 2 } - "1.2.840.10045.4.1" { $certSignatureHashAlgorithm = "sha1"; $certSignatureHashAlgorithmSecure = 1 } - "1.2.840.10045.4.3.2" { $certSignatureHashAlgorithm = "sha256"; $certSignatureHashAlgorithmSecure = 2 } - "1.2.840.10045.4.3.3" { $certSignatureHashAlgorithm = "sha384"; $certSignatureHashAlgorithmSecure = 2 } - "1.2.840.10045.4.3.4" { $certSignatureHashAlgorithm = "sha512"; $certSignatureHashAlgorithmSecure = 2 } - "1.2.840.10045.4.3" { $certSignatureHashAlgorithm = "sha256"; $certSignatureHashAlgorithmSecure = 2 } - default { $certSignatureHashAlgorithm = "Unknown"; $certSignatureHashAlgorithmSecure = 0 } + if ([String]::IsNullOrEmpty($cert.Status)) { + $certStatus = "Unknown" + } else { + $certStatus = ($cert.Status).ToString() } - } - $certInformationObj = New-Object PSCustomObject - $certInformationObj | Add-Member -MemberType NoteProperty -Name "Issuer" -Value $cert.Issuer - $certInformationObj | Add-Member -MemberType NoteProperty -Name "Subject" -Value $cert.Subject - $certInformationObj | Add-Member -MemberType NoteProperty -Name "FriendlyName" -Value $certFriendlyName - $certInformationObj | Add-Member -MemberType NoteProperty -Name "Thumbprint" -Value $cert.Thumbprint - $certInformationObj | Add-Member -MemberType NoteProperty -Name "PublicKeySize" -Value $cert.PublicKey.Key.KeySize - $certInformationObj | Add-Member -MemberType NoteProperty -Name "SignatureAlgorithm" -Value $certSignatureAlgorithm - $certInformationObj | Add-Member -MemberType NoteProperty -Name "SignatureHashAlgorithm" -Value $certSignatureHashAlgorithm - $certInformationObj | Add-Member -MemberType NoteProperty -Name "SignatureHashAlgorithmSecure" -Value $certSignatureHashAlgorithmSecure - $certInformationObj | Add-Member -MemberType NoteProperty -Name "IsSanCertificate" -Value $sanCertificateInfo - $certInformationObj | Add-Member -MemberType NoteProperty -Name "Namespaces" -Value $certDnsNameList - $certInformationObj | Add-Member -MemberType NoteProperty -Name "Services" -Value $cert.Services - $certInformationObj | Add-Member -MemberType NoteProperty -Name "IsCurrentAuthConfigCertificate" -Value $isAuthConfigInfo - $certInformationObj | Add-Member -MemberType NoteProperty -Name "LifetimeInDays" -Value $certificateLifetime - $certInformationObj | Add-Member -MemberType NoteProperty -Name "Status" -Value $certStatus - $certInformationObj | Add-Member -MemberType NoteProperty -Name "CertificateObject" -Value $cert - - $certObject += $certInformationObj - } catch { - Write-Verbose "Unable to process certificate: $($cert.Thumbprint)" - Invoke-CatchActions + if ([String]::IsNullOrEmpty($cert.SignatureAlgorithm.FriendlyName)) { + $certSignatureAlgorithm = "Unknown" + $certSignatureHashAlgorithm = "Unknown" + $certSignatureHashAlgorithmSecure = 0 + } else { + $certSignatureAlgorithm = $cert.SignatureAlgorithm.FriendlyName + <# + OID Table + https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-gpnap/a48b02b2-2a10-4eb0-bed4-1807a6d2f5ad + SignatureHashAlgorithmSecure = Unknown 0 + SignatureHashAlgorithmSecure = Insecure/Weak 1 + SignatureHashAlgorithmSecure = Secure 2 + #> + switch ($cert.SignatureAlgorithm.Value) { + "1.2.840.113549.1.1.5" { $certSignatureHashAlgorithm = "sha1"; $certSignatureHashAlgorithmSecure = 1 } + "1.2.840.113549.1.1.4" { $certSignatureHashAlgorithm = "md5"; $certSignatureHashAlgorithmSecure = 1 } + "1.2.840.10040.4.3" { $certSignatureHashAlgorithm = "sha1"; $certSignatureHashAlgorithmSecure = 1 } + "1.3.14.3.2.29" { $certSignatureHashAlgorithm = "sha1"; $certSignatureHashAlgorithmSecure = 1 } + "1.3.14.3.2.15" { $certSignatureHashAlgorithm = "sha1"; $certSignatureHashAlgorithmSecure = 1 } + "1.3.14.3.2.3" { $certSignatureHashAlgorithm = "md5"; $certSignatureHashAlgorithmSecure = 1 } + "1.2.840.113549.1.1.2" { $certSignatureHashAlgorithm = "md2"; $certSignatureHashAlgorithmSecure = 1 } + "1.2.840.113549.1.1.3" { $certSignatureHashAlgorithm = "md4"; $certSignatureHashAlgorithmSecure = 1 } + "1.3.14.3.2.2" { $certSignatureHashAlgorithm = "md4"; $certSignatureHashAlgorithmSecure = 1 } + "1.3.14.3.2.4" { $certSignatureHashAlgorithm = "md4"; $certSignatureHashAlgorithmSecure = 1 } + "1.3.14.7.2.3.1" { $certSignatureHashAlgorithm = "md2"; $certSignatureHashAlgorithmSecure = 1 } + "1.3.14.3.2.13" { $certSignatureHashAlgorithm = "sha1"; $certSignatureHashAlgorithmSecure = 1 } + "1.3.14.3.2.27" { $certSignatureHashAlgorithm = "sha1"; $certSignatureHashAlgorithmSecure = 1 } + "2.16.840.1.101.2.1.1.19" { $certSignatureHashAlgorithm = "mosaicSignature"; $certSignatureHashAlgorithmSecure = 0 } + "1.3.14.3.2.26" { $certSignatureHashAlgorithm = "sha1"; $certSignatureHashAlgorithmSecure = 1 } + "1.2.840.113549.2.5" { $certSignatureHashAlgorithm = "md5"; $certSignatureHashAlgorithmSecure = 1 } + "2.16.840.1.101.3.4.2.1" { $certSignatureHashAlgorithm = "sha256"; $certSignatureHashAlgorithmSecure = 2 } + "2.16.840.1.101.3.4.2.2" { $certSignatureHashAlgorithm = "sha384"; $certSignatureHashAlgorithmSecure = 2 } + "2.16.840.1.101.3.4.2.3" { $certSignatureHashAlgorithm = "sha512"; $certSignatureHashAlgorithmSecure = 2 } + "1.2.840.113549.1.1.11" { $certSignatureHashAlgorithm = "sha256"; $certSignatureHashAlgorithmSecure = 2 } + "1.2.840.113549.1.1.12" { $certSignatureHashAlgorithm = "sha384"; $certSignatureHashAlgorithmSecure = 2 } + "1.2.840.113549.1.1.13" { $certSignatureHashAlgorithm = "sha512"; $certSignatureHashAlgorithmSecure = 2 } + "1.2.840.113549.1.1.10" { $certSignatureHashAlgorithm = "rsassa-pss"; $certSignatureHashAlgorithmSecure = 2 } + "1.2.840.10045.4.1" { $certSignatureHashAlgorithm = "sha1"; $certSignatureHashAlgorithmSecure = 1 } + "1.2.840.10045.4.3.2" { $certSignatureHashAlgorithm = "sha256"; $certSignatureHashAlgorithmSecure = 2 } + "1.2.840.10045.4.3.3" { $certSignatureHashAlgorithm = "sha384"; $certSignatureHashAlgorithmSecure = 2 } + "1.2.840.10045.4.3.4" { $certSignatureHashAlgorithm = "sha512"; $certSignatureHashAlgorithmSecure = 2 } + "1.2.840.10045.4.3" { $certSignatureHashAlgorithm = "sha256"; $certSignatureHashAlgorithmSecure = 2 } + default { $certSignatureHashAlgorithm = "Unknown"; $certSignatureHashAlgorithmSecure = 0 } + } + } + + $certObject.Add([PSCustomObject]@{ + Issuer = $cert.Issuer + Subject = $cert.Subject + FriendlyName = $certFriendlyName + Thumbprint = $cert.Thumbprint + PublicKeySize = $cert.PublicKey.Key.KeySize + SignatureAlgorithm = $certSignatureAlgorithm + SignatureHashAlgorithm = $certSignatureHashAlgorithm + SignatureHashAlgorithmSecure = $certSignatureHashAlgorithmSecure + IsSanCertificate = $sanCertificateInfo + Namespaces = $certDnsNameList + Services = $cert.Services + IsInternalTransportCertificate = $isInternalTransportCertificate + IsCurrentAuthConfigCertificate = $isAuthConfigInfo + IsNextAuthConfigCertificate = $isNextAuthCertificate + SetAsActiveAuthCertificateOn = if ($isNextAuthCertificate) { $authConfig.NextCertificateEffectiveDate } else { $null } + LifetimeInDays = $certificateLifetime + Status = $certStatus + CertificateObject = $cert + }) + } catch { + Write-Verbose "Unable to process certificate: $($cert.Thumbprint)" + Invoke-CatchActions + } } } + } catch { + Write-Verbose "Failed to run 'Get-ExchangeCertificate' - Exception: $($Error[0].Exception)." + Invoke-CatchActions + } + } end { + if ($certObject.Count -ge 1) { Write-Verbose "Processed: $($certObject.Count) certificates" - return $certObject } else { Write-Verbose "Failed to find any Exchange certificates" - return $null } - } catch { - Write-Verbose "Failed to run Get-ExchangeCertificate. Error: $($Error[0].Exception)." - Invoke-CatchActions + return $certObject } } diff --git a/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Tests/DataCollection/GetSettingOverridePSSigningEnabledOnOrg.xml b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Tests/DataCollection/GetSettingOverridePSSigningEnabledOnOrg.xml new file mode 100644 index 0000000000..3741fb20bf --- /dev/null +++ b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Tests/DataCollection/GetSettingOverridePSSigningEnabledOnOrg.xml @@ -0,0 +1,160 @@ + + + + Microsoft.Exchange.Data.Directory.SystemConfiguration.ConfigurationSettings.SettingOverride + Microsoft.Exchange.Data.Directory.SystemConfiguration.ADConfigurationObject + Microsoft.Exchange.Data.Directory.ADObject + Microsoft.Exchange.Data.Directory.ADRawEntry + Microsoft.Exchange.Data.ConfigurableObject + System.Object + + EnableSigningVerification + + Data + EnableSerializationDataSigning + EXO + + Contoso.lab/Users/ContosoTech + Enabling Signing Verification + + + + + false + + + Microsoft.Exchange.Data.MultiValuedProperty`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + Microsoft.Exchange.Data.MultiValuedPropertyBase + System.Object + + + Enabled=true + + + + + Microsoft.Exchange.Data.Directory.SystemConfiguration.ConfigurationSettings.SettingOverrideStatus + System.Enum + System.ValueType + System.Object + + Accepted + 3 + + <S CN="Data" SN="EnableSerializationDataSigning" MB="Contoso.lab/Users/ContosoTech" R="Enabling Signing Verification"><Ps><P>Enabled=true</P></Ps></S> + + + + Microsoft.Exchange.Data.ExchangeObjectVersion + System.Object + + 0.1 (8.0.535.0) + + 1.0 (0.0.0.0) + 0.2 (0.0.0.0) + 0 + 1 + 8.0.535.0 + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VPYmplY3RWZXJzaW9uAwAAAAVNYWpvcgVNaW5vcg1FeGNoYW5nZUJ1aWxkAAAEAgIlTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VCdWlsZAIAAAACAAAAAAEF/f///yVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZUJ1aWxkBAAAAAVNYWpvcgVNaW5vcgVCdWlsZA1CdWlsZFJldmlzaW9uAAAAAAICDg4CAAAACAAXAgAACw== + + + EnableSigningVerification + CN=EnableSigningVerification,CN=Setting Overrides,CN=Global Settings,CN=Contoso Labs,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=lab + + + Microsoft.Exchange.Data.Directory.ADObjectId + Microsoft.Exchange.Data.ObjectId + System.Object + + EnableSigningVerification + + + false + CN=EnableSigningVerification + Setting Overrides + 8 + CN=EnableSigningVerification,CN=Setting Overrides,CN=Global Settings,CN=Contoso Labs,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=lab + false + Contoso.lab + 59ce2f71-eaa2-4ddf-a4fa-f25069d0b324 + Contoso.lab + f8db1d59-a163-4b0c-b754-f7aa93bd498d + EnableSigningVerification + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAAT9////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBgQAAAALQ29udG9zby5sYWIB+/////3///9ZHdv4Y6EMS7dU96qTvUmNBgYAAACZAUNOPUVuYWJsZVNpZ25pbmdWZXJpZmljYXRpb24sQ049U2V0dGluZyBPdmVycmlkZXMsQ049R2xvYmFsIFNldHRpbmdzLENOPUNvbnRvc28gTGFicyxDTj1NaWNyb3NvZnQgRXhjaGFuZ2UsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoIAAAABgcAAAAZRW5hYmxlU2lnbmluZ1ZlcmlmaWNhdGlvbgkIAAAABQgAAAAwTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk9yZ2FuaXphdGlvbklkBQAAAAdvcmdVbml0CmNvbmZpZ1VuaXQLcGFydGl0aW9uSWQfZXh0ZXJuYWxEaXJlY3RvcnlPcmdhbml6YXRpb25JZCNzYWZlRXh0ZXJuYWxEaXJlY3RvcnlPcmdhbml6YXRpb25JZAQEBAMDLE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAACxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlBhcnRpdGlvbklkAgAAAG1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAACgoJCQAAAAoKBQkAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlBhcnRpdGlvbklkAgAAAApmb3Jlc3RGUUROEXBhcnRpdGlvbk9iamVjdElkAQNtU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAGCgAAAAtDb250b3NvLmxhYgoL + + + f8db1d59-a163-4b0c-b754-f7aa93bd498d + + + Contoso.lab/Configuration/Schema/ms-Exch-Config-Settings + + + false + CN=ms-Exch-Config-Settings + Contoso.lab/Configuration/Schema + 4 + CN=ms-Exch-Config-Settings,CN=Schema,CN=Configuration,DC=Contoso,DC=lab + false + Contoso.lab + 59ce2f71-eaa2-4ddf-a4fa-f25069d0b324 + Contoso.lab + bd8c7a7e-091f-41e9-a23d-26b5b0a101fb + ms-Exch-Config-Settings + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAAT9////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBgQAAAALQ29udG9zby5sYWIB+/////3///9+eoy9HwnpQaI9JrWwoQH7BgYAAABHQ049bXMtRXhjaC1Db25maWctU2V0dGluZ3MsQ049U2NoZW1hLENOPUNvbmZpZ3VyYXRpb24sREM9Q29udG9zbyxEQz1sYWIKBAAAAAYHAAAAOENvbnRvc28ubGFiL0NvbmZpZ3VyYXRpb24vU2NoZW1hL21zLUV4Y2gtQ29uZmlnLVNldHRpbmdzCQgAAAAFCAAAADBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQFAAAAB29yZ1VuaXQKY29uZmlnVW5pdAtwYXJ0aXRpb25JZB9leHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkI3NhZmVFeHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkBAQEAwMsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAAbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1tU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAKCgkJAAAACgoFCQAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAACmZvcmVzdEZRRE4RcGFydGl0aW9uT2JqZWN0SWQBA21TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAYKAAAAC0NvbnRvc28ubGFiCgs= + + + + + + top + msExchConfigSettings + + +
2023-01-04T11:06:53+00:00
+
2023-01-04T11:06:53+00:00
+
2023-01-04T11:06:53Z
+
2023-01-04T11:06:53Z
+ + + Microsoft.Exchange.Data.Directory.OrganizationId + System.Object + + + + + + false + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAME1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5Pcmdhbml6YXRpb25JZAUAAAAHb3JnVW5pdApjb25maWdVbml0C3BhcnRpdGlvbklkH2V4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQjc2FmZUV4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQEBAQDAyxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAABtU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXW1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAoKCgoKCw== + + + + DC-1.Contoso.lab + true + + + Microsoft.Exchange.Data.ObjectState + System.Enum + System.ValueType + System.Object + + Unchanged + 1 + +
+ + e2k16-2.contoso.lab + 6bf6b65b-142a-4a62-8e9d-a127a9dfb5e1 + false + AAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLkNvbmZpZ3VyYXRpb25TZXR0aW5ncy5TZXR0aW5nT3ZlcnJpZGUJAAAAC3Byb3BlcnR5QmFnIUFEQ29uZmlndXJhdGlvbk9iamVjdCtwcm9wZXJ0eUJhZxRBRE9iamVjdCtwcm9wZXJ0eUJhZyxBRFJhd0VudHJ5KzxNc2VydlByb3BlcnR5QmFnPmtfX0JhY2tpbmdGaWVsZCpBRFJhd0VudHJ5KzxNYnhQcm9wZXJ0eUJhZz5rX19CYWNraW5nRmllbGQWQURSYXdFbnRyeStwcm9wZXJ0eUJhZx5Db25maWd1cmFibGVPYmplY3QrcHJvcGVydHlCYWcsQ29uZmlndXJhYmxlT2JqZWN0K3NlcmlhbGl6ZXJBc3NlbWJseVZlcnNpb24mQ29uZmlndXJhYmxlT2JqZWN0K2luc3RhbnRpYXRpb25FcnJvcnMEBAQEBAQEAwMvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAADlN5c3RlbS5WZXJzaW9uqQFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlZhbGlkYXRpb25FcnJvciwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dAgAAAAkDAAAACQMAAAAJAwAAAAoKCQMAAAAJAwAAAAkEAAAACQUAAAAMBgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQMAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcGAAAAFFByb3BlcnR5QmFnK3JlYWRPbmx5G1Byb3BlcnR5QmFnK3N0b3JlVmFsdWVzT25seSdQcm9wZXJ0eUJhZyt0cmVhdFN3aXRjaGFibGVBc1ZhbHVlc09ubHklUHJvcGVydHlCYWcrc2VyaWFsaXplckFzc2VtYmx5VmVyc2lvbiNQcm9wZXJ0eUJhZytzZXJpYWxpemVkQ3VycmVudFZhbHVlcyRQcm9wZXJ0eUJhZytzZXJpYWxpemVkT3JpZ2luYWxWYWx1ZXMAAAADBAQBAQEOU3lzdGVtLlZlcnNpb24vTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyW10GAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcltdBgAAAAIAAAAAAAAJBAAAAAkIAAAACQkAAAAEBAAAAA5TeXN0ZW0uVmVyc2lvbgQAAAAGX01ham9yBl9NaW5vcgZfQnVpbGQJX1JldmlzaW9uAAAAAAgICAgPAAAAAAAAAAAAAAAAAAAABAUAAACpAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVmFsaWRhdGlvbkVycm9yLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVyc2lvbgQAAClNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5WYWxpZGF0aW9uRXJyb3JbXQYAAAAICAkKAAAAAAAAAAAAAAAHCAAAAAABAAAADwAAAAQtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyBgAAAAX1////LU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcgIAAAADS2V5BVZhbHVlBAI2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uAgAAAAYAAAAJDAAAAAYNAAAAlgE8UyBDTj0iRGF0YSIgU049IkVuYWJsZVNlcmlhbGl6YXRpb25EYXRhU2lnbmluZyIgTUI9IkNvbnRvc28ubGFiL1VzZXJzL0NvbnRvc29UZWNoIiBSPSJFbmFibGluZyBTaWduaW5nIFZlcmlmaWNhdGlvbiI+PFBzPjxQPkVuYWJsZWQ9dHJ1ZTwvUD48L1BzPjwvUz4B8v////X///8JDwAAAAkQAAAAAe/////1////CRIAAAAJEwAAAAHs////9f///wkVAAAACRYAAAAB6f////X///8JGAAAAAYZAAAAGUVuYWJsZVNpZ25pbmdWZXJpZmljYXRpb24B5v////X///8JGwAAAAkcAAAAAeP////1////CR4AAAAJHwAAAAHg////9f///wkhAAAACSIAAAAB3f////X///8JJAAAAAYlAAAAEERDLTEuQ29udG9zby5sYWIB2v////X///8JJwAAAAkoAAAAAdf////1////CSoAAAAGKwAAABEyMDIzMDEwNDExMDY1My4wWgHU////9f///wktAAAABi4AAAARMjAyMzAxMDQxMTA2NTMuMFoB0f////X///8JMAAAAAgNfbod4kPu2kgBz/////X///8JMgAAAAgBAAHN////9f///wk0AAAACTUAAAAHCQAAAAABAAAAAAAAAAQtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyBgAAAAcKAAAAAAEAAAAAAAAABCdNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5WYWxpZGF0aW9uRXJyb3IGAAAABQwAAAA2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uCwAAAA9sZGFwRGlzcGxheU5hbWUOZm9ybWF0UHJvdmlkZXIOc2hhZG93UHJvcGVydHkWc29mdExpbmtTaGFkb3dQcm9wZXJ0eRdtc2VydlByb3BlcnR5RGVmaW5pdGlvbhVtYnhQcm9wZXJ0eURlZmluaXRpb24mU2ltcGxlUHJvdmlkZXJQcm9wZXJ0eURlZmluaXRpb24rZmxhZ3MXUHJvcGVydHlEZWZpbml0aW9uK25hbWUXUHJvcGVydHlEZWZpbml0aW9uK3R5cGUbUHJvcGVydHlEZWZpbml0aW9uK3R5cGVOYW1lOVByb3BlcnR5RGVmaW5pdGlvbityZXF1aXJlZFByb3BlcnR5RGVmaW5pdGlvbnNXaGVuUmVhZGluZwEDBAQEBAABAwEDFlN5c3RlbS5JRm9ybWF0UHJvdmlkZXI2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uAgAAADZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eURlZmluaXRpb24CAAAAOU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5NU2VydlByb3BlcnR5RGVmaW5pdGlvbgIAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTWJ4UHJvcGVydHlEZWZpbml0aW9uAgAAAAgfU3lzdGVtLlVuaXR5U2VyaWFsaXphdGlvbkhvbGRlcrMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSUNvbGxlY3Rpb25gMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlEZWZpbml0aW9uLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0CAAAABjYAAAAWbXNFeGNoQ29uZmlndXJhdGlvblhNTAoKCgoJNwAAAAAAAAAGOAAAABNDb25maWd1cmF0aW9uWE1MUmF3CTkAAAAGOgAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAQ8AAAAMAAAABjsAAAALc3lzdGVtRmxhZ3MKCgoKCkAAAAAGPAAAAAtTeXN0ZW1GbGFncwk9AAAABj4AAACYAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1GbGFnc0VudW0sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgUQAAAAMU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1GbGFnc0VudW0BAAAAB3ZhbHVlX18ACAIAAAAAAABAARIAAAAMAAAABj8AAAARZGlzdGluZ3Vpc2hlZE5hbWUKCgoJQAAAAAlBAAAAEAoAAAZCAAAAAklkCUMAAAAGRAAAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgUTAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAAS7////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBkYAAAALQ29udG9zby5sYWIBuf///7v///9ZHdv4Y6EMS7dU96qTvUmNBkgAAACZAUNOPUVuYWJsZVNpZ25pbmdWZXJpZmljYXRpb24sQ049U2V0dGluZyBPdmVycmlkZXMsQ049R2xvYmFsIFNldHRpbmdzLENOPUNvbnRvc28gTGFicyxDTj1NaWNyb3NvZnQgRXhjaGFuZ2UsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoIAAAABkkAAAAZRW5hYmxlU2lnbmluZ1ZlcmlmaWNhdGlvbglKAAAAARUAAAAMAAAABksAAAANbXNFeGNoVmVyc2lvbgoKCgoJTAAAAAACAAAGTQAAAA9FeGNoYW5nZVZlcnNpb24JTgAAAAZPAAAAigFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZU9iamVjdFZlcnNpb24sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBRYAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VPYmplY3RWZXJzaW9uAwAAAAVNYWpvcgVNaW5vcg1FeGNoYW5nZUJ1aWxkAAAEAgIlTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VCdWlsZAYAAAAGAAAAAAEFsP///yVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZUJ1aWxkBAAAAAVNYWpvcgVNaW5vcgVCdWlsZA1CdWlsZFJldmlzaW9uAAAAAAICDg4GAAAACAAXAgAAARgAAAAMAAAABlEAAAAEbmFtZQoKCglSAAAACVMAAAAAAgAABlQAAAAHUmF3TmFtZQk5AAAABlYAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgEbAAAADAAAAAZXAAAADm9iamVjdENhdGVnb3J5CgoKCglYAAAAQAgAAAZZAAAADk9iamVjdENhdGVnb3J5CUMAAAAGWwAAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgEcAAAAEwAAAAGk////u////3Evzlmi6t9NpPryUGnQsyQGXQAAAAtDb250b3NvLmxhYgGi////u////356jL0fCelBoj0mtbChAfsGXwAAAEdDTj1tcy1FeGNoLUNvbmZpZy1TZXR0aW5ncyxDTj1TY2hlbWEsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoEAAAABmAAAAA4Q29udG9zby5sYWIvQ29uZmlndXJhdGlvbi9TY2hlbWEvbXMtRXhjaC1Db25maWctU2V0dGluZ3MJSgAAAAEeAAAADAAAAAZiAAAAC29iamVjdENsYXNzCgoKCgljAAAAAwAAAAZkAAAAC09iamVjdENsYXNzCTkAAAAGZgAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKDGcAAABlTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQ29tbW9uLCBWZXJzaW9uPTE1LjEuMjUwMy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUFHwAAAIsBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTXVsdGlWYWx1ZWRQcm9wZXJ0eWAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQwAAAAUcmVhZE9ubHlFcnJvck1lc3NhZ2UKaXNSZWFkT25seRFpc0NoYW5nZXNPbmx5Q29weQp3YXNDbGVhcmVkB2NoYW5nZWQScHJvcGVydHlEZWZpbml0aW9uGXNlcmlhbGl6ZXJBc3NlbWJseVZlcnNpb24Yc2VyaWFsaXplZFByb3BlcnR5VmFsdWVzFXNlcmlhbGl6ZWRBZGRlZFZhbHVlcxdzZXJpYWxpemVkUmVtb3ZlZFZhbHVlcyhNdWx0aVZhbHVlZFByb3BlcnR5QmFzZStpc0NvbXBsZXRlbHlSZWFkM011bHRpVmFsdWVkUHJvcGVydHlCYXNlKzxWYWx1ZVJhbmdlPmtfX0JhY2tpbmdGaWVsZAQAAAAABAMFBQUABC5NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24uTG9jYWxpemVkU3RyaW5nZwAAAAEBAQE2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uAgAAAA5TeXN0ZW0uVmVyc2lvbgEgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuSW50UmFuZ2UGAAAABgAAAAWY////Lk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbi5Mb2NhbGl6ZWRTdHJpbmcIAAAAB2luc2VydHMIYmFzZU5hbWUMYXNzZW1ibHlOYW1lAmlkCHN0cmluZ0lkF3Nob3dTdHJpbmdJZEluVUlJZkVycm9yHXNob3dBc3Npc3RhbmNlSW5mb0luVUlJZkVycm9yCGZhbGxiYWNrBQEBAQEAAAEBAWcAAAAJaQAAAAZqAAAAI01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRhdGFTdHJpbmdzBmsAAABbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQZsAAAAGkVycm9yUmVhZE9ubHlDYXVzZVByb3BlcnR5Bm0AAAAIRXg1Q0I2NTAAAQZuAAAANlRoZSBwcm9wZXJ0eSAnezB9JyBpcyByZWFkLW9ubHkgYW5kIGNhbid0IGJlIG1vZGlmaWVkLgEAAAAJHgAAAAkEAAAACXEAAAAKCgEKASEAAAAMAAAACgoKCgoKAAEAAAZyAAAAC09iamVjdFN0YXRlCXMAAAAGdAAAAIABTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuT2JqZWN0U3RhdGUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBSIAAAAjTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuT2JqZWN0U3RhdGUBAAAAB3ZhbHVlX18ACAYAAAABAAAAASQAAAAMAAAACgoKCgoKAAEAAAZ1AAAAEU9yaWdpbmF0aW5nU2VydmVyCTkAAAAGdwAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAScAAAAMAAAABngAAAANY2Fub25pY2FsTmFtZQoKCgoJeQAAAAMAAAAGegAAABBSYXdDYW5vbmljYWxOYW1lCTkAAAAGfAAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKASgAAAAfAAAAAYP///+Y////CX4AAAAJagAAAAaAAAAAW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUJbAAAAAltAAAAAAEJbgAAAAEAAAAJJwAAAAkEAAAACYYAAAAKCgEKASoAAAAMAAAABocAAAALd2hlbkNyZWF0ZWQKCgoKCYgAAAABAAAABokAAAAOV2hlbkNyZWF0ZWRSYXcJOQAAAAaLAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBLQAAAAwAAAAGjAAAAAt3aGVuQ2hhbmdlZAoKCgoJjQAAAAEAAAAGjgAAAA5XaGVuQ2hhbmdlZFJhdwk5AAAABpAAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgEwAAAADAAAAAoKCgoKCgABAAAGkQAAAAtXaGVuUmVhZFVUQwmSAAAABpMAAAC+AVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uRGF0ZVRpbWUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKATIAAAAMAAAACgoKCgoKAAEAAAaUAAAACElzQ2FjaGVkCZUAAAAGlgAAAFtTeXN0ZW0uQm9vbGVhbiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgE0AAAADAAAAAoKCgoKCgABAAAGlwAAABREaXJlY3RvcnlCYWNrZW5kVHlwZQmYAAAABpkAAACdAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5EaXJlY3RvcnlCYWNrZW5kVHlwZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBTUAAAA2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkRpcmVjdG9yeUJhY2tlbmRUeXBlAQAAAAd2YWx1ZV9fAAICAAAAAQyaAAAAZE1pY3Jvc29mdC5FeGNoYW5nZS5TdG9yZVByb3ZpZGVyLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUFNwAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5NYnhQcm9wZXJ0eURlZmluaXRpb24HAAAAGDxQcm9wVGFnPmtfX0JhY2tpbmdGaWVsZBk8TWJ4RmxhZ3M+a19fQmFja2luZ0ZpZWxkJlNpbXBsZVByb3ZpZGVyUHJvcGVydHlEZWZpbml0aW9uK2ZsYWdzF1Byb3BlcnR5RGVmaW5pdGlvbituYW1lF1Byb3BlcnR5RGVmaW5pdGlvbit0eXBlG1Byb3BlcnR5RGVmaW5pdGlvbit0eXBlTmFtZTlQcm9wZXJ0eURlZmluaXRpb24rcmVxdWlyZWRQcm9wZXJ0eURlZmluaXRpb25zV2hlblJlYWRpbmcEBAABAwEDFk1pY3Jvc29mdC5NYXBpLlByb3BUYWeaAAAAPE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5NYnhQcm9wZXJ0eURlZmluaXRpb25GbGFncwIAAAAIH1N5c3RlbS5Vbml0eVNlcmlhbGl6YXRpb25Ib2xkZXKzAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLklDb2xsZWN0aW9uYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5RGVmaW5pdGlvbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dAgAAAAVl////Fk1pY3Jvc29mdC5NYXBpLlByb3BUYWcBAAAAB3ZhbHVlX18AD5oAAAAfAB8xBWT///88TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk1ieFByb3BlcnR5RGVmaW5pdGlvbkZsYWdzAQAAAAd2YWx1ZV9fAAkCAAAAAQAAAAAAAAAAAAAACTgAAAAJOQAAAAafAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoEOQAAAB9TeXN0ZW0uVW5pdHlTZXJpYWxpemF0aW9uSG9sZGVyAwAAAAREYXRhCVVuaXR5VHlwZQxBc3NlbWJseU5hbWUBAAEIBqAAAAANU3lzdGVtLlN0cmluZwQAAAAGoQAAAEttc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkBPQAAADkAAAAGogAAADFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuU3lzdGVtRmxhZ3NFbnVtBAAAAAajAAAAZU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BUAAAAA5TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk1TZXJ2UHJvcGVydHlEZWZpbml0aW9uBQAAACZTaW1wbGVQcm92aWRlclByb3BlcnR5RGVmaW5pdGlvbitmbGFncxdQcm9wZXJ0eURlZmluaXRpb24rbmFtZRdQcm9wZXJ0eURlZmluaXRpb24rdHlwZRtQcm9wZXJ0eURlZmluaXRpb24rdHlwZU5hbWU5UHJvcGVydHlEZWZpbml0aW9uK3JlcXVpcmVkUHJvcGVydHlEZWZpbml0aW9uc1doZW5SZWFkaW5nAAEDAQMIH1N5c3RlbS5Vbml0eVNlcmlhbGl6YXRpb25Ib2xkZXKzAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLklDb2xsZWN0aW9uYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5RGVmaW5pdGlvbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dAgAAAAQAAAAJQgAAAAlDAAAABqYAAACTAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBQQAAADcAAAABWf///2X///8BAAAAAVj///9k////AQAAAAAAAAAEAAAACUIAAAAJQwAAAAarAAAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAUMAAAA5AAAABqwAAAAsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQEAAAACaMAAAAFSgAAADBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQFAAAAB29yZ1VuaXQKY29uZmlnVW5pdAtwYXJ0aXRpb25JZB9leHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkI3NhZmVFeHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkBAQEAwMsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAAbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1tU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAKCgmuAAAACgoBTAAAADcAAAABUf///2X///8BAAAAAVD///9k////AQAAAAAAAAAEAAAACU0AAAAJTgAAAAazAAAAigFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZU9iamVjdFZlcnNpb24sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAU4AAAA5AAAABrQAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VPYmplY3RWZXJzaW9uBAAAAAa1AAAAW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUBUgAAAEAAAAAFAAAACVQAAAAJOQAAAAa4AAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBUwAAADcAAAABR////2X///8fAKsxAUb///9k////AQAAAAAAAAAAAAAACVQAAAAJOQAAAAa9AAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBWAAAADcAAAABQv///2X///8BAAAAAUH///9k////AQAAAAAAAAAEAAAACVkAAAAJQwAAAAbCAAAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAWMAAAA3AAAAAT3///9l////HxCMMQE8////ZP///wEAAAAAAAAAAgAAAAlkAAAACTkAAAAGxwAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKEGkAAAABAAAABsgAAAALT2JqZWN0Q2xhc3MQcQAAAAIAAAAGyQAAAAN0b3AGygAAABRtc0V4Y2hDb25maWdTZXR0aW5ncwFzAAAAOQAAAAbLAAAAI01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk9iamVjdFN0YXRlBAAAAAm1AAAAAXkAAAA3AAAAATP///9l////HxCnMQEy////ZP///wEAAAAAAAAAAgAAAAl6AAAACTkAAAAG0QAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKEH4AAAABAAAABtIAAAAQUmF3Q2Fub25pY2FsTmFtZRCGAAAAAQAAAAbTAAAAfkNvbnRvc28ubGFiL0NvbmZpZ3VyYXRpb24vU2VydmljZXMvTWljcm9zb2Z0IEV4Y2hhbmdlL0NvbnRvc28gTGFicy9HbG9iYWwgU2V0dGluZ3MvU2V0dGluZyBPdmVycmlkZXMvRW5hYmxlU2lnbmluZ1ZlcmlmaWNhdGlvbgGIAAAANwAAAAEs////Zf///x8ABDIBK////2T///8BAAAAAAAAAAAAAAAJiQAAAAk5AAAABtgAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGNAAAANwAAAAEn////Zf///x8AAzIBJv///2T///8BAAAAAAAAAAAAAAAJjgAAAAk5AAAABt0AAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgGSAAAAOQAAAAbeAAAAcVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uRGF0ZVRpbWUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBAAAAAmhAAAAAZUAAAA5AAAABuAAAAAOU3lzdGVtLkJvb2xlYW4EAAAACaEAAAABmAAAADkAAAAG4gAAADZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuRGlyZWN0b3J5QmFja2VuZFR5cGUEAAAACaMAAAAFrgAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAACmZvcmVzdEZRRE4RcGFydGl0aW9uT2JqZWN0SWQBA21TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAbkAAAAC0NvbnRvc28ubGFiCgs= + +
+
\ No newline at end of file diff --git a/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Tests/DataCollection/GetSettingOverridePSSigningEnabledOnSrv.xml b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Tests/DataCollection/GetSettingOverridePSSigningEnabledOnSrv.xml new file mode 100644 index 0000000000..48fd257475 --- /dev/null +++ b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Tests/DataCollection/GetSettingOverridePSSigningEnabledOnSrv.xml @@ -0,0 +1,169 @@ + + + + Microsoft.Exchange.Data.Directory.SystemConfiguration.ConfigurationSettings.SettingOverride + Microsoft.Exchange.Data.Directory.SystemConfiguration.ADConfigurationObject + Microsoft.Exchange.Data.Directory.ADObject + Microsoft.Exchange.Data.Directory.ADRawEntry + Microsoft.Exchange.Data.ConfigurableObject + System.Object + + EnableSigningVerification + + Data + EnableSerializationDataSigning + EXO + + Contoso.lab/Users/ContosoTech + Enabling Signing Verification + + + + + + System.String[] + System.Array + System.Object + + + E2k16-1 + + + false + + + Microsoft.Exchange.Data.MultiValuedProperty`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + Microsoft.Exchange.Data.MultiValuedPropertyBase + System.Object + + + Enabled=true + + + + + Microsoft.Exchange.Data.Directory.SystemConfiguration.ConfigurationSettings.SettingOverrideStatus + System.Enum + System.ValueType + System.Object + + Accepted + 3 + + <S CN="Data" SN="EnableSerializationDataSigning" MB="Contoso.lab/Users/ContosoTech" R="Enabling Signing Verification"><Ss><S>E2k16-1</S></Ss><Ps><P>Enabled=true</P></Ps></S> + + + + Microsoft.Exchange.Data.ExchangeObjectVersion + System.Object + + 0.1 (8.0.535.0) + + 1.0 (0.0.0.0) + 0.2 (0.0.0.0) + 0 + 1 + 8.0.535.0 + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQEAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VPYmplY3RWZXJzaW9uAwAAAAVNYWpvcgVNaW5vcg1FeGNoYW5nZUJ1aWxkAAAEAgIlTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VCdWlsZAIAAAACAAAAAAEF/f///yVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZUJ1aWxkBAAAAAVNYWpvcgVNaW5vcgVCdWlsZA1CdWlsZFJldmlzaW9uAAAAAAICDg4CAAAACAAXAgAACw== + + + EnableSigningVerification + CN=EnableSigningVerification,CN=Setting Overrides,CN=Global Settings,CN=Contoso Labs,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=lab + + + Microsoft.Exchange.Data.Directory.ADObjectId + Microsoft.Exchange.Data.ObjectId + System.Object + + EnableSigningVerification + + + false + CN=EnableSigningVerification + Setting Overrides + 8 + CN=EnableSigningVerification,CN=Setting Overrides,CN=Global Settings,CN=Contoso Labs,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=lab + false + Contoso.lab + 59ce2f71-eaa2-4ddf-a4fa-f25069d0b324 + Contoso.lab + ec1c4f8e-c677-4528-8110-668ef9bde51b + EnableSigningVerification + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAAT9////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBgQAAAALQ29udG9zby5sYWIB+/////3///+OTxzsd8YoRYEQZo75veUbBgYAAACZAUNOPUVuYWJsZVNpZ25pbmdWZXJpZmljYXRpb24sQ049U2V0dGluZyBPdmVycmlkZXMsQ049R2xvYmFsIFNldHRpbmdzLENOPUNvbnRvc28gTGFicyxDTj1NaWNyb3NvZnQgRXhjaGFuZ2UsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoIAAAABgcAAAAZRW5hYmxlU2lnbmluZ1ZlcmlmaWNhdGlvbgkIAAAABQgAAAAwTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk9yZ2FuaXphdGlvbklkBQAAAAdvcmdVbml0CmNvbmZpZ1VuaXQLcGFydGl0aW9uSWQfZXh0ZXJuYWxEaXJlY3RvcnlPcmdhbml6YXRpb25JZCNzYWZlRXh0ZXJuYWxEaXJlY3RvcnlPcmdhbml6YXRpb25JZAQEBAMDLE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAACxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlBhcnRpdGlvbklkAgAAAG1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAACgoJCQAAAAoKBQkAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlBhcnRpdGlvbklkAgAAAApmb3Jlc3RGUUROEXBhcnRpdGlvbk9iamVjdElkAQNtU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAGCgAAAAtDb250b3NvLmxhYgoL + + + ec1c4f8e-c677-4528-8110-668ef9bde51b + + + Contoso.lab/Configuration/Schema/ms-Exch-Config-Settings + + + false + CN=ms-Exch-Config-Settings + Contoso.lab/Configuration/Schema + 4 + CN=ms-Exch-Config-Settings,CN=Schema,CN=Configuration,DC=Contoso,DC=lab + false + Contoso.lab + 59ce2f71-eaa2-4ddf-a4fa-f25069d0b324 + Contoso.lab + bd8c7a7e-091f-41e9-a23d-26b5b0a101fb + ms-Exch-Config-Settings + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAAT9////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkBgQAAAALQ29udG9zby5sYWIB+/////3///9+eoy9HwnpQaI9JrWwoQH7BgYAAABHQ049bXMtRXhjaC1Db25maWctU2V0dGluZ3MsQ049U2NoZW1hLENOPUNvbmZpZ3VyYXRpb24sREM9Q29udG9zbyxEQz1sYWIKBAAAAAYHAAAAOENvbnRvc28ubGFiL0NvbmZpZ3VyYXRpb24vU2NoZW1hL21zLUV4Y2gtQ29uZmlnLVNldHRpbmdzCQgAAAAFCAAAADBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQFAAAAB29yZ1VuaXQKY29uZmlnVW5pdAtwYXJ0aXRpb25JZB9leHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkI3NhZmVFeHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkBAQEAwMsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAAbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1tU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAKCgkJAAAACgoFCQAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAACmZvcmVzdEZRRE4RcGFydGl0aW9uT2JqZWN0SWQBA21TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAYKAAAAC0NvbnRvc28ubGFiCgs= + + + + + + top + msExchConfigSettings + + +
2023-01-04T11:10:31+00:00
+
2023-01-04T11:10:31+00:00
+
2023-01-04T11:10:31Z
+
2023-01-04T11:10:31Z
+ + + Microsoft.Exchange.Data.Directory.OrganizationId + System.Object + + + + + + false + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAME1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5Pcmdhbml6YXRpb25JZAUAAAAHb3JnVW5pdApjb25maWdVbml0C3BhcnRpdGlvbklkH2V4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQjc2FmZUV4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQEBAQDAyxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAABtU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXW1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAoKCgoKCw== + + + + DC-1.Contoso.lab + true + + + Microsoft.Exchange.Data.ObjectState + System.Enum + System.ValueType + System.Object + + Unchanged + 1 + +
+ + e2k16-2.contoso.lab + 6bf6b65b-142a-4a62-8e9d-a127a9dfb5e1 + false + AAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLkNvbmZpZ3VyYXRpb25TZXR0aW5ncy5TZXR0aW5nT3ZlcnJpZGUJAAAAC3Byb3BlcnR5QmFnIUFEQ29uZmlndXJhdGlvbk9iamVjdCtwcm9wZXJ0eUJhZxRBRE9iamVjdCtwcm9wZXJ0eUJhZyxBRFJhd0VudHJ5KzxNc2VydlByb3BlcnR5QmFnPmtfX0JhY2tpbmdGaWVsZCpBRFJhd0VudHJ5KzxNYnhQcm9wZXJ0eUJhZz5rX19CYWNraW5nRmllbGQWQURSYXdFbnRyeStwcm9wZXJ0eUJhZx5Db25maWd1cmFibGVPYmplY3QrcHJvcGVydHlCYWcsQ29uZmlndXJhYmxlT2JqZWN0K3NlcmlhbGl6ZXJBc3NlbWJseVZlcnNpb24mQ29uZmlndXJhYmxlT2JqZWN0K2luc3RhbnRpYXRpb25FcnJvcnMEBAQEBAQEAwMvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAADlN5c3RlbS5WZXJzaW9uqQFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlZhbGlkYXRpb25FcnJvciwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dAgAAAAkDAAAACQMAAAAJAwAAAAoKCQMAAAAJAwAAAAkEAAAACQUAAAAMBgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQMAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcGAAAAFFByb3BlcnR5QmFnK3JlYWRPbmx5G1Byb3BlcnR5QmFnK3N0b3JlVmFsdWVzT25seSdQcm9wZXJ0eUJhZyt0cmVhdFN3aXRjaGFibGVBc1ZhbHVlc09ubHklUHJvcGVydHlCYWcrc2VyaWFsaXplckFzc2VtYmx5VmVyc2lvbiNQcm9wZXJ0eUJhZytzZXJpYWxpemVkQ3VycmVudFZhbHVlcyRQcm9wZXJ0eUJhZytzZXJpYWxpemVkT3JpZ2luYWxWYWx1ZXMAAAADBAQBAQEOU3lzdGVtLlZlcnNpb24vTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyW10GAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcltdBgAAAAIAAAAAAAAJBAAAAAkIAAAACQkAAAAEBAAAAA5TeXN0ZW0uVmVyc2lvbgQAAAAGX01ham9yBl9NaW5vcgZfQnVpbGQJX1JldmlzaW9uAAAAAAgICAgPAAAAAAAAAAAAAAAAAAAABAUAAACpAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVmFsaWRhdGlvbkVycm9yLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVyc2lvbgQAAClNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5WYWxpZGF0aW9uRXJyb3JbXQYAAAAICAkKAAAAAAAAAAAAAAAHCAAAAAABAAAADwAAAAQtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyBgAAAAX1////LU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcgIAAAADS2V5BVZhbHVlBAI2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uAgAAAAYAAAAJDAAAAAYNAAAArQE8UyBDTj0iRGF0YSIgU049IkVuYWJsZVNlcmlhbGl6YXRpb25EYXRhU2lnbmluZyIgTUI9IkNvbnRvc28ubGFiL1VzZXJzL0NvbnRvc29UZWNoIiBSPSJFbmFibGluZyBTaWduaW5nIFZlcmlmaWNhdGlvbiI+PFNzPjxTPkUyazE2LTE8L1M+PC9Tcz48UHM+PFA+RW5hYmxlZD10cnVlPC9QPjwvUHM+PC9TPgHy////9f///wkPAAAACRAAAAAB7/////X///8JEgAAAAkTAAAAAez////1////CRUAAAAJFgAAAAHp////9f///wkYAAAABhkAAAAZRW5hYmxlU2lnbmluZ1ZlcmlmaWNhdGlvbgHm////9f///wkbAAAACRwAAAAB4/////X///8JHgAAAAkfAAAAAeD////1////CSEAAAAJIgAAAAHd////9f///wkkAAAABiUAAAAQREMtMS5Db250b3NvLmxhYgHa////9f///wknAAAACSgAAAAB1/////X///8JKgAAAAYrAAAAETIwMjMwMTA0MTExMDMxLjBaAdT////1////CS0AAAAGLgAAABEyMDIzMDEwNDExMTAzMS4wWgHR////9f///wkwAAAACA2WtF9SRO7aSAHP////9f///wkyAAAACAEAAc3////1////CTQAAAAJNQAAAAcJAAAAAAEAAAAAAAAABC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Qcm9wZXJ0eUJhZytWYWx1ZVBhaXIGAAAABwoAAAAAAQAAAAAAAAAEJ01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlZhbGlkYXRpb25FcnJvcgYAAAAFDAAAADZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eURlZmluaXRpb24LAAAAD2xkYXBEaXNwbGF5TmFtZQ5mb3JtYXRQcm92aWRlcg5zaGFkb3dQcm9wZXJ0eRZzb2Z0TGlua1NoYWRvd1Byb3BlcnR5F21zZXJ2UHJvcGVydHlEZWZpbml0aW9uFW1ieFByb3BlcnR5RGVmaW5pdGlvbiZTaW1wbGVQcm92aWRlclByb3BlcnR5RGVmaW5pdGlvbitmbGFncxdQcm9wZXJ0eURlZmluaXRpb24rbmFtZRdQcm9wZXJ0eURlZmluaXRpb24rdHlwZRtQcm9wZXJ0eURlZmluaXRpb24rdHlwZU5hbWU5UHJvcGVydHlEZWZpbml0aW9uK3JlcXVpcmVkUHJvcGVydHlEZWZpbml0aW9uc1doZW5SZWFkaW5nAQMEBAQEAAEDAQMWU3lzdGVtLklGb3JtYXRQcm92aWRlcjZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eURlZmluaXRpb24CAAAANk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5RGVmaW5pdGlvbgIAAAA5TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk1TZXJ2UHJvcGVydHlEZWZpbml0aW9uAgAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5NYnhQcm9wZXJ0eURlZmluaXRpb24CAAAACB9TeXN0ZW0uVW5pdHlTZXJpYWxpemF0aW9uSG9sZGVyswFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JQ29sbGVjdGlvbmAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Qcm9wZXJ0eURlZmluaXRpb24sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQIAAAAGNgAAABZtc0V4Y2hDb25maWd1cmF0aW9uWE1MCgoKCgk3AAAAAAAAAAY4AAAAE0NvbmZpZ3VyYXRpb25YTUxSYXcJOQAAAAY6AAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBDwAAAAwAAAAGOwAAAAtzeXN0ZW1GbGFncwoKCgoKQAAAAAY8AAAAC1N5c3RlbUZsYWdzCT0AAAAGPgAAAJgBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlN5c3RlbUZsYWdzRW51bSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBRAAAAAxTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlN5c3RlbUZsYWdzRW51bQEAAAAHdmFsdWVfXwAIAgAAAAAAAEABEgAAAAwAAAAGPwAAABFkaXN0aW5ndWlzaGVkTmFtZQoKCglAAAAACUEAAAAQCgAABkIAAAACSWQJQwAAAAZEAAAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBRMAAAAsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQIAAAADXBhcnRpdGlvbkd1aWQNcGFydGl0aW9uRnFkbgpvYmplY3RHdWlkEWRpc3Rpbmd1aXNoZWROYW1lGHNlY3VyaXR5SWRlbnRpZmllclN0cmluZwVkZXB0aAt0b1N0cmluZ1ZhbBlleGVjdXRpbmdVc2VyT3JnYW5pemF0aW9uAwEDAQEAAQQLU3lzdGVtLkd1aWQLU3lzdGVtLkd1aWQIME1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5Pcmdhbml6YXRpb25JZAIAAAACAAAABLv///8LU3lzdGVtLkd1aWQLAAAAAl9hAl9iAl9jAl9kAl9lAl9mAl9nAl9oAl9pAl9qAl9rAAAAAAAAAAAAAAAIBwcCAgICAgICAnEvzlmi6t9NpPryUGnQsyQGRgAAAAtDb250b3NvLmxhYgG5////u////45PHOx3xihFgRBmjvm95RsGSAAAAJkBQ049RW5hYmxlU2lnbmluZ1ZlcmlmaWNhdGlvbixDTj1TZXR0aW5nIE92ZXJyaWRlcyxDTj1HbG9iYWwgU2V0dGluZ3MsQ049Q29udG9zbyBMYWJzLENOPU1pY3Jvc29mdCBFeGNoYW5nZSxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUNvbnRvc28sREM9bGFiCggAAAAGSQAAABlFbmFibGVTaWduaW5nVmVyaWZpY2F0aW9uCUoAAAABFQAAAAwAAAAGSwAAAA1tc0V4Y2hWZXJzaW9uCgoKCglMAAAAAAIAAAZNAAAAD0V4Y2hhbmdlVmVyc2lvbglOAAAABk8AAACKAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlT2JqZWN0VmVyc2lvbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFFgAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZU9iamVjdFZlcnNpb24DAAAABU1ham9yBU1pbm9yDUV4Y2hhbmdlQnVpbGQAAAQCAiVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZUJ1aWxkBgAAAAYAAAAAAQWw////JU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlQnVpbGQEAAAABU1ham9yBU1pbm9yBUJ1aWxkDUJ1aWxkUmV2aXNpb24AAAAAAgIODgYAAAAIABcCAAABGAAAAAwAAAAGUQAAAARuYW1lCgoKCVIAAAAJUwAAAAACAAAGVAAAAAdSYXdOYW1lCTkAAAAGVgAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKARsAAAAMAAAABlcAAAAOb2JqZWN0Q2F0ZWdvcnkKCgoKCVgAAABACAAABlkAAAAOT2JqZWN0Q2F0ZWdvcnkJQwAAAAZbAAAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKARwAAAATAAAAAaT///+7////cS/OWaLq302k+vJQadCzJAZdAAAAC0NvbnRvc28ubGFiAaL///+7////fnqMvR8J6UGiPSa1sKEB+wZfAAAAR0NOPW1zLUV4Y2gtQ29uZmlnLVNldHRpbmdzLENOPVNjaGVtYSxDTj1Db25maWd1cmF0aW9uLERDPUNvbnRvc28sREM9bGFiCgQAAAAGYAAAADhDb250b3NvLmxhYi9Db25maWd1cmF0aW9uL1NjaGVtYS9tcy1FeGNoLUNvbmZpZy1TZXR0aW5ncwlKAAAAAR4AAAAMAAAABmIAAAALb2JqZWN0Q2xhc3MKCgoKCWMAAAADAAAABmQAAAALT2JqZWN0Q2xhc3MJOQAAAAZmAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoMZwAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24sIFZlcnNpb249MTUuMS4yNTAzLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUfAAAAiwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5NdWx0aVZhbHVlZFByb3BlcnR5YDFbW1N5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dDAAAABRyZWFkT25seUVycm9yTWVzc2FnZQppc1JlYWRPbmx5EWlzQ2hhbmdlc09ubHlDb3B5Cndhc0NsZWFyZWQHY2hhbmdlZBJwcm9wZXJ0eURlZmluaXRpb24Zc2VyaWFsaXplckFzc2VtYmx5VmVyc2lvbhhzZXJpYWxpemVkUHJvcGVydHlWYWx1ZXMVc2VyaWFsaXplZEFkZGVkVmFsdWVzF3NlcmlhbGl6ZWRSZW1vdmVkVmFsdWVzKE11bHRpVmFsdWVkUHJvcGVydHlCYXNlK2lzQ29tcGxldGVseVJlYWQzTXVsdGlWYWx1ZWRQcm9wZXJ0eUJhc2UrPFZhbHVlUmFuZ2U+a19fQmFja2luZ0ZpZWxkBAAAAAAEAwUFBQAELk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbi5Mb2NhbGl6ZWRTdHJpbmdnAAAAAQEBATZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eURlZmluaXRpb24CAAAADlN5c3RlbS5WZXJzaW9uASBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5JbnRSYW5nZQYAAAAGAAAABZj///8uTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQ29tbW9uLkxvY2FsaXplZFN0cmluZwgAAAAHaW5zZXJ0cwhiYXNlTmFtZQxhc3NlbWJseU5hbWUCaWQIc3RyaW5nSWQXc2hvd1N0cmluZ0lkSW5VSUlmRXJyb3Idc2hvd0Fzc2lzdGFuY2VJbmZvSW5VSUlmRXJyb3IIZmFsbGJhY2sFAQEBAQAAAQEBZwAAAAlpAAAABmoAAAAjTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGF0YVN0cmluZ3MGawAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BmwAAAAaRXJyb3JSZWFkT25seUNhdXNlUHJvcGVydHkGbQAAAAhFeDVDQjY1MAABBm4AAAA2VGhlIHByb3BlcnR5ICd7MH0nIGlzIHJlYWQtb25seSBhbmQgY2FuJ3QgYmUgbW9kaWZpZWQuAQAAAAkeAAAACQQAAAAJcQAAAAoKAQoBIQAAAAwAAAAKCgoKCgoAAQAABnIAAAALT2JqZWN0U3RhdGUJcwAAAAZ0AAAAgAFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5PYmplY3RTdGF0ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFIgAAACNNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5PYmplY3RTdGF0ZQEAAAAHdmFsdWVfXwAIBgAAAAEAAAABJAAAAAwAAAAKCgoKCgoAAQAABnUAAAART3JpZ2luYXRpbmdTZXJ2ZXIJOQAAAAZ3AAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBJwAAAAwAAAAGeAAAAA1jYW5vbmljYWxOYW1lCgoKCgl5AAAAAwAAAAZ6AAAAEFJhd0Nhbm9uaWNhbE5hbWUJOQAAAAZ8AAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBKAAAAB8AAAABg////5j///8JfgAAAAlqAAAABoAAAABbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQlsAAAACW0AAAAAAQluAAAAAQAAAAknAAAACQQAAAAJhgAAAAoKAQoBKgAAAAwAAAAGhwAAAAt3aGVuQ3JlYXRlZAoKCgoJiAAAAAEAAAAGiQAAAA5XaGVuQ3JlYXRlZFJhdwk5AAAABosAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgEtAAAADAAAAAaMAAAAC3doZW5DaGFuZ2VkCgoKCgmNAAAAAQAAAAaOAAAADldoZW5DaGFuZ2VkUmF3CTkAAAAGkAAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKATAAAAAMAAAACgoKCgoKAAEAAAaRAAAAC1doZW5SZWFkVVRDCZIAAAAGkwAAAL4BU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5EYXRlVGltZSwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBMgAAAAwAAAAKCgoKCgoAAQAABpQAAAAISXNDYWNoZWQJlQAAAAaWAAAAW1N5c3RlbS5Cb29sZWFuLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKATQAAAAMAAAACgoKCgoKAAEAAAaXAAAAFERpcmVjdG9yeUJhY2tlbmRUeXBlCZgAAAAGmQAAAJ0BTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkRpcmVjdG9yeUJhY2tlbmRUeXBlLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFNQAAADZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuRGlyZWN0b3J5QmFja2VuZFR5cGUBAAAAB3ZhbHVlX18AAgIAAAABDJoAAABkTWljcm9zb2Z0LkV4Y2hhbmdlLlN0b3JlUHJvdmlkZXIsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQU3AAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk1ieFByb3BlcnR5RGVmaW5pdGlvbgcAAAAYPFByb3BUYWc+a19fQmFja2luZ0ZpZWxkGTxNYnhGbGFncz5rX19CYWNraW5nRmllbGQmU2ltcGxlUHJvdmlkZXJQcm9wZXJ0eURlZmluaXRpb24rZmxhZ3MXUHJvcGVydHlEZWZpbml0aW9uK25hbWUXUHJvcGVydHlEZWZpbml0aW9uK3R5cGUbUHJvcGVydHlEZWZpbml0aW9uK3R5cGVOYW1lOVByb3BlcnR5RGVmaW5pdGlvbityZXF1aXJlZFByb3BlcnR5RGVmaW5pdGlvbnNXaGVuUmVhZGluZwQEAAEDAQMWTWljcm9zb2Z0Lk1hcGkuUHJvcFRhZ5oAAAA8TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk1ieFByb3BlcnR5RGVmaW5pdGlvbkZsYWdzAgAAAAgfU3lzdGVtLlVuaXR5U2VyaWFsaXphdGlvbkhvbGRlcrMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSUNvbGxlY3Rpb25gMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlEZWZpbml0aW9uLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0CAAAABWX///8WTWljcm9zb2Z0Lk1hcGkuUHJvcFRhZwEAAAAHdmFsdWVfXwAPmgAAAB8AHzEFZP///zxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuTWJ4UHJvcGVydHlEZWZpbml0aW9uRmxhZ3MBAAAAB3ZhbHVlX18ACQIAAAABAAAAAAAAAAAAAAAJOAAAAAk5AAAABp8AAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgQ5AAAAH1N5c3RlbS5Vbml0eVNlcmlhbGl6YXRpb25Ib2xkZXIDAAAABERhdGEJVW5pdHlUeXBlDEFzc2VtYmx5TmFtZQEAAQgGoAAAAA1TeXN0ZW0uU3RyaW5nBAAAAAahAAAAS21zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQE9AAAAOQAAAAaiAAAAMU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1GbGFnc0VudW0EAAAABqMAAABlTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUFQAAAADlNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuTVNlcnZQcm9wZXJ0eURlZmluaXRpb24FAAAAJlNpbXBsZVByb3ZpZGVyUHJvcGVydHlEZWZpbml0aW9uK2ZsYWdzF1Byb3BlcnR5RGVmaW5pdGlvbituYW1lF1Byb3BlcnR5RGVmaW5pdGlvbit0eXBlG1Byb3BlcnR5RGVmaW5pdGlvbit0eXBlTmFtZTlQcm9wZXJ0eURlZmluaXRpb24rcmVxdWlyZWRQcm9wZXJ0eURlZmluaXRpb25zV2hlblJlYWRpbmcAAQMBAwgfU3lzdGVtLlVuaXR5U2VyaWFsaXphdGlvbkhvbGRlcrMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSUNvbGxlY3Rpb25gMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlEZWZpbml0aW9uLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0CAAAABAAAAAlCAAAACUMAAAAGpgAAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFBAAAANwAAAAFZ////Zf///wEAAAABWP///2T///8BAAAAAAAAAAQAAAAJQgAAAAlDAAAABqsAAACTAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBQwAAADkAAAAGrAAAACxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAQAAAAJowAAAAVKAAAAME1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5Pcmdhbml6YXRpb25JZAUAAAAHb3JnVW5pdApjb25maWdVbml0C3BhcnRpdGlvbklkH2V4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQjc2FmZUV4dGVybmFsRGlyZWN0b3J5T3JnYW5pemF0aW9uSWQEBAQDAyxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAABtU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXW1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAoKCa4AAAAKCgFMAAAANwAAAAFR////Zf///wEAAAABUP///2T///8BAAAAAAAAAAQAAAAJTQAAAAlOAAAABrMAAACKAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlT2JqZWN0VmVyc2lvbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBTgAAADkAAAAGtAAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZU9iamVjdFZlcnNpb24EAAAABrUAAABbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQFSAAAAQAAAAAUAAAAJVAAAAAk5AAAABrgAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgFTAAAANwAAAAFH////Zf///x8AqzEBRv///2T///8BAAAAAAAAAAAAAAAJVAAAAAk5AAAABr0AAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgFYAAAANwAAAAFC////Zf///wEAAAABQf///2T///8BAAAAAAAAAAQAAAAJWQAAAAlDAAAABsIAAACTAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBYwAAADcAAAABPf///2X///8fEIwxATz///9k////AQAAAAAAAAACAAAACWQAAAAJOQAAAAbHAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoQaQAAAAEAAAAGyAAAAAtPYmplY3RDbGFzcxBxAAAAAgAAAAbJAAAAA3RvcAbKAAAAFG1zRXhjaENvbmZpZ1NldHRpbmdzAXMAAAA5AAAABssAAAAjTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuT2JqZWN0U3RhdGUEAAAACbUAAAABeQAAADcAAAABM////2X///8fEKcxATL///9k////AQAAAAAAAAACAAAACXoAAAAJOQAAAAbRAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoQfgAAAAEAAAAG0gAAABBSYXdDYW5vbmljYWxOYW1lEIYAAAABAAAABtMAAAB+Q29udG9zby5sYWIvQ29uZmlndXJhdGlvbi9TZXJ2aWNlcy9NaWNyb3NvZnQgRXhjaGFuZ2UvQ29udG9zbyBMYWJzL0dsb2JhbCBTZXR0aW5ncy9TZXR0aW5nIE92ZXJyaWRlcy9FbmFibGVTaWduaW5nVmVyaWZpY2F0aW9uAYgAAAA3AAAAASz///9l////HwAEMgEr////ZP///wEAAAAAAAAAAAAAAAmJAAAACTkAAAAG2AAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAY0AAAA3AAAAASf///9l////HwADMgEm////ZP///wEAAAAAAAAAAAAAAAmOAAAACTkAAAAG3QAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAZIAAAA5AAAABt4AAABxU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5EYXRlVGltZSwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0EAAAACaEAAAABlQAAADkAAAAG4AAAAA5TeXN0ZW0uQm9vbGVhbgQAAAAJoQAAAAGYAAAAOQAAAAbiAAAANk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5EaXJlY3RvcnlCYWNrZW5kVHlwZQQAAAAJowAAAAWuAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5QYXJ0aXRpb25JZAIAAAAKZm9yZXN0RlFEThFwYXJ0aXRpb25PYmplY3RJZAEDbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAABuQAAAALQ29udG9zby5sYWIKCw== + +
+
\ No newline at end of file diff --git a/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Tests/DataCollection/GetSettingOverridePSSigningMultipleOverrides.xml b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Tests/DataCollection/GetSettingOverridePSSigningMultipleOverrides.xml new file mode 100644 index 0000000000..709598b8b8 --- /dev/null +++ b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Tests/DataCollection/GetSettingOverridePSSigningMultipleOverrides.xml @@ -0,0 +1,130 @@ + + + + Deserialized.Microsoft.Exchange.Data.Directory.SystemConfiguration.ConfigurationSettings.SettingOverride + Deserialized.Microsoft.Exchange.Data.Directory.SystemConfiguration.ADConfigurationObject + Deserialized.Microsoft.Exchange.Data.Directory.ADObject + Deserialized.Microsoft.Exchange.Data.Directory.ADRawEntry + Deserialized.Microsoft.Exchange.Data.ConfigurableObject + Deserialized.System.Object + + EnableeSigningVerificationOnOrg + + Data + EnableSerializationDataSigning + EXO + + Contoso.lab/Users/ContosoTech + Enabling Signing Verification + + + + + false + + + Deserialized.Microsoft.Exchange.Data.MultiValuedProperty`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] + Deserialized.Microsoft.Exchange.Data.MultiValuedPropertyBase + Deserialized.System.Object + + + Enabled=true + + + Accepted + <S CN="Data" SN="EnableSerializationDataSigning" MB="Contoso.lab/Users/ContosoTech" R="Enabling Signing Verification"><Ps><P>Enabled=true</P></Ps></S> + + 0.1 (8.0.535.0) + EnableeSigningVerificationOnOrg + CN=EnableeSigningVerificationOnOrg,CN=Setting Overrides,CN=Global Settings,CN=Contoso Labs,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=lab + EnableeSigningVerificationOnOrg + edb335d6-d498-45fd-8a4b-7c39f7b39540 + Contoso.lab/Configuration/Schema/ms-Exch-Config-Settings + + + + top + msExchConfigSettings + + +
2023-01-04T11:25:18+00:00
+
2023-01-04T11:25:18+00:00
+
2023-01-04T11:25:18Z
+
2023-01-04T11:25:18Z
+ + EnableeSigningVerificationOnOrg + DC-1.Contoso.lab + true + Unchanged +
+ + AAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLkNvbmZpZ3VyYXRpb25TZXR0aW5ncy5TZXR0aW5nT3ZlcnJpZGUJAAAAC3Byb3BlcnR5QmFnIUFEQ29uZmlndXJhdGlvbk9iamVjdCtwcm9wZXJ0eUJhZxRBRE9iamVjdCtwcm9wZXJ0eUJhZyxBRFJhd0VudHJ5KzxNc2VydlByb3BlcnR5QmFnPmtfX0JhY2tpbmdGaWVsZCpBRFJhd0VudHJ5KzxNYnhQcm9wZXJ0eUJhZz5rX19CYWNraW5nRmllbGQWQURSYXdFbnRyeStwcm9wZXJ0eUJhZx5Db25maWd1cmFibGVPYmplY3QrcHJvcGVydHlCYWcsQ29uZmlndXJhYmxlT2JqZWN0K3NlcmlhbGl6ZXJBc3NlbWJseVZlcnNpb24mQ29uZmlndXJhYmxlT2JqZWN0K2luc3RhbnRpYXRpb25FcnJvcnMEBAQEBAQEAwMvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAADlN5c3RlbS5WZXJzaW9uqQFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlZhbGlkYXRpb25FcnJvciwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dAgAAAAkDAAAACQMAAAAJAwAAAAoKCQMAAAAJAwAAAAkEAAAACQUAAAAMBgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQMAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcGAAAAFFByb3BlcnR5QmFnK3JlYWRPbmx5G1Byb3BlcnR5QmFnK3N0b3JlVmFsdWVzT25seSdQcm9wZXJ0eUJhZyt0cmVhdFN3aXRjaGFibGVBc1ZhbHVlc09ubHklUHJvcGVydHlCYWcrc2VyaWFsaXplckFzc2VtYmx5VmVyc2lvbiNQcm9wZXJ0eUJhZytzZXJpYWxpemVkQ3VycmVudFZhbHVlcyRQcm9wZXJ0eUJhZytzZXJpYWxpemVkT3JpZ2luYWxWYWx1ZXMAAAADBAQBAQEOU3lzdGVtLlZlcnNpb24vTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyW10GAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcltdBgAAAAIAAAAAAAAJBAAAAAkIAAAACQkAAAAEBAAAAA5TeXN0ZW0uVmVyc2lvbgQAAAAGX01ham9yBl9NaW5vcgZfQnVpbGQJX1JldmlzaW9uAAAAAAgICAgPAAAAAAAAAAAAAAAAAAAABAUAAACpAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVmFsaWRhdGlvbkVycm9yLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVyc2lvbgQAAClNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5WYWxpZGF0aW9uRXJyb3JbXQYAAAAICAkKAAAAAAAAAAAAAAAHCAAAAAABAAAADwAAAAQtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyBgAAAAX1////LU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcgIAAAADS2V5BVZhbHVlBAI2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uAgAAAAYAAAAJDAAAAAkNAAAAAfL////1////CQ8AAAAJEAAAAAHv////9f///wkSAAAABhMAAACWATxTIENOPSJEYXRhIiBTTj0iRW5hYmxlU2VyaWFsaXphdGlvbkRhdGFTaWduaW5nIiBNQj0iQ29udG9zby5sYWIvVXNlcnMvQ29udG9zb1RlY2giIFI9IkVuYWJsaW5nIFNpZ25pbmcgVmVyaWZpY2F0aW9uIj48UHM+PFA+RW5hYmxlZD10cnVlPC9QPjwvUHM+PC9TPgHs////9f///wkVAAAACRYAAAAB6f////X///8JGAAAAAYZAAAAH0VuYWJsZWVTaWduaW5nVmVyaWZpY2F0aW9uT25PcmcB5v////X///8JGwAAAAkcAAAAAeP////1////CR4AAAAJHwAAAAHg////9f///wkhAAAACSIAAAAB3f////X///8JJAAAAAYlAAAAETIwMjMwMTA0MTEyNTE4LjBaAdr////1////CScAAAAGKAAAABEyMDIzMDEwNDExMjUxOC4wWgHX////9f///wkqAAAACSsAAAAB1P////X///8JLQAAAAYuAAAAEERDLTEuQ29udG9zby5sYWIB0f////X///8JMAAAAAgNxccgZ0bu2kgBz/////X///8JMgAAAAgBAAHN////9f///wk0AAAACTUAAAAHCQAAAAABAAAAAAAAAAQtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyBgAAAAcKAAAAAAEAAAAAAAAABCdNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5WYWxpZGF0aW9uRXJyb3IGAAAABQwAAAA2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uCwAAAA9sZGFwRGlzcGxheU5hbWUOZm9ybWF0UHJvdmlkZXIOc2hhZG93UHJvcGVydHkWc29mdExpbmtTaGFkb3dQcm9wZXJ0eRdtc2VydlByb3BlcnR5RGVmaW5pdGlvbhVtYnhQcm9wZXJ0eURlZmluaXRpb24mU2ltcGxlUHJvdmlkZXJQcm9wZXJ0eURlZmluaXRpb24rZmxhZ3MXUHJvcGVydHlEZWZpbml0aW9uK25hbWUXUHJvcGVydHlEZWZpbml0aW9uK3R5cGUbUHJvcGVydHlEZWZpbml0aW9uK3R5cGVOYW1lOVByb3BlcnR5RGVmaW5pdGlvbityZXF1aXJlZFByb3BlcnR5RGVmaW5pdGlvbnNXaGVuUmVhZGluZwEDBAQEBAABAwEDFlN5c3RlbS5JRm9ybWF0UHJvdmlkZXI2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uAgAAADZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eURlZmluaXRpb24CAAAAOU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5NU2VydlByb3BlcnR5RGVmaW5pdGlvbgIAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTWJ4UHJvcGVydHlEZWZpbml0aW9uAgAAAAgfU3lzdGVtLlVuaXR5U2VyaWFsaXphdGlvbkhvbGRlcrMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSUNvbGxlY3Rpb25gMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlEZWZpbml0aW9uLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0CAAAABjYAAAARZGlzdGluZ3Vpc2hlZE5hbWUKCgoJNwAAAAk4AAAAEAoAAAY5AAAAAklkCToAAAAGOwAAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgUNAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkCAAAAA1wYXJ0aXRpb25HdWlkDXBhcnRpdGlvbkZxZG4Kb2JqZWN0R3VpZBFkaXN0aW5ndWlzaGVkTmFtZRhzZWN1cml0eUlkZW50aWZpZXJTdHJpbmcFZGVwdGgLdG9TdHJpbmdWYWwZZXhlY3V0aW5nVXNlck9yZ2FuaXphdGlvbgMBAwEBAAEEC1N5c3RlbS5HdWlkC1N5c3RlbS5HdWlkCDBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQCAAAAAgAAAATE////C1N5c3RlbS5HdWlkCwAAAAJfYQJfYgJfYwJfZAJfZQJfZgJfZwJfaAJfaQJfagJfawAAAAAAAAAAAAAACAcHAgICAgICAgJxL85ZourfTaT68lBp0LMkCgHD////xP///9Y1s+2Y1P1Fikt8OfezlUAGPgAAAJ8BQ049RW5hYmxlZVNpZ25pbmdWZXJpZmljYXRpb25Pbk9yZyxDTj1TZXR0aW5nIE92ZXJyaWRlcyxDTj1HbG9iYWwgU2V0dGluZ3MsQ049Q29udG9zbyBMYWJzLENOPU1pY3Jvc29mdCBFeGNoYW5nZSxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPUNvbnRvc28sREM9bGFiCggAAAAGPwAAAB9FbmFibGVlU2lnbmluZ1ZlcmlmaWNhdGlvbk9uT3JnCUAAAAABDwAAAAwAAAAGQQAAAA1tc0V4Y2hWZXJzaW9uCgoKCglCAAAAAAIAAAZDAAAAD0V4Y2hhbmdlVmVyc2lvbglEAAAABkUAAACKAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlT2JqZWN0VmVyc2lvbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFEAAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZU9iamVjdFZlcnNpb24DAAAABU1ham9yBU1pbm9yDUV4Y2hhbmdlQnVpbGQAAAQCAiVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZUJ1aWxkBgAAAAYAAAAAAQW6////JU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlQnVpbGQEAAAABU1ham9yBU1pbm9yBUJ1aWxkDUJ1aWxkUmV2aXNpb24AAAAAAgIODgYAAAAIABcCAAABEgAAAAwAAAAGRwAAABZtc0V4Y2hDb25maWd1cmF0aW9uWE1MCgoKCglIAAAAAAAAAAZJAAAAE0NvbmZpZ3VyYXRpb25YTUxSYXcJSgAAAAZLAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBFQAAAAwAAAAGTAAAAAtzeXN0ZW1GbGFncwoKCgoKQAAAAAZNAAAAC1N5c3RlbUZsYWdzCU4AAAAGTwAAAJgBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlN5c3RlbUZsYWdzRW51bSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBRYAAAAxTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlN5c3RlbUZsYWdzRW51bQEAAAAHdmFsdWVfXwAIAgAAAAAAAEABGAAAAAwAAAAGUAAAAARuYW1lCgoKCVEAAAAJUgAAAAACAAAGUwAAAAdSYXdOYW1lCUoAAAAGVQAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKARsAAAAMAAAABlYAAAAOb2JqZWN0Q2F0ZWdvcnkKCgoKCVcAAABACAAABlgAAAAOT2JqZWN0Q2F0ZWdvcnkJOgAAAAZaAAAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKARwAAAANAAAAAaX////E////cS/OWaLq302k+vJQadCzJAoBpP///8T///9+eoy9HwnpQaI9JrWwoQH7Bl0AAABHQ049bXMtRXhjaC1Db25maWctU2V0dGluZ3MsQ049U2NoZW1hLENOPUNvbmZpZ3VyYXRpb24sREM9Q29udG9zbyxEQz1sYWIKBAAAAAZeAAAAOENvbnRvc28ubGFiL0NvbmZpZ3VyYXRpb24vU2NoZW1hL21zLUV4Y2gtQ29uZmlnLVNldHRpbmdzCUAAAAABHgAAAAwAAAAGYAAAAAtvYmplY3RDbGFzcwoKCgoJYQAAAAMAAAAGYgAAAAtPYmplY3RDbGFzcwlKAAAABmQAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgxlAAAAZU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbiwgVmVyc2lvbj0xNS4xLjI1MDMuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BR8AAACLAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk11bHRpVmFsdWVkUHJvcGVydHlgMVtbU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0MAAAAFHJlYWRPbmx5RXJyb3JNZXNzYWdlCmlzUmVhZE9ubHkRaXNDaGFuZ2VzT25seUNvcHkKd2FzQ2xlYXJlZAdjaGFuZ2VkEnByb3BlcnR5RGVmaW5pdGlvbhlzZXJpYWxpemVyQXNzZW1ibHlWZXJzaW9uGHNlcmlhbGl6ZWRQcm9wZXJ0eVZhbHVlcxVzZXJpYWxpemVkQWRkZWRWYWx1ZXMXc2VyaWFsaXplZFJlbW92ZWRWYWx1ZXMoTXVsdGlWYWx1ZWRQcm9wZXJ0eUJhc2UraXNDb21wbGV0ZWx5UmVhZDNNdWx0aVZhbHVlZFByb3BlcnR5QmFzZSs8VmFsdWVSYW5nZT5rX19CYWNraW5nRmllbGQEAAAAAAQDBQUFAAQuTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQ29tbW9uLkxvY2FsaXplZFN0cmluZ2UAAAABAQEBNk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5RGVmaW5pdGlvbgIAAAAOU3lzdGVtLlZlcnNpb24BIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkludFJhbmdlBgAAAAYAAAAFmv///y5NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24uTG9jYWxpemVkU3RyaW5nCAAAAAdpbnNlcnRzCGJhc2VOYW1lDGFzc2VtYmx5TmFtZQJpZAhzdHJpbmdJZBdzaG93U3RyaW5nSWRJblVJSWZFcnJvch1zaG93QXNzaXN0YW5jZUluZm9JblVJSWZFcnJvcghmYWxsYmFjawUBAQEBAAABAQFlAAAACWcAAAAGaAAAACNNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EYXRhU3RyaW5ncwZpAAAAW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUGagAAABpFcnJvclJlYWRPbmx5Q2F1c2VQcm9wZXJ0eQZrAAAACEV4NUNCNjUwAAEGbAAAADZUaGUgcHJvcGVydHkgJ3swfScgaXMgcmVhZC1vbmx5IGFuZCBjYW4ndCBiZSBtb2RpZmllZC4BAAAACR4AAAAJBAAAAAlvAAAACgoBCgEhAAAADAAAAAZwAAAADWNhbm9uaWNhbE5hbWUKCgoKCXEAAAADAAAABnIAAAAQUmF3Q2Fub25pY2FsTmFtZQlKAAAABnQAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgEiAAAAHwAAAAGL////mv///wl2AAAACWgAAAAGeAAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CWoAAAAJawAAAAABCWwAAAABAAAACSEAAAAJBAAAAAl+AAAACgoBCgEkAAAADAAAAAZ/AAAAC3doZW5DcmVhdGVkCgoKCgmAAAAAAQAAAAaBAAAADldoZW5DcmVhdGVkUmF3CUoAAAAGgwAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAScAAAAMAAAABoQAAAALd2hlbkNoYW5nZWQKCgoKCYUAAAABAAAABoYAAAAOV2hlbkNoYW5nZWRSYXcJSgAAAAaIAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBKgAAAAwAAAAKCgoKCgoAAQAABokAAAALT2JqZWN0U3RhdGUJigAAAAaLAAAAgAFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5PYmplY3RTdGF0ZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFKwAAACNNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5PYmplY3RTdGF0ZQEAAAAHdmFsdWVfXwAIBgAAAAEAAAABLQAAAAwAAAAKCgoKCgoAAQAABowAAAART3JpZ2luYXRpbmdTZXJ2ZXIJSgAAAAaOAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBMAAAAAwAAAAKCgoKCgoAAQAABo8AAAALV2hlblJlYWRVVEMJkAAAAAaRAAAAvgFTeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkRhdGVUaW1lLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXSwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgEyAAAADAAAAAoKCgoKCgABAAAGkgAAAAhJc0NhY2hlZAmTAAAABpQAAABbU3lzdGVtLkJvb2xlYW4sIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBNAAAAAwAAAAKCgoKCgoAAQAABpUAAAAURGlyZWN0b3J5QmFja2VuZFR5cGUJlgAAAAaXAAAAnQFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuRGlyZWN0b3J5QmFja2VuZFR5cGUsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgU1AAAANk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5EaXJlY3RvcnlCYWNrZW5kVHlwZQEAAAAHdmFsdWVfXwACAgAAAAEFNwAAADlNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuTVNlcnZQcm9wZXJ0eURlZmluaXRpb24FAAAAJlNpbXBsZVByb3ZpZGVyUHJvcGVydHlEZWZpbml0aW9uK2ZsYWdzF1Byb3BlcnR5RGVmaW5pdGlvbituYW1lF1Byb3BlcnR5RGVmaW5pdGlvbit0eXBlG1Byb3BlcnR5RGVmaW5pdGlvbit0eXBlTmFtZTlQcm9wZXJ0eURlZmluaXRpb24rcmVxdWlyZWRQcm9wZXJ0eURlZmluaXRpb25zV2hlblJlYWRpbmcAAQMBAwgfU3lzdGVtLlVuaXR5U2VyaWFsaXphdGlvbkhvbGRlcrMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSUNvbGxlY3Rpb25gMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlEZWZpbml0aW9uLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0CAAAABAAAAAk5AAAACToAAAAGmgAAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgybAAAAZE1pY3Jvc29mdC5FeGNoYW5nZS5TdG9yZVByb3ZpZGVyLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUFOAAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5NYnhQcm9wZXJ0eURlZmluaXRpb24HAAAAGDxQcm9wVGFnPmtfX0JhY2tpbmdGaWVsZBk8TWJ4RmxhZ3M+a19fQmFja2luZ0ZpZWxkJlNpbXBsZVByb3ZpZGVyUHJvcGVydHlEZWZpbml0aW9uK2ZsYWdzF1Byb3BlcnR5RGVmaW5pdGlvbituYW1lF1Byb3BlcnR5RGVmaW5pdGlvbit0eXBlG1Byb3BlcnR5RGVmaW5pdGlvbit0eXBlTmFtZTlQcm9wZXJ0eURlZmluaXRpb24rcmVxdWlyZWRQcm9wZXJ0eURlZmluaXRpb25zV2hlblJlYWRpbmcEBAABAwEDFk1pY3Jvc29mdC5NYXBpLlByb3BUYWebAAAAPE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5NYnhQcm9wZXJ0eURlZmluaXRpb25GbGFncwIAAAAIH1N5c3RlbS5Vbml0eVNlcmlhbGl6YXRpb25Ib2xkZXKzAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLklDb2xsZWN0aW9uYDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5RGVmaW5pdGlvbiwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dAgAAAAVk////Fk1pY3Jvc29mdC5NYXBpLlByb3BUYWcBAAAAB3ZhbHVlX18AD5sAAAABAAAABWP///88TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk1ieFByb3BlcnR5RGVmaW5pdGlvbkZsYWdzAQAAAAd2YWx1ZV9fAAkCAAAAAQAAAAAAAAAEAAAACTkAAAAJOgAAAAagAAAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBDoAAAAfU3lzdGVtLlVuaXR5U2VyaWFsaXphdGlvbkhvbGRlcgMAAAAERGF0YQlVbml0eVR5cGUMQXNzZW1ibHlOYW1lAQABCAahAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkBAAAAAaiAAAAZU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BUAAAAAwTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk9yZ2FuaXphdGlvbklkBQAAAAdvcmdVbml0CmNvbmZpZ1VuaXQLcGFydGl0aW9uSWQfZXh0ZXJuYWxEaXJlY3RvcnlPcmdhbml6YXRpb25JZCNzYWZlRXh0ZXJuYWxEaXJlY3RvcnlPcmdhbml6YXRpb25JZAQEBAMDLE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAACxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZAIAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlBhcnRpdGlvbklkAgAAAG1TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0CAAAACgoJowAAAAoKAUIAAAA4AAAAAVz///9k////AQAAAAFb////Y////wEAAAAAAAAABAAAAAlDAAAACUQAAAAGqAAAAIoBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VPYmplY3RWZXJzaW9uLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFEAAAAOgAAAAapAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlT2JqZWN0VmVyc2lvbgQAAAAGqgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1AUgAAAA4AAAAAVX///9k////HwAfMQFU////Y////wEAAAAAAAAAAAAAAAlJAAAACUoAAAAGrwAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAUoAAAA6AAAABrAAAAANU3lzdGVtLlN0cmluZwQAAAAGsQAAAEttc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkBTgAAADoAAAAGsgAAADFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuU3lzdGVtRmxhZ3NFbnVtBAAAAAmiAAAAAVEAAAA3AAAABQAAAAlTAAAACUoAAAAGtgAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAVIAAAA4AAAAAUn///9k////HwCrMQFI////Y////wEAAAAAAAAAAAAAAAlTAAAACUoAAAAGuwAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAVcAAAA4AAAAAUT///9k////AQAAAAFD////Y////wEAAAAAAAAABAAAAAlYAAAACToAAAAGwAAAAJMBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQsIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgFhAAAAOAAAAAE/////ZP///x8QjDEBPv///2P///8BAAAAAAAAAAIAAAAJYgAAAAlKAAAABsUAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5ChBnAAAAAQAAAAliAAAAEG8AAAACAAAABscAAAADdG9wBsgAAAAUbXNFeGNoQ29uZmlnU2V0dGluZ3MBcQAAADgAAAABN////2T///8fEKcxATb///9j////AQAAAAAAAAACAAAACXIAAAAJSgAAAAbNAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoQdgAAAAEAAAAJcgAAABB+AAAAAQAAAAbPAAAAhAFDb250b3NvLmxhYi9Db25maWd1cmF0aW9uL1NlcnZpY2VzL01pY3Jvc29mdCBFeGNoYW5nZS9Db250b3NvIExhYnMvR2xvYmFsIFNldHRpbmdzL1NldHRpbmcgT3ZlcnJpZGVzL0VuYWJsZWVTaWduaW5nVmVyaWZpY2F0aW9uT25PcmcBgAAAADgAAAABMP///2T///8fAAQyAS////9j////AQAAAAAAAAAAAAAACYEAAAAJSgAAAAbUAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBhQAAADgAAAABK////2T///8fAAMyASr///9j////AQAAAAAAAAAAAAAACYYAAAAJSgAAAAbZAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBigAAADoAAAAG2gAAACNNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5PYmplY3RTdGF0ZQQAAAAJqgAAAAGQAAAAOgAAAAbcAAAAcVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uRGF0ZVRpbWUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dBAAAAAmxAAAAAZMAAAA6AAAABt4AAAAOU3lzdGVtLkJvb2xlYW4EAAAACbEAAAABlgAAADoAAAAG4AAAADZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuRGlyZWN0b3J5QmFja2VuZFR5cGUEAAAACaIAAAAFowAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAACmZvcmVzdEZRRE4RcGFydGl0aW9uT2JqZWN0SWQBA21TeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkd1aWQsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dAgAAAAbiAAAAC0NvbnRvc28ubGFiCgs= + e2k16-2.contoso.lab + 6bf6b65b-142a-4a62-8e9d-a127a9dfb5e1 + false + +
+ + + EnableSigningVerification + + Data + EnableSerializationDataSigning + EXO + + Contoso.lab/Users/ContosoTech + Enabling Signing Verification + + + + + + Deserialized.System.String[] + Deserialized.System.Array + Deserialized.System.Object + + + E2k16-1 + + + false + + + + Enabled=true + + + ServerMismatch + <S CN="Data" SN="EnableSerializationDataSigning" MB="Contoso.lab/Users/ContosoTech" R="Enabling Signing Verification"><Ss><S>E2k16-1</S></Ss><Ps><P>Enabled=true</P></Ps></S> + + 0.1 (8.0.535.0) + EnableSigningVerification + CN=EnableSigningVerification,CN=Setting Overrides,CN=Global Settings,CN=Contoso Labs,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=Contoso,DC=lab + EnableSigningVerification + ec1c4f8e-c677-4528-8110-668ef9bde51b + Contoso.lab/Configuration/Schema/ms-Exch-Config-Settings + + + + top + msExchConfigSettings + + +
2023-01-04T11:10:31+00:00
+
2023-01-04T11:10:31+00:00
+
2023-01-04T11:10:31Z
+
2023-01-04T11:10:31Z
+ + EnableSigningVerification + DC-1.Contoso.lab + true + Unchanged +
+ + AAEAAAD/////AQAAAAAAAAAMAgAAAGVNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQUBAAAAW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1Db25maWd1cmF0aW9uLkNvbmZpZ3VyYXRpb25TZXR0aW5ncy5TZXR0aW5nT3ZlcnJpZGUJAAAAC3Byb3BlcnR5QmFnIUFEQ29uZmlndXJhdGlvbk9iamVjdCtwcm9wZXJ0eUJhZxRBRE9iamVjdCtwcm9wZXJ0eUJhZyxBRFJhd0VudHJ5KzxNc2VydlByb3BlcnR5QmFnPmtfX0JhY2tpbmdGaWVsZCpBRFJhd0VudHJ5KzxNYnhQcm9wZXJ0eUJhZz5rX19CYWNraW5nRmllbGQWQURSYXdFbnRyeStwcm9wZXJ0eUJhZx5Db25maWd1cmFibGVPYmplY3QrcHJvcGVydHlCYWcsQ29uZmlndXJhYmxlT2JqZWN0K3NlcmlhbGl6ZXJBc3NlbWJseVZlcnNpb24mQ29uZmlndXJhYmxlT2JqZWN0K2luc3RhbnRpYXRpb25FcnJvcnMEBAQEBAQEAwMvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5QmFnAgAAAC9NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eUJhZwIAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcCAAAADlN5c3RlbS5WZXJzaW9uqQFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0YDFbW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlZhbGlkYXRpb25FcnJvciwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNV1dAgAAAAkDAAAACQMAAAAJAwAAAAoKCQMAAAAJAwAAAAkEAAAACQUAAAAMBgAAAFtNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1BQMAAAAvTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlCYWcGAAAAFFByb3BlcnR5QmFnK3JlYWRPbmx5G1Byb3BlcnR5QmFnK3N0b3JlVmFsdWVzT25seSdQcm9wZXJ0eUJhZyt0cmVhdFN3aXRjaGFibGVBc1ZhbHVlc09ubHklUHJvcGVydHlCYWcrc2VyaWFsaXplckFzc2VtYmx5VmVyc2lvbiNQcm9wZXJ0eUJhZytzZXJpYWxpemVkQ3VycmVudFZhbHVlcyRQcm9wZXJ0eUJhZytzZXJpYWxpemVkT3JpZ2luYWxWYWx1ZXMAAAADBAQBAQEOU3lzdGVtLlZlcnNpb24vTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyW10GAAAAL01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcltdBgAAAAIAAAAAAAAJBAAAAAkIAAAACQkAAAAEBAAAAA5TeXN0ZW0uVmVyc2lvbgQAAAAGX01ham9yBl9NaW5vcgZfQnVpbGQJX1JldmlzaW9uAAAAAAgICAgPAAAAAAAAAAAAAAAAAAAABAUAAACpAVN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuVmFsaWRhdGlvbkVycm9yLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0DAAAABl9pdGVtcwVfc2l6ZQhfdmVyc2lvbgQAAClNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5WYWxpZGF0aW9uRXJyb3JbXQYAAAAICAkKAAAAAAAAAAAAAAAHCAAAAAABAAAADwAAAAQtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlCYWcrVmFsdWVQYWlyBgAAAAX1////LU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlByb3BlcnR5QmFnK1ZhbHVlUGFpcgIAAAADS2V5BVZhbHVlBAI2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uAgAAAAYAAAAJDAAAAAkNAAAAAfL////1////CQ8AAAAJEAAAAAHv////9f///wkSAAAABhMAAACtATxTIENOPSJEYXRhIiBTTj0iRW5hYmxlU2VyaWFsaXphdGlvbkRhdGFTaWduaW5nIiBNQj0iQ29udG9zby5sYWIvVXNlcnMvQ29udG9zb1RlY2giIFI9IkVuYWJsaW5nIFNpZ25pbmcgVmVyaWZpY2F0aW9uIj48U3M+PFM+RTJrMTYtMTwvUz48L1NzPjxQcz48UD5FbmFibGVkPXRydWU8L1A+PC9Qcz48L1M+Aez////1////CRUAAAAJFgAAAAHp////9f///wkYAAAABhkAAAAZRW5hYmxlU2lnbmluZ1ZlcmlmaWNhdGlvbgHm////9f///wkbAAAACRwAAAAB4/////X///8JHgAAAAkfAAAAAeD////1////CSEAAAAJIgAAAAHd////9f///wkkAAAABiUAAAARMjAyMzAxMDQxMTEwMzEuMFoB2v////X///8JJwAAAAYoAAAAETIwMjMwMTA0MTExMDMxLjBaAdf////1////CSoAAAAJKwAAAAHU////9f///wktAAAABi4AAAAQREMtMS5Db250b3NvLmxhYgHR////9f///wkwAAAACA3FxyBnRu7aSAHP////9f///wkyAAAACAEAAc3////1////CTQAAAAJNQAAAAcJAAAAAAEAAAAAAAAABC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Qcm9wZXJ0eUJhZytWYWx1ZVBhaXIGAAAABwoAAAAAAQAAAAAAAAAEJ01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLlZhbGlkYXRpb25FcnJvcgYAAAAFDAAAADZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eURlZmluaXRpb24LAAAAD2xkYXBEaXNwbGF5TmFtZQ5mb3JtYXRQcm92aWRlcg5zaGFkb3dQcm9wZXJ0eRZzb2Z0TGlua1NoYWRvd1Byb3BlcnR5F21zZXJ2UHJvcGVydHlEZWZpbml0aW9uFW1ieFByb3BlcnR5RGVmaW5pdGlvbiZTaW1wbGVQcm92aWRlclByb3BlcnR5RGVmaW5pdGlvbitmbGFncxdQcm9wZXJ0eURlZmluaXRpb24rbmFtZRdQcm9wZXJ0eURlZmluaXRpb24rdHlwZRtQcm9wZXJ0eURlZmluaXRpb24rdHlwZU5hbWU5UHJvcGVydHlEZWZpbml0aW9uK3JlcXVpcmVkUHJvcGVydHlEZWZpbml0aW9uc1doZW5SZWFkaW5nAQMEBAQEAAEDAQMWU3lzdGVtLklGb3JtYXRQcm92aWRlcjZNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURQcm9wZXJ0eURlZmluaXRpb24CAAAANk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRFByb3BlcnR5RGVmaW5pdGlvbgIAAAA5TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk1TZXJ2UHJvcGVydHlEZWZpbml0aW9uAgAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5NYnhQcm9wZXJ0eURlZmluaXRpb24CAAAACB9TeXN0ZW0uVW5pdHlTZXJpYWxpemF0aW9uSG9sZGVyswFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JQ29sbGVjdGlvbmAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Qcm9wZXJ0eURlZmluaXRpb24sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQIAAAAGNgAAABFkaXN0aW5ndWlzaGVkTmFtZQoKCgk3AAAACTgAAAAQCgAABjkAAAACSWQJOgAAAAY7AAAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBQ0AAAAsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQIAAAADXBhcnRpdGlvbkd1aWQNcGFydGl0aW9uRnFkbgpvYmplY3RHdWlkEWRpc3Rpbmd1aXNoZWROYW1lGHNlY3VyaXR5SWRlbnRpZmllclN0cmluZwVkZXB0aAt0b1N0cmluZ1ZhbBlleGVjdXRpbmdVc2VyT3JnYW5pemF0aW9uAwEDAQEAAQQLU3lzdGVtLkd1aWQLU3lzdGVtLkd1aWQIME1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5Pcmdhbml6YXRpb25JZAIAAAACAAAABMT///8LU3lzdGVtLkd1aWQLAAAAAl9hAl9iAl9jAl9kAl9lAl9mAl9nAl9oAl9pAl9qAl9rAAAAAAAAAAAAAAAIBwcCAgICAgICAnEvzlmi6t9NpPryUGnQsyQKAcP////E////jk8c7HfGKEWBEGaO+b3lGwY+AAAAmQFDTj1FbmFibGVTaWduaW5nVmVyaWZpY2F0aW9uLENOPVNldHRpbmcgT3ZlcnJpZGVzLENOPUdsb2JhbCBTZXR0aW5ncyxDTj1Db250b3NvIExhYnMsQ049TWljcm9zb2Z0IEV4Y2hhbmdlLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9Q29udG9zbyxEQz1sYWIKCAAAAAY/AAAAGUVuYWJsZVNpZ25pbmdWZXJpZmljYXRpb24JQAAAAAEPAAAADAAAAAZBAAAADW1zRXhjaFZlcnNpb24KCgoKCUIAAAAAAgAABkMAAAAPRXhjaGFuZ2VWZXJzaW9uCUQAAAAGRQAAAIoBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VPYmplY3RWZXJzaW9uLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgUQAAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlT2JqZWN0VmVyc2lvbgMAAAAFTWFqb3IFTWlub3INRXhjaGFuZ2VCdWlsZAAABAICJU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkV4Y2hhbmdlQnVpbGQGAAAABgAAAAABBbr///8lTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VCdWlsZAQAAAAFTWFqb3IFTWlub3IFQnVpbGQNQnVpbGRSZXZpc2lvbgAAAAACAg4OBgAAAAgAFwIAAAESAAAADAAAAAZHAAAAFm1zRXhjaENvbmZpZ3VyYXRpb25YTUwKCgoKCUgAAAAAAAAABkkAAAATQ29uZmlndXJhdGlvblhNTFJhdwlKAAAABksAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgEVAAAADAAAAAZMAAAAC3N5c3RlbUZsYWdzCgoKCgpAAAAABk0AAAALU3lzdGVtRmxhZ3MJTgAAAAZPAAAAmAFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuU3lzdGVtRmxhZ3NFbnVtLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoFFgAAADFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuU3lzdGVtRmxhZ3NFbnVtAQAAAAd2YWx1ZV9fAAgCAAAAAAAAQAEYAAAADAAAAAZQAAAABG5hbWUKCgoJUQAAAAlSAAAAAAIAAAZTAAAAB1Jhd05hbWUJSgAAAAZVAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBGwAAAAwAAAAGVgAAAA5vYmplY3RDYXRlZ29yeQoKCgoJVwAAAEAIAAAGWAAAAA5PYmplY3RDYXRlZ29yeQk6AAAABloAAACTAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoBHAAAAA0AAAABpf///8T///9xL85ZourfTaT68lBp0LMkCgGk////xP///356jL0fCelBoj0mtbChAfsGXQAAAEdDTj1tcy1FeGNoLUNvbmZpZy1TZXR0aW5ncyxDTj1TY2hlbWEsQ049Q29uZmlndXJhdGlvbixEQz1Db250b3NvLERDPWxhYgoEAAAABl4AAAA4Q29udG9zby5sYWIvQ29uZmlndXJhdGlvbi9TY2hlbWEvbXMtRXhjaC1Db25maWctU2V0dGluZ3MJQAAAAAEeAAAADAAAAAZgAAAAC29iamVjdENsYXNzCgoKCglhAAAAAwAAAAZiAAAAC09iamVjdENsYXNzCUoAAAAGZAAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKDGUAAABlTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuQ29tbW9uLCBWZXJzaW9uPTE1LjEuMjUwMy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUFHwAAAIsBTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuTXVsdGlWYWx1ZWRQcm9wZXJ0eWAxW1tTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQwAAAAUcmVhZE9ubHlFcnJvck1lc3NhZ2UKaXNSZWFkT25seRFpc0NoYW5nZXNPbmx5Q29weQp3YXNDbGVhcmVkB2NoYW5nZWQScHJvcGVydHlEZWZpbml0aW9uGXNlcmlhbGl6ZXJBc3NlbWJseVZlcnNpb24Yc2VyaWFsaXplZFByb3BlcnR5VmFsdWVzFXNlcmlhbGl6ZWRBZGRlZFZhbHVlcxdzZXJpYWxpemVkUmVtb3ZlZFZhbHVlcyhNdWx0aVZhbHVlZFByb3BlcnR5QmFzZStpc0NvbXBsZXRlbHlSZWFkM011bHRpVmFsdWVkUHJvcGVydHlCYXNlKzxWYWx1ZVJhbmdlPmtfX0JhY2tpbmdGaWVsZAQAAAAABAMFBQUABC5NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Db21tb24uTG9jYWxpemVkU3RyaW5nZQAAAAEBAQE2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFEUHJvcGVydHlEZWZpbml0aW9uAgAAAA5TeXN0ZW0uVmVyc2lvbgEgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuSW50UmFuZ2UGAAAABgAAAAWa////Lk1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkNvbW1vbi5Mb2NhbGl6ZWRTdHJpbmcIAAAAB2luc2VydHMIYmFzZU5hbWUMYXNzZW1ibHlOYW1lAmlkCHN0cmluZ0lkF3Nob3dTdHJpbmdJZEluVUlJZkVycm9yHXNob3dBc3Npc3RhbmNlSW5mb0luVUlJZkVycm9yCGZhbGxiYWNrBQEBAQEAAAEBAWUAAAAJZwAAAAZoAAAAI01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRhdGFTdHJpbmdzBmkAAABbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQZqAAAAGkVycm9yUmVhZE9ubHlDYXVzZVByb3BlcnR5BmsAAAAIRXg1Q0I2NTAAAQZsAAAANlRoZSBwcm9wZXJ0eSAnezB9JyBpcyByZWFkLW9ubHkgYW5kIGNhbid0IGJlIG1vZGlmaWVkLgEAAAAJHgAAAAkEAAAACW8AAAAKCgEKASEAAAAMAAAABnAAAAANY2Fub25pY2FsTmFtZQoKCgoJcQAAAAMAAAAGcgAAABBSYXdDYW5vbmljYWxOYW1lCUoAAAAGdAAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKASIAAAAfAAAAAYv///+a////CXYAAAAJaAAAAAZ4AAAAW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUJagAAAAlrAAAAAAEJbAAAAAEAAAAJIQAAAAkEAAAACX4AAAAKCgEKASQAAAAMAAAABn8AAAALd2hlbkNyZWF0ZWQKCgoKCYAAAAABAAAABoEAAAAOV2hlbkNyZWF0ZWRSYXcJSgAAAAaDAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBJwAAAAwAAAAGhAAAAAt3aGVuQ2hhbmdlZAoKCgoJhQAAAAEAAAAGhgAAAA5XaGVuQ2hhbmdlZFJhdwlKAAAABogAAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgEqAAAADAAAAAoKCgoKCgABAAAGiQAAAAtPYmplY3RTdGF0ZQmKAAAABosAAACAAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk9iamVjdFN0YXRlLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1CgUrAAAAI01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk9iamVjdFN0YXRlAQAAAAd2YWx1ZV9fAAgGAAAAAQAAAAEtAAAADAAAAAoKCgoKCgABAAAGjAAAABFPcmlnaW5hdGluZ1NlcnZlcglKAAAABo4AAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgEwAAAADAAAAAoKCgoKCgABAAAGjwAAAAtXaGVuUmVhZFVUQwmQAAAABpEAAAC+AVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uRGF0ZVRpbWUsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OV1dLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKATIAAAAMAAAACgoKCgoKAAEAAAaSAAAACElzQ2FjaGVkCZMAAAAGlAAAAFtTeXN0ZW0uQm9vbGVhbiwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5CgE0AAAADAAAAAoKCgoKCgABAAAGlQAAABREaXJlY3RvcnlCYWNrZW5kVHlwZQmWAAAABpcAAACdAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5EaXJlY3RvcnlCYWNrZW5kVHlwZSwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKBTUAAAA2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkRpcmVjdG9yeUJhY2tlbmRUeXBlAQAAAAd2YWx1ZV9fAAICAAAAAQU3AAAAOU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5NU2VydlByb3BlcnR5RGVmaW5pdGlvbgUAAAAmU2ltcGxlUHJvdmlkZXJQcm9wZXJ0eURlZmluaXRpb24rZmxhZ3MXUHJvcGVydHlEZWZpbml0aW9uK25hbWUXUHJvcGVydHlEZWZpbml0aW9uK3R5cGUbUHJvcGVydHlEZWZpbml0aW9uK3R5cGVOYW1lOVByb3BlcnR5RGVmaW5pdGlvbityZXF1aXJlZFByb3BlcnR5RGVmaW5pdGlvbnNXaGVuUmVhZGluZwABAwEDCB9TeXN0ZW0uVW5pdHlTZXJpYWxpemF0aW9uSG9sZGVyswFTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5JQ29sbGVjdGlvbmAxW1tNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5Qcm9wZXJ0eURlZmluaXRpb24sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzVdXQIAAAAEAAAACTkAAAAJOgAAAAaaAAAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKDJsAAABkTWljcm9zb2Z0LkV4Y2hhbmdlLlN0b3JlUHJvdmlkZXIsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQU4AAAALU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLk1ieFByb3BlcnR5RGVmaW5pdGlvbgcAAAAYPFByb3BUYWc+a19fQmFja2luZ0ZpZWxkGTxNYnhGbGFncz5rX19CYWNraW5nRmllbGQmU2ltcGxlUHJvdmlkZXJQcm9wZXJ0eURlZmluaXRpb24rZmxhZ3MXUHJvcGVydHlEZWZpbml0aW9uK25hbWUXUHJvcGVydHlEZWZpbml0aW9uK3R5cGUbUHJvcGVydHlEZWZpbml0aW9uK3R5cGVOYW1lOVByb3BlcnR5RGVmaW5pdGlvbityZXF1aXJlZFByb3BlcnR5RGVmaW5pdGlvbnNXaGVuUmVhZGluZwQEAAEDAQMWTWljcm9zb2Z0Lk1hcGkuUHJvcFRhZ5sAAAA8TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5Lk1ieFByb3BlcnR5RGVmaW5pdGlvbkZsYWdzAgAAAAgfU3lzdGVtLlVuaXR5U2VyaWFsaXphdGlvbkhvbGRlcrMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuSUNvbGxlY3Rpb25gMVtbTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuUHJvcGVydHlEZWZpbml0aW9uLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YSwgVmVyc2lvbj0xNS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj0zMWJmMzg1NmFkMzY0ZTM1XV0CAAAABWT///8WTWljcm9zb2Z0Lk1hcGkuUHJvcFRhZwEAAAAHdmFsdWVfXwAPmwAAAAEAAAAFY////zxNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuTWJ4UHJvcGVydHlEZWZpbml0aW9uRmxhZ3MBAAAAB3ZhbHVlX18ACQIAAAABAAAAAAAAAAQAAAAJOQAAAAk6AAAABqAAAACTAU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkLCBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnksIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49MzFiZjM4NTZhZDM2NGUzNQoEOgAAAB9TeXN0ZW0uVW5pdHlTZXJpYWxpemF0aW9uSG9sZGVyAwAAAAREYXRhCVVuaXR5VHlwZQxBc3NlbWJseU5hbWUBAAEIBqEAAAAsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQEAAAABqIAAABlTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUFQAAAADBNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuT3JnYW5pemF0aW9uSWQFAAAAB29yZ1VuaXQKY29uZmlnVW5pdAtwYXJ0aXRpb25JZB9leHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkI3NhZmVFeHRlcm5hbERpcmVjdG9yeU9yZ2FuaXphdGlvbklkBAQEAwMsTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkFET2JqZWN0SWQCAAAALE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5BRE9iamVjdElkAgAAAC1NaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuUGFydGl0aW9uSWQCAAAAbVN5c3RlbS5OdWxsYWJsZWAxW1tTeXN0ZW0uR3VpZCwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV1tU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAKCgmjAAAACgoBQgAAADgAAAABXP///2T///8BAAAAAVv///9j////AQAAAAAAAAAEAAAACUMAAAAJRAAAAAaoAAAAigFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5FeGNoYW5nZU9iamVjdFZlcnNpb24sIE1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAUQAAAA6AAAABqkAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRXhjaGFuZ2VPYmplY3RWZXJzaW9uBAAAAAaqAAAAW01pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUBSAAAADgAAAABVf///2T///8fAB8xAVT///9j////AQAAAAAAAAAAAAAACUkAAAAJSgAAAAavAAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBSgAAADoAAAAGsAAAAA1TeXN0ZW0uU3RyaW5nBAAAAAaxAAAAS21zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQFOAAAAOgAAAAayAAAAMU1pY3Jvc29mdC5FeGNoYW5nZS5EYXRhLkRpcmVjdG9yeS5TeXN0ZW1GbGFnc0VudW0EAAAACaIAAAABUQAAADcAAAAFAAAACVMAAAAJSgAAAAa2AAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBUgAAADgAAAABSf///2T///8fAKsxAUj///9j////AQAAAAAAAAAAAAAACVMAAAAJSgAAAAa7AAAAWlN5c3RlbS5TdHJpbmcsIG1zY29ybGliLCBWZXJzaW9uPTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQoBVwAAADgAAAABRP///2T///8BAAAAAUP///9j////AQAAAAAAAAAEAAAACVgAAAAJOgAAAAbAAAAAkwFNaWNyb3NvZnQuRXhjaGFuZ2UuRGF0YS5EaXJlY3RvcnkuQURPYmplY3RJZCwgTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LCBWZXJzaW9uPTE1LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUKAWEAAAA4AAAAAT////9k////HxCMMQE+////Y////wEAAAAAAAAAAgAAAAliAAAACUoAAAAGxQAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKEGcAAAABAAAACWIAAAAQbwAAAAIAAAAGxwAAAAN0b3AGyAAAABRtc0V4Y2hDb25maWdTZXR0aW5ncwFxAAAAOAAAAAE3////ZP///x8QpzEBNv///2P///8BAAAAAAAAAAIAAAAJcgAAAAlKAAAABs0AAABaU3lzdGVtLlN0cmluZywgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5ChB2AAAAAQAAAAlyAAAAEH4AAAABAAAABs8AAAB+Q29udG9zby5sYWIvQ29uZmlndXJhdGlvbi9TZXJ2aWNlcy9NaWNyb3NvZnQgRXhjaGFuZ2UvQ29udG9zbyBMYWJzL0dsb2JhbCBTZXR0aW5ncy9TZXR0aW5nIE92ZXJyaWRlcy9FbmFibGVTaWduaW5nVmVyaWZpY2F0aW9uAYAAAAA4AAAAATD///9k////HwAEMgEv////Y////wEAAAAAAAAAAAAAAAmBAAAACUoAAAAG1AAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAYUAAAA4AAAAASv///9k////HwADMgEq////Y////wEAAAAAAAAAAAAAAAmGAAAACUoAAAAG2QAAAFpTeXN0ZW0uU3RyaW5nLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkKAYoAAAA6AAAABtoAAAAjTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuT2JqZWN0U3RhdGUEAAAACaoAAAABkAAAADoAAAAG3AAAAHFTeXN0ZW0uTnVsbGFibGVgMVtbU3lzdGVtLkRhdGVUaW1lLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQQAAAAJsQAAAAGTAAAAOgAAAAbeAAAADlN5c3RlbS5Cb29sZWFuBAAAAAmxAAAAAZYAAAA6AAAABuAAAAA2TWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LkRpcmVjdG9yeUJhY2tlbmRUeXBlBAAAAAmiAAAABaMAAAAtTWljcm9zb2Z0LkV4Y2hhbmdlLkRhdGEuRGlyZWN0b3J5LlBhcnRpdGlvbklkAgAAAApmb3Jlc3RGUUROEXBhcnRpdGlvbk9iamVjdElkAQNtU3lzdGVtLk51bGxhYmxlYDFbW1N5c3RlbS5HdWlkLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODldXQIAAAAG4gAAAAtDb250b3NvLmxhYgoL + e2k16-2.contoso.lab + 6bf6b65b-142a-4a62-8e9d-a127a9dfb5e1 + false + +
+
\ No newline at end of file diff --git a/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Tests/Get-ExchangeSerializedDataSigningState.Tests.ps1 b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Tests/Get-ExchangeSerializedDataSigningState.Tests.ps1 new file mode 100644 index 0000000000..2bb8fa857f --- /dev/null +++ b/Diagnostics/HealthChecker/DataCollection/ExchangeInformation/Tests/Get-ExchangeSerializedDataSigningState.Tests.ps1 @@ -0,0 +1,78 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidUsingInvokeExpression', '', Justification = 'Pester testing file')] +[Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSAvoidOverwritingBuiltInCmdlets', '', Justification = 'Pester testing file')] +[CmdletBinding()] +param() +BeforeAll { + $Script:parentPath = (Split-Path -Parent $PSScriptRoot) + $Script:Server = $env:COMPUTERNAME + . $Script:parentPath\Get-ExchangeSerializedDataSigningState.ps1 +} + +Describe "Testing Get-ExchangeSerializedDataSigningState.ps1" { + + Context "PowerShell Serialization Payload Signing Default State" { + BeforeAll { + $Script:results = Get-ExchangeSerializedDataSigningState -GetSettingOverride $null + } + + It "PowerShell Serialization Payload Signing Disabled" { + $results.Enabled | Should -Be $false + } + } + + Context "PowerShell Serialization Payload Signing Enabled On Organizational Level" { + BeforeAll { + $r = Import-Clixml $Script:parentPath\Tests\DataCollection\GetSettingOverridePSSigningEnabledOnOrg.xml + $Script:results = Get-ExchangeSerializedDataSigningState -GetSettingOverride $r + } + + It "PowerShell Serialization Payload Signing Enabled" { + $results.Enabled | Should -Be $true + } + + It "PowerShell Serialization Payload Signing Enabled On Organizational Level" { + $results.Server | Should -Be $null + $results.OrgWideSetting | Should -Be $true + } + } + + Context "PowerShell Serialization Payload Signing Enabled On Server Level State" { + BeforeAll { + $r = Import-Clixml $Script:parentPath\Tests\DataCollection\GetSettingOverridePSSigningEnabledOnSrv.xml + $Script:results = Get-ExchangeSerializedDataSigningState -GetSettingOverride $r + } + + It "PowerShell Serialization Payload Signing Enabled" { + $results.Enabled | Should -Be $true + } + + It "PowerShell Serialization Payload Signing Enabled Is Disabled On Organizational Level" { + $results.Server | Should -Not -Be $null + $results.OrgWideSetting | Should -Be $false + } + } + + Context "Multiple PowerShell Serialization Payload Signing Configurations" { + BeforeAll { + $r = Import-Clixml $Script:parentPath\Tests\DataCollection\GetSettingOverridePSSigningMultipleOverrides.xml + $Script:results = Get-ExchangeSerializedDataSigningState -GetSettingOverride $r + } + + It "Multiple PowerShell Serialization Payload Signing Configurations States Returned" { + $results.count | Should -Be 2 + } + } + + Context "Exception While Calling PowerShell Serialization Payload Signing Configuration" { + BeforeAll { + $Script:results = Get-ExchangeSerializedDataSigningState -GetSettingOverride "Unknown" + } + + It "PowerShell Serialization Payload Signing Query Failed" { + $results.FailedQuery | Should -Be $true + } + } +} diff --git a/Diagnostics/HealthChecker/Helpers/Class.ps1 b/Diagnostics/HealthChecker/Helpers/Class.ps1 index 9ef7dbfb62..9c3f587e53 100644 --- a/Diagnostics/HealthChecker/Helpers/Class.ps1 +++ b/Diagnostics/HealthChecker/Helpers/Class.ps1 @@ -48,6 +48,7 @@ using System.Collections; public object ExtendedProtectionConfig; //Stores the extended protection configuration public object ExchangeConnectors; //Stores the Get-ExchangeConnectors Object public System.Array AMSIConfiguration; //Stores the Setting Override for AMSI Interface + public System.Array SerializationDataSigningConfiguration; //Stores for the SerializationDataSigning feature configuration public ExchangeNetFrameworkInformation NETFramework = new ExchangeNetFrameworkInformation(); public System.Array ExchangeServicesNotRunning; //Contains the Exchange services not running by Test-ServiceHealth public Hashtable ApplicationPools = new Hashtable(); diff --git a/Diagnostics/HealthChecker/Tests/DataCollection/E19/Exchange/GetInternalTransportCertificateFromServer.xml b/Diagnostics/HealthChecker/Tests/DataCollection/E19/Exchange/GetInternalTransportCertificateFromServer.xml new file mode 100644 index 0000000000..30073dca00 --- /dev/null +++ b/Diagnostics/HealthChecker/Tests/DataCollection/E19/Exchange/GetInternalTransportCertificateFromServer.xml @@ -0,0 +1,13 @@ + + + + System.Security.Cryptography.X509Certificates.X509Certificate2 + System.Security.Cryptography.X509Certificates.X509Certificate + System.Object + + [Subject]_x000D__x000A_ CN=E2k16-1_x000D__x000A__x000D__x000A_[Issuer]_x000D__x000A_ CN=E2k16-1_x000D__x000A__x000D__x000A_[Serial Number]_x000D__x000A_ 69FC45493FF2248140DD9D53B4D92957_x000D__x000A__x000D__x000A_[Not Before]_x000D__x000A_ 12/30/2022 2:39:08 PM_x000D__x000A__x000D__x000A_[Not After]_x000D__x000A_ 12/30/2027 2:39:08 PM_x000D__x000A__x000D__x000A_[Thumbprint]_x000D__x000A_ D003810EBE1624145889D031FBB77ED2BD280FD3_x000D__x000A_ + + MIIDDDCCAfSgAwIBAgIQafxFST/yJIFA3Z1TtNkpVzANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDEwdFMmsxNi0xMB4XDTIyMTIzMDE0MzkwOFoXDTI3MTIzMDE0MzkwOFowEjEQMA4GA1UEAxMHRTJrMTYtMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL329TDnYHScVTPyXPRE+xM92V1tDJVOc/QyB9j/cMrMH905PIfHqecgVSGKhZpS5LCJ666fOZYj4Q/qctIqCK1kemQWJzOyCfD+eTsybFpy8ePaXX6J8ap5iUxj4OBQpEI9tlLxwPxrgXBZC8Alm9ikierdK7os1AysFnJX1TaoIJElyYPfTiY44HL27q33x4+EIo3FHNn2t5A2zc3KQsa8hYQ2LBnO52tBlHOzngd3VLJoKtDajWRinHF1LlBNwAmjJWeVfWcE7q4nngs+5NIUr6rNTx9EUql0ikukr3tHgnHVXDUKNK9f5chSoaycRpMkhOFHNjqcp71SIhe09bUCAwEAAaNeMFwwDgYDVR0PAQH/BAQDAgWgMCcGA1UdEQQgMB6CB0UyazE2LTGCE0UyazE2LTEuQ29udG9zby5sYWIwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAQEAqYpdfs2fN+lHCxB3Ems0vU2AzBic/2CjStSfuPxKXeTjKnikgAhBv/GHNqQ6dphaLLktAfzONQr4NE9iWTn/i46PXDiimEWSllTP3aBMeWcnjezQsGROxq+OWAcWhhc6maXh85VoZwrhG3Nwc6lxqdi0X9c26GLlq+vBzIK3b2wWz+dtdyPui6CadQFXBKuSYdgGsQlmeHpi17mRfTmrVH8RNyOm8Y3TuCij7FDKp8c3PGk9H9giYrYCnSJ2b1KO+LOoGXhDzJ5POas/gy5qe1SPizAwbdWmT21y6JVFbT8kfm5PqBEVggYwCfhMZkjWaOKHHuDzC5E59jxH+j2g4A== + + + \ No newline at end of file diff --git a/Diagnostics/HealthChecker/Tests/HealthChecker.E15.Tests.ps1 b/Diagnostics/HealthChecker/Tests/HealthChecker.E15.Tests.ps1 index eeb1baaf59..e994710668 100644 --- a/Diagnostics/HealthChecker/Tests/HealthChecker.E15.Tests.ps1 +++ b/Diagnostics/HealthChecker/Tests/HealthChecker.E15.Tests.ps1 @@ -135,7 +135,7 @@ Describe "Testing Health Checker by Mock Data Imports - Exchange 2013" { TestObjectMatch "SMB1 Installed" "True" -WriteType "Red" TestObjectMatch "SMB1 Blocked" "False" -WriteType "Red" - $Script:ActiveGrouping.Count | Should -Be 73 + $Script:ActiveGrouping.Count | Should -Be 81 } It "Display Results - Security Vulnerability" { @@ -143,7 +143,7 @@ Describe "Testing Health Checker by Mock Data Imports - Exchange 2013" { $cveTests = $Script:ActiveGrouping.TestingValue | Where-Object { ($_.Gettype().Name -eq "String") -and ($_.StartsWith("CVE")) } $cveTests.Contains("CVE-2020-1147") | Should -Be $true - $cveTests.Count | Should -Be 48 + $cveTests.Count | Should -Be 49 } } } diff --git a/Diagnostics/HealthChecker/Tests/HealthChecker.E16.Tests.ps1 b/Diagnostics/HealthChecker/Tests/HealthChecker.E16.Tests.ps1 index 3c2fa0f5c4..544c9ba45e 100644 --- a/Diagnostics/HealthChecker/Tests/HealthChecker.E16.Tests.ps1 +++ b/Diagnostics/HealthChecker/Tests/HealthChecker.E16.Tests.ps1 @@ -139,7 +139,7 @@ Describe "Testing Health Checker by Mock Data Imports - Exchange 2016" { TestObjectMatch "Pattern service" "Unreachable`r`n`t`tMore information: https://aka.ms/HelpConnectivityEEMS" -WriteType "Yellow" TestObjectMatch "Telemetry enabled" "False" - $Script:ActiveGrouping.Count | Should -Be 83 + $Script:ActiveGrouping.Count | Should -Be 91 } It "Display Results - Security Vulnerability" { @@ -147,11 +147,11 @@ Describe "Testing Health Checker by Mock Data Imports - Exchange 2016" { $cveTests = GetObject "Security Vulnerability" $cveTests.Contains("CVE-2020-1147") | Should -Be $true - $cveTests.Count | Should -Be 20 + $cveTests.Count | Should -Be 25 $downlaodDomains = GetObject "CVE-2021-1730" $downlaodDomains.DownloadDomainsEnabled | Should -Be "false" - $Script:ActiveGrouping.Count | Should -Be 27 + $Script:ActiveGrouping.Count | Should -Be 32 } } diff --git a/Diagnostics/HealthChecker/Tests/HealthChecker.E19.Tests.ps1 b/Diagnostics/HealthChecker/Tests/HealthChecker.E19.Tests.ps1 index b412d70e1f..e4d162b7e3 100644 --- a/Diagnostics/HealthChecker/Tests/HealthChecker.E19.Tests.ps1 +++ b/Diagnostics/HealthChecker/Tests/HealthChecker.E19.Tests.ps1 @@ -141,7 +141,7 @@ Describe "Testing Health Checker by Mock Data Imports" { TestObjectMatch "Pattern service" "200 - Reachable" TestObjectMatch "Telemetry enabled" "False" - $Script:ActiveGrouping.Count | Should -Be 69 + $Script:ActiveGrouping.Count | Should -Be 77 } It "Display Results - Security Vulnerability" { @@ -149,7 +149,7 @@ Describe "Testing Health Checker by Mock Data Imports" { $cveTests = GetObject "Security Vulnerability" $cveTests.Contains("CVE-2020-1147") | Should -Be $true - $cveTests.Count | Should -Be 20 + $cveTests.Count | Should -Be 25 $downloadDomains = GetObject "CVE-2021-1730" $downloadDomains.DownloadDomainsEnabled | Should -Be "False" TestObjectMatch "Extended Protection Vulnerable" "True" -WriteType "Red" diff --git a/Diagnostics/HealthChecker/Tests/HealthChecker.MockedCalls.Tests.ps1 b/Diagnostics/HealthChecker/Tests/HealthChecker.MockedCalls.Tests.ps1 index 064f833751..b9d0069025 100644 --- a/Diagnostics/HealthChecker/Tests/HealthChecker.MockedCalls.Tests.ps1 +++ b/Diagnostics/HealthChecker/Tests/HealthChecker.MockedCalls.Tests.ps1 @@ -29,6 +29,7 @@ Describe "Testing Health Checker by Mock Data Imports" { Mock Get-OwaVirtualDirectory { return Import-Clixml "$Script:MockDataCollectionRoot\Exchange\GetOwaVirtualDirectory.xml" } Mock Get-WebServicesVirtualDirectory { return Import-Clixml "$Script:MockDataCollectionRoot\Exchange\GetWebServicesVirtualDirectory.xml" } Mock Get-OrganizationConfig { return Import-Clixml "$Script:MockDataCollectionRoot\Exchange\GetOrganizationConfig.xml" } + Mock Get-InternalTransportCertificateFromServer { return Import-Clixml "$Script:MockDataCollectionRoot\Exchange\GetInternalTransportCertificateFromServer.xml" } Mock Get-HybridConfiguration { return $null } # do not need to match the function. Only needed really to test the Assert-MockCalled Mock Get-Service { return Import-Clixml "$Script:MockDataCollectionRoot\Exchange\GetServiceMitigation.xml" } @@ -54,7 +55,7 @@ Describe "Testing Health Checker by Mock Data Imports" { Assert-MockCalled Get-WmiObjectHandler -Exactly 6 Assert-MockCalled Invoke-ScriptBlockHandler -Exactly 7 - Assert-MockCalled Get-RemoteRegistryValue -Exactly 13 + Assert-MockCalled Get-RemoteRegistryValue -Exactly 14 Assert-MockCalled Get-NETFrameworkVersion -Exactly 1 Assert-MockCalled Get-DotNetDllFileVersions -Exactly 1 Assert-MockCalled Get-NicPnpCapabilitiesSetting -Exactly 1 diff --git a/Diagnostics/HealthChecker/Tests/HealthCheckerTest.CommonMocks.NotPublished.ps1 b/Diagnostics/HealthChecker/Tests/HealthCheckerTest.CommonMocks.NotPublished.ps1 index f58050a589..1ea203a942 100644 --- a/Diagnostics/HealthChecker/Tests/HealthCheckerTest.CommonMocks.NotPublished.ps1 +++ b/Diagnostics/HealthChecker/Tests/HealthCheckerTest.CommonMocks.NotPublished.ps1 @@ -54,6 +54,7 @@ Mock Get-RemoteRegistryValue { "MsiInstallPath" { return "C:\Program Files\Microsoft\Exchange Server\V15" } "AllowInsecureRenegoClients" { return 0 } "AllowInsecureRenegoServers" { return 0 } + "EnableSerializationDataSigning" { return 0 } default { throw "Failed to find GetValue: $GetValue" } } } diff --git a/Shared/ActiveDirectoryFunctions/Get-GlobalCatalogServer.ps1 b/Shared/ActiveDirectoryFunctions/Get-GlobalCatalogServer.ps1 new file mode 100644 index 0000000000..372111e673 --- /dev/null +++ b/Shared/ActiveDirectoryFunctions/Get-GlobalCatalogServer.ps1 @@ -0,0 +1,28 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +. $PSScriptRoot\..\Invoke-CatchActionError.ps1 + +function Get-GlobalCatalogServer { + [CmdletBinding()] + param( + [Parameter(Mandatory = $false)] + [string]$SiteName = [System.DirectoryServices.ActiveDirectory.ActiveDirectorySite]::GetComputerSite().Name, + [Parameter(Mandatory = $false)] + [scriptblock]$CatchActionFunction + ) + + <# + This function returns a Global Catalog server for the Active Directory Site of the computer. + #> + + try { + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + Write-Verbose ("Trying to query a Global Catalog for the current forest for site: $($SiteName)") + return ([System.DirectoryServices.ActiveDirectory.Domain]::GetComputerDomain().Forest.FindGlobalCatalog($SiteName)).Name + } catch { + Write-Verbose ("Error while querying a Global Catalog for current forest - Exception: $($Error[0].Exception.Message)") + Invoke-CatchActionError $CatchActionFunction + return + } +} diff --git a/Shared/ActiveDirectoryFunctions/Get-InternalTransportCertificateFromServer.ps1 b/Shared/ActiveDirectoryFunctions/Get-InternalTransportCertificateFromServer.ps1 new file mode 100644 index 0000000000..c6b8de8e36 --- /dev/null +++ b/Shared/ActiveDirectoryFunctions/Get-InternalTransportCertificateFromServer.ps1 @@ -0,0 +1,35 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +. $PSScriptRoot\Get-OrganizationContainer.ps1 + +function Get-InternalTransportCertificateFromServer { + [CmdletBinding()] + [OutputType([System.Security.Cryptography.X509Certificates.X509Certificate2])] + param ( + [string]$ComputerName = $env:COMPUTERNAME + ) + + <# + Reads the certificate set as internal transport certificate (aka default SMTP certificate) from AD. + The certificate is specified on a per-server base. + + Returns the X509Certificate2 object if we were able to query it from AD, otherwise it returns $null. + #> + + try { + Write-Verbose "Calling: $($MyInvocation.MyCommand)" + $organizationContainer = Get-OrganizationContainer + $exchangeServerPath = ("CN=" + $($ComputerName.Split(".")[0]) + ",CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups," + $organizationContainer.distinguishedName) + $exchangeServer = [ADSI]("LDAP://" + $exchangeServerPath) + Write-Verbose "Exchange Server path: $($exchangeServerPath)" + if ($null -ne $exchangeServer.msExchServerInternalTLSCert) { + $certObject = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($exchangeServer.msExchServerInternalTLSCert) + Write-Verbose ("Internal transport certificate on server: $($ComputerName) is: $($certObject.Thumbprint)") + } + } catch { + Write-Verbose ("Unable to query the internal transport certificate - Exception: $($Error[0].Exception.Message)") + } + + return $certObject +} diff --git a/Shared/Get-ExchangeBuildVersionInformation.ps1 b/Shared/Get-ExchangeBuildVersionInformation.ps1 index bd7f22701c..0601ccbc6f 100644 --- a/Shared/Get-ExchangeBuildVersionInformation.ps1 +++ b/Shared/Get-ExchangeBuildVersionInformation.ps1 @@ -65,7 +65,8 @@ function Get-ExchangeBuildVersionInformation { $cuReleaseDate = "04/20/2022" $supportedBuildNumber = $true } - "15.2.1118.20" { $suName = "Nov22SU"; $latestSUBuild = $true } + "15.2.1118.21" { $suName = "Jan23SU"; $latestSUBuild = $true } + "15.2.1118.20" { $suName = "Nov22SU" } "15.2.1118.15" { $suName = "Oct22SU" } "15.2.1118.12" { $suName = "Aug22SU" } "15.2.1118.9" { $suName = "May22SU" } @@ -76,7 +77,8 @@ function Get-ExchangeBuildVersionInformation { $mesoValue = 13242 $orgValue = 16759 } - "15.2.986.36" { $suName = "Nov22SU"; $latestSUBuild = $true } + "15.2.986.37" { $suName = "Jan23SU"; $latestSUBuild = $true } + "15.2.986.36" { $suName = "Nov22SU" } "15.2.986.30" { $suName = "Oct22SU" } "15.2.986.29" { $suName = "Aug22SU" } "15.2.986.26" { $suName = "May22SU"; $mesoValue = 13243 } @@ -163,7 +165,8 @@ function Get-ExchangeBuildVersionInformation { $cuReleaseDate = "04/20/2022" $supportedBuildNumber = $true } - "15.1.2507.16" { $suName = "Nov22SU"; $latestSUBuild = $true } + "15.1.2507.17" { $suName = "Jan23SU"; $latestSUBuild = $true } + "15.1.2507.16" { $suName = "Nov22SU" } "15.1.2507.13" { $suName = "Oct22SU" } "15.1.2507.12" { $suName = "Aug22SU" } "15.1.2507.9" { $suName = "May22SU" } @@ -307,7 +310,8 @@ function Get-ExchangeBuildVersionInformation { $cuReleaseDate = "06/18/2019" $supportedBuildNumber = $true } - "15.0.1497.44" { $suName = "Nov22SU"; $latestSUBuild = $true } + "15.0.1497.45" { $suName = "Jan23SU"; $latestSUBuild = $true } + "15.0.1497.44" { $suName = "Nov22SU" } "15.0.1497.42" { $suName = "Oct22SU" } "15.0.1497.40" { $suName = "Aug22SU" } "15.0.1497.36" { $suName = "May22SU"; $mesoValue = 13238 } @@ -436,8 +440,8 @@ function Get-ExchangeBuildVersionInformation { FriendlyName = $friendlyName BuildVersion = $exchangeVersion CU = $cuLevel - ReleaseDate = ([System.Convert]::ToDateTime([DateTime]$cuReleaseDate, [System.Globalization.DateTimeFormatInfo]::InvariantInfo)) - ExtendedSupportDate = ([System.Convert]::ToDateTime([DateTime]$extendedSupportDate, [System.Globalization.DateTimeFormatInfo]::InvariantInfo)) + ReleaseDate = if (-not([System.String]::IsNullOrEmpty($cuReleaseDate))) { ([System.Convert]::ToDateTime([DateTime]$cuReleaseDate, [System.Globalization.DateTimeFormatInfo]::InvariantInfo)) } else { $null } + ExtendedSupportDate = if (-not([System.String]::IsNullOrEmpty($extendedSupportDate))) { ([System.Convert]::ToDateTime([DateTime]$extendedSupportDate, [System.Globalization.DateTimeFormatInfo]::InvariantInfo)) } else { $null } Supported = $supportedBuildNumber LatestSU = $latestSUBuild ADLevel = [PSCustomObject]@{ diff --git a/docs/Admin/MonitorExchangeAuthCertificate.md b/docs/Admin/MonitorExchangeAuthCertificate.md new file mode 100644 index 0000000000..d35ee10b6b --- /dev/null +++ b/docs/Admin/MonitorExchangeAuthCertificate.md @@ -0,0 +1,134 @@ +# MonitorExchangeAuthCertificate + +Download the latest release: [MonitorExchangeAuthCertificate.ps1](https://github.com/microsoft/CSS-Exchange/releases/latest/download/MonitorExchangeAuthCertificate.ps1) + +The `MonitorExchangeAuthCertificate.ps1` PowerShell script can help you to manage the Auth Certificate used by multiple security features in Exchange Server. The script can be used to renew an already expired Auth Certificate or repair an invalid Auth Configuration in which the current Auth Certificate isn't available on all Exchange Servers running the Mailbox or Client Access Server (CAS) role. It can also manage rotation of the Auth Certificate to ensure a smooth transition to a new Auth Certificate. + +The script comes with a manual execution mode and an automation mode that works using the Windows Task Scheduler. + + +## Requirements + +To run the script, you must be a member of the `Organization Management` role group. The script must be run from an elevated Exchange Management Shell (EMS) command prompt on an Exchange Server running the Mailbox role. The script cannot be run on an Exchange Management Tools-only machine. + +## Logging + +Each run of the script is logged to the following directory: `\Logging\AuthCertificateMonitoring` + +The naming syntax of the log file is: `_.txt` + +**NOTE:** If the `` directory doesn't exists, the log file will be written to the following directory: `<$env:TEMP>\Logging\AuthCertificateMonitoring` + +## How To Run + +#### Examples: + +The following syntax runs the script in validation-only mode. It will show you the required Auth Certificate renewal action that would be performed if the script is executed in renewal mode. + +```powershell +PS C:\> .\MonitorExchangeAuthCertificate.ps1 +``` + +The following syntax executes the script in renewal mode with user interaction. The required Auth Certificate renewal action will be performed, and the administrator might see prompts that need to be confirmed before the script continues: + +```powershell +PS C:\> .\MonitorExchangeAuthCertificate.ps1 -ValidateAndRenewAuthCertificate $true +``` + +If you respond with 'Y', then the script will run in unattended mode and will not prompt you again. + +![Example output](MonitorExchangeAuthCertificate2.png) + +It's recommended to recycle the WebApp Pools when the active Auth Certificate is replaced. You should respond with 'Y'. + +![Example output](MonitorExchangeAuthCertificate1.png) + +It's not recommended to replace the internal transport certificate with the newly created Auth Certificate. You should respond with 'N'. + +![Example output](MonitorExchangeAuthCertificate3.png) + +The following syntax executes the script in renewal mode without user interaction. The required Auth Certificate renewal action will be performed. In unattended mode the internal SMTP certificate is replaced with the new Auth Certificate and then set back to the previous one. The script also restarts the `MSExchangeServiceHost` service and the `MSExchangeOWAAppPool` and `MSExchangeECPAppPool` WebApp Pools when the primary Auth Certificate has been replaced. + +**NOTE:** The script creates a new internal transport certificate if the previously configured one wasn’t found on the machine where the script is run. + +```powershell +PS C:\> .\MonitorExchangeAuthCertificate.ps1 -ValidateAndRenewAuthCertificate $true -Confirm:$false +``` + +The following syntax runs the script in renewal mode without user interaction. We only take the Exchange servers into account if they are reachable and will perform the renewal action if required. + +```powershell +PS C:\> .\MonitorExchangeAuthCertificate.ps1 -ValidateAndRenewAuthCertificate $true -IgnoreUnreachableServers $true -Confirm:$false +``` + +The following syntax executes the script in renewal mode without user interaction. The renewal action will be performed even when an Exchange hybrid configuration is detected. + +**NOTE:** You must re-run the Hybrid Configuration Wizard (HCW) after the active Auth Certificate has been replaced. + +```powershell +PS C:\> .\MonitorExchangeAuthCertificate.ps1 -ValidateAndRenewAuthCertificate $true -IgnoreHybridConfig $true -Confirm:$false +``` + +The following syntax executes the script in scheduled task mode. In this mode, the script performs the following steps: + +**NOTE:** It doesn't matter what you type into the `Username` box, so you can enter, for example `abc`. Make sure to use a password that complies with the password guidelines of your organization. + +```powershell +PS C:\> .\MonitorExchangeAuthCertificate.ps1 -ConfigureScriptToRunViaScheduledTask -Password (Get-Credential).Password +``` + +**NOTE:** The `ConfigureScriptToRunViaScheduledTask` parameter can be combined with the `IgnoreHybridConfig` and `IgnoreUnreachableServers` parameter. + +1. It creates a new Exchange Role Group, `Auth Certificate Management`, which has the following roles assigned: `View-Only Configuration`, `View-Only Recipients`, `Exchange Server Certificates`, `Organization Client Access` +2. It creates a new user account with the following User Principal Name (UPN): `SystemMailbox{b963af59-3975-4f92-9d58-ad0b1fe3a1a3}@contoso.local` +3. The user account is mail-enabled and hidden from address lists +4. The user account is added to the local Administrators group on the Exchange Server where the script is executed +5. The user account is added to the `Auth Certificate Management` Exchange Role Group +6. The script is copied to `\Scripts` +7. A new scheduled task is registered to run the script in context of the `SystemMailbox{b963af59-3975-4f92-9d58-ad0b1fe3a1a3}@contoso.local` user + +The following syntax runs the script in Active Directory (AD) account creation mode which can be useful when Exchange runs in [AD Split Permissions](https://learn.microsoft.com/exchange/permissions/split-permissions/split-permissions?view=exchserver-2019#active-directory-split-permissions) mode. An AD administrator with sufficient permissions to create a user in AD (e.g., a Domain Admin) can run the script in this mode to create the `SystemMailbox{b963af59-3975-4f92-9d58-ad0b1fe3a1a3}@contoso.local` account. The account can then be passed by the Exchange administrator via `AutomationAccountCredential` parameter as outlined in the next example. + +In this mode, the script can be executed from an elevated PowerShell command prompt (no EMS required) running on a non-Exchange Server machine with the ActiveDirectory PowerShell module installed, as it only uses cmdlets which are coming with this module. + +**NOTE:** We recommend creating a user account in the same domain where Exchange was installed. You can specify the domain by using the `ADAccountDomain` parameter. + +```powershell +PS C:\> .\MonitorExchangeAuthCertificate.ps1 -PrepareADForAutomationOnly -ADAccountDomain "root.local" +``` + +The following syntax executes the script in scheduled task mode, but it doesn't create the `SystemMailbox{b963af59-3975-4f92-9d58-ad0b1fe3a1a3}@contoso.local` user account. Instead, the account passed via `AutomationAccountCredential` parameter is used. + +```powershell +PS C:\> .\MonitorExchangeAuthCertificate.ps1 -ConfigureScriptToRunViaScheduledTask -AutomationAccountCredential (Get-Credential) +``` + +The following syntax runs the script in Auth Certificate export mode. In this mode, the script exports the current and (if configured) the next Auth Certificate as DER (Distinguished Encoding Rules) binary encoded `PKCS #12` files, using the `.pfx` file name extension. + +The naming syntax for the exported .pfx file is: `-.pfx` + +```powershell +PS C:\> .\MonitorExchangeAuthCertificate.ps1 -ExportAuthCertificatesAsPfx +``` + +The following syntax executes the script in update-only mode. In this mode, the script only checks for a more current version of the script and downloads it if found. + +```powershell +PS C:\> .\MonitorExchangeAuthCertificate.ps1 -ScriptUpdateOnly +``` + +## Parameters + +Parameter | Description +----------|------------ +ValidateAndRenewAuthCertificate | This optional parameter enables the validation and renewal mode which will perform the required actions to replace an invalid/expired Auth Certificate or configures a new next Auth Certificate if the current Auth Certificate expires in < 60 days or the certificate configured as next Auth Certificate expires in < 120 days. +IgnoreUnreachableServers | This optional parameter can be used to ignore if some of the Exchange servers within the organization cannot be reached. If this parameter is used, the script only validates the servers that can be reached and will perform Auth Certificate renewal actions based on the result. Parameter can be combined with the `IgnoreHybridConfig` parameter and can also be used with the `ConfigureScriptToRunViaScheduledTask` parameter to configure the script to run via scheduled task. +IgnoreHybridConfig | This optional parameter allows you to explicitly perform Auth Certificate renewal actions (if required) even if an Exchange hybrid configuration was detected. You need to run the HCW after the renewed Auth Certificate becomes the one in use. Parameter can be combined with the `IgnoreUnreachableServers` parameter and can also be used with the `ConfigureScriptToRunViaScheduledTask` parameter to configure the script to run via scheduled task. +PrepareADForAutomationOnly | This optional parameter can be used in AD Split Permission scenarios. It allows you to create the AD account which can then be used to run the Exchange Auth Certificate Monitoring script automatically via Task Scheduler. +ADAccountDomain | This optional parameter allows you to specify the domain which is then used by the script to generate the AD account used for automation. Parameter can be combined with the `PrepareADForAutomationOnly` parameter. +ConfigureScriptToRunViaScheduledTask | This optional parameter can be used to automatically prepare the requirements in AD (user account), Exchange (email enable the account, hide the account from address book, create a new role group with limited permissions) and finally it creates the scheduled task on the computer on which the script was executed (it has to be an Exchange server running the mailbox role). +AutomationAccountCredential | This optional parameter can be used to provide a different user under whose context the script is then executed via scheduled task. +Password | Parameter to provide a password to the script which is required in some scenarios. +ExportAuthCertificatesAsPfx | This optional parameter can be used to export all on the system available Auth Certificates as password protected .pfx file. +ScriptUpdateOnly | This optional parameter allows you to only update the script without performing any other actions. +SkipVersionCheck | This optional parameter can be used to skip the Auto Update feature to download the latest version of the script. diff --git a/docs/Admin/MonitorExchangeAuthCertificate1.png b/docs/Admin/MonitorExchangeAuthCertificate1.png new file mode 100644 index 0000000000..953ca47a11 Binary files /dev/null and b/docs/Admin/MonitorExchangeAuthCertificate1.png differ diff --git a/docs/Admin/MonitorExchangeAuthCertificate2.png b/docs/Admin/MonitorExchangeAuthCertificate2.png new file mode 100644 index 0000000000..40078635ac Binary files /dev/null and b/docs/Admin/MonitorExchangeAuthCertificate2.png differ diff --git a/docs/Admin/MonitorExchangeAuthCertificate3.png b/docs/Admin/MonitorExchangeAuthCertificate3.png new file mode 100644 index 0000000000..5941367e31 Binary files /dev/null and b/docs/Admin/MonitorExchangeAuthCertificate3.png differ diff --git a/docs/Diagnostics/HealthChecker/AuthCertificateCheck.md b/docs/Diagnostics/HealthChecker/AuthCertificateCheck.md new file mode 100644 index 0000000000..d67ee44eac --- /dev/null +++ b/docs/Diagnostics/HealthChecker/AuthCertificateCheck.md @@ -0,0 +1,33 @@ +# Auth Certificate Check + +## Description + +The Auth Configuration and Auth Certificate are used by Microsoft Exchange server to enable server-to-server authentication using the `Open Authorization (OAuth)` protocol standard. The Auth Certificate is also used by several Exchange Server security features which makes it important to be valid and available on all servers (except Edge Transport Servers) within the organization. + +An invalid Auth Certificate can lead to these and other issues: + +- Access to OWA or ECP isn't working + +- Management of your Exchange servers via Exchange Management Shell isn't working as expected + +### What does the check do? + +The HealthChecker script validates multiple configurations which are having a dependency to the Auth Certificate. The script will show you if the Auth Certificate which is configured, was found on the server against which the script is currently running. It will also highlight if the certificate has been expired. + +HealthChecker will display the certificate, which is configured as the next Auth Certificate (if there is one) and the effective date from which it becomes available for use by the AuthAdmin servicelet (Auth Certificate rotation to ensure a smooth transition to a new one). + +**Note:** It's required to run the Hybrid Configuration Wizard (HCW), if you are running an Exchange Server hybrid configuration and the primary Auth Certificate has been replaced by a new one. + +## Included in HTML Report? + +Yes + +## Additional resources + +[Maintain (rotate) the Exchange Server Auth Certificate](https://learn.microsoft.com/Exchange/plan-and-deploy/integration-with-sharepoint-and-skype/maintain-oauth-certificate?view=exchserver-2019) + +[Replace the Auth Certificate if it has already expired or isn't available](https://learn.microsoft.com/exchange/troubleshoot/administration/cannot-access-owa-or-ecp-if-oauth-expired#resolution) + +[Exchange OAuth authentication couldn't find the authorization certificate with thumbprint error when running Hybrid Configuration](https://learn.microsoft.com/exchange/troubleshoot/administration/exchange-oauth-authentication-could-not-find-the-authorization) + +[MonitorExchangeAuthCertificate.ps1 script](https://aka.ms/MonitorExchangeAuthCertificate) diff --git a/docs/Diagnostics/HealthChecker/InternalTransportCertificateCheck.md b/docs/Diagnostics/HealthChecker/InternalTransportCertificateCheck.md new file mode 100644 index 0000000000..0530210320 --- /dev/null +++ b/docs/Diagnostics/HealthChecker/InternalTransportCertificateCheck.md @@ -0,0 +1,39 @@ +# Internal Transport Certificate + +## Description + +The Internal Transport Certificate in Exchange Server is used in Exchange Server Front-End to Back-End mailflow scenarios as well as in scenarios in which the Exchange Servers communicate with each other, using the `SMTP (Simple Mail Transfer Protocol)` protocol. It is generated on a per-server base during the Exchange Server setup process and contains the computers `NetBIOS (Network Basic Input/Output System)` name as well as the `FQDN (Fully Qualified Domain Name)`. + +A missing Internal Transport Certificate can lead to a broken mailflow on or with the affected machine. It's therefore essential to have a valid certificate for this purpose on the machine. We recommend to not replace the self-signed certificate which was created by Exchange itself. + +### What does the check do? + +The check queries the certificate which is marked as Internal Transport Certificate on the server against which the script is currently running. The script will throw a warning if the certificate cannot be found on the machine. It must then be recreated by the Exchange Server administrator and set as new Internal Transport Certificate. + +### How to create a new Internal Transport Certificate? + +You can run the following PowerShell code from an elevated Exchange Management Shell (EMS). It will generate a new Internal Transport Certificate which replaces the existing one on the machine where the command was executed. + +``` +$newInternalTransportCertificateParams = @{ + Server = $env:COMPUTERNAME + KeySize = 2048 + PrivateKeyExportable = $true + FriendlyName = $env:COMPUTERNAME + DomainName = $env:COMPUTERNAME + IncludeServerFQDN = $true + Services = "SMTP" + Force = $true + ErrorAction = "Stop" +} + +New-ExchangeCertificate @newInternalTransportCertificateParams +``` + +## Included in HTML Report? + +Yes + +## Additional resources + +N/A diff --git a/docs/Diagnostics/HealthChecker/SerializedDataSigningCheck.md b/docs/Diagnostics/HealthChecker/SerializedDataSigningCheck.md new file mode 100644 index 0000000000..12430bf087 --- /dev/null +++ b/docs/Diagnostics/HealthChecker/SerializedDataSigningCheck.md @@ -0,0 +1,64 @@ +# PowerShell Serialization Payload Signing + +## Description + +Certificate-based signing of PowerShell Serialization Payload is a Defense-in-Depth security feature to prevent malicious manipulation of serialized data exchanged in Exchange Management Shell (EMS) sessions. + +The Serialized Data Signing feature was introduced with the January 2023 Exchange Server Security Update (SU). It's available on Exchange Server 2013, Exchange Server 2016 and Exchange Server 2019. + +In the first stage of rollout, this feature needs to be manually enabled by the Exchange Server administrator. This can be done by following the steps outlined below. + +The HealthChecker check validates that the feature is enabled on supported Exchange builds. It will also check if multiple `SettingOverrides` are available that collide with each other. + +### Important + +Ensure all the Exchange Servers (Exchange Server 2019, 2016 and 2013) in the environment are running the January 2023 (or later) SU before turning the feature on. Enabling the feature before all servers are updated might lead to failures and errors when managing your organization. + +This features uses the `Exchange Server Auth Certificate` to sign the serialized data. Therefore, it's very important that the certificate which is configured as Auth Certificate is valid (not expired) and available on all Exchange Servers (except Edge Transport role and Exchange Management Tools role) within the organization. + +### Exchange Server 2013 +The feature must be enabled on a per-server base by creating the following `registry value`: + +Key: `HKLM\SOFTWARE\Microsoft\ExchangeServer\v15\Diagnostics\` + +ValueType: `String` + +Value: `EnableSerializationDataSigning` + +Data: `1` + +You can create the required string value by running the following PowerShell command: + +`New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\ExchangeServer\v15\Diagnostics -Name "EnableSerializationDataSigning" -Value 1 -Type String` + +### Exchange Server 2016/2019 +The feature can be enabled on an organizational level (strongly recommended) or per-server base via `SettingOverride`: + +Organizational-wide: `New-SettingOverride -Name "EnableSigningVerification" -Component Data -Section EnableSerializationDataSigning -Parameters @("Enabled=true") -Reason "Enabling Signing Verification"` + +Per-server base: `New-SettingOverride -Name "EnableSigningVerification" -Component Data -Section EnableSerializationDataSigning -Parameters @("Enabled=true") -Reason "Enabling Signing Verification" -Server ` + +Next, refresh the VariantConfiguration argument by running the following cmdlet: +`Get-ExchangeDiagnosticInfo -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Refresh` + +### Required on Exchange 2013, 2016 and 2019 after the feature was enabled (via Registry Value or VariantConfiguration) +Restart the `World Wide Web Publishing service` and the `Windows Process Activation Service (WAS)` to apply the new settings. To do this, run the following cmdlet: +`Restart-Service -Name W3SVC, WAS -Force` + +**NOTE:** + +Exchange 2016/2019: It's sufficient to restart the services on the server where the change was made. + +Exchange 2013: It's required to restart these services on all Exchange 2013 servers whenever the registry value is updated. + +## Included in HTML Report? + +Yes + +## Additional resources + +[Released: January 2023 Exchange Server Security Updates](https://techcommunity.microsoft.com/t5/exchange-team-blog/released-january-2023-exchange-server-security-updates/ba-p/3711808) + +[Certificate signing of PowerShell serialization payload in Exchange Server](https://support.microsoft.com/kb/5022988) + +[MonitorExchangeAuthCertificate.ps1 script](https://aka.ms/MonitorExchangeAuthCertificate) diff --git a/mkdocs.yml b/mkdocs.yml index 60943558d4..d53726f1ba 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -8,6 +8,7 @@ nav: - Find-AmbiguousSids: Admin/Find-AmbiguousSids.md - Get-EASMailboxLogs: Admin/Get-EASMailboxLogs.md - Get-SimpleAuditLogReport: Admin/Get-SimpleAuditLogReport.md + - MonitorExchangeAuthCertificate: Admin/MonitorExchangeAuthCertificate.md - Remove-CertExpiryNotifications: Admin/Remove-CertExpiryNotifications.md - Reset-ScanEngineVersion: Admin/Reset-ScanEngineVersion.md - SetUnifiedContentPath: Admin/SetUnifiedContentPath.md @@ -43,6 +44,9 @@ nav: - CloudConnectorCheck: Diagnostics/HealthChecker/CloudConnectorCheck.md - TLSConfigurationCheck: Diagnostics/HealthChecker/TLSConfigurationCheck.md - CertificateCheck: Diagnostics/HealthChecker/CertificateCheck.md + - AuthCertificateCheck: Diagnostics/HealthChecker/AuthCertificateCheck.md + - SerializedDataSigningCheck: Diagnostics/HealthChecker/SerializedDataSigningCheck.md + - InternalTransportCertificateCheck: Diagnostics/HealthChecker/InternalTransportCertificateCheck.md - SMBv1Check: Diagnostics/HealthChecker/SMBv1Check.md - EEMSCheck: Diagnostics/HealthChecker/EEMSCheck.md - AMSICheck: Diagnostics/HealthChecker/AMSIIntegration.md