Get-ManagementCredential.ps1
function Get-ManagementCredential { <# .SYNOPSIS Retrieves one or more entities from the ManagementCredential entity set. .DESCRIPTION Retrieves one or more entities from the ManagementCredential entity set. You can retrieve one ore more entities from the entity set by specifying Id, Name or other properties. .INPUTS The Cmdlet can either return all available entities or filter entities on specified conditions. See PARAMETERS section on possible inputs. .OUTPUTS default | json | json-pretty | xml | xml-pretty | PSCredential In addition output can be filtered on specified properties. .EXAMPLE Get-ManagementCredential -ListAvailable -Select Name Name ---- myvCenter ActivitiClientAcct ServiceBusClientAcct WindowsAdminAcct Retrieves the name of all ManagementCredentials. .EXAMPLE Get-ManagementCredential 4 Username : Administrator EncryptedPassword : *** Id : 4 Tid : 22222222-2222-2222-2222-222222222222 Name : myvCenter Description : Description of myvCenter CreatedById : 1 ModifiedById : 1 Created : 01.12.2015 00:00:00 +01:00 Modified : 01.12.2015 00:00:00 +01:00 RowVersion : {0, 0, 0, 0...} ManagementUris : {} Tenant : CreatedBy : SYSTEM ModifiedBy : SYSTEM Retrieves the ManagementCredential object with Id 4 and returns all properties of it. .EXAMPLE Get-ManagementCredential myvCenter -Select Description -ValueOnly -ConvertFromJson Description of myvCenter Retrieves the ManagementCredential 'myvCenter' and only returns the 'Description' property of it. In addition the contents of the property will be converted from JSON. .EXAMPLE Get-ManagementCredential -ListAvailable -Select Name, Id -First 3 Name Id ---- -- myvCenter 4 ActivitiClientAcct 3 ServiceBusClientAcct 8 Retrieves the name and id of the first 3 ManagementCredentials. .EXAMPLE Get-ManagementCredential 8 -Select Name -ValueOnly ServiceBusClientAcct Retrieves the name of the ManagementCredential with Id 8. .EXAMPLE Get-ManagementCredential -ModifiedBy SYSTEM -Select Id, Name Id Name -- ---- 4 myvCenter 8 ServiceBusClientAcct Retrieves id and name of all Users that have been modified by user with name 'SYSTEM' (case insensitive substring match). .EXAMPLE Get-ManagementCredential AppclusiveScheduler -Select Value -ValueOnly -DefaultValue 42 42 Retrieves the 'Value' property of a ManagementCredential with Name 'AppclusiveScheduler' and 42 if the entity is not found. .LINK Online Version: http://dfch.biz/biz/dfch/PS/Appclusive/Client/Get-ManagementCredential/ .NOTES See module manifest for required software versions and dependencies. #> [CmdletBinding( SupportsShouldProcess = $true , ConfirmImpact = 'Low' , HelpURI = 'http://dfch.biz/biz/dfch/PS/Appclusive/Client/Get-ManagementCredential/' , DefaultParameterSetName = 'list' )] PARAM ( # Specifies an reference object of the entity [Parameter(Mandatory = $false, ValueFromPipeline = $true, Position = 0, ParameterSetName = 'pipe')] [biz.dfch.CS.Appclusive.Api.Core.ManagementUri] $InputObject , # Specifies the id of the entity [Parameter(Mandatory = $false, Position = 0, ParameterSetName = 'id')] [long] $Id , # Specifies the name of the entity [Parameter(Mandatory = $false, Position = 0, ParameterSetName = 'name')] [Alias('n')] [string] $Name , # Filter by creator [Parameter(Mandatory = $false, ParameterSetName = 'name')] [string] $CreatedBy , # Filter by modifier [Parameter(Mandatory = $false, ParameterSetName = 'name')] [string] $ModifiedBy , # Specify the attributes of the entity to return [Parameter(Mandatory = $false)] [string[]] $Select = @() , # Specifies to return only values without header information. # This parameter takes precendes over the 'Select' parameter. [ValidateScript( { if(1 -eq $Select.Count -And $_) { $true; } else { throw("You must specify exactly one 'Select' property when using 'ValueOnly'."); } } )] [Parameter(Mandatory = $false, ParameterSetName = 'name')] [Parameter(Mandatory = $false, ParameterSetName = 'id')] [Alias('HideTableHeaders')] [switch] $ValueOnly , # This value is only returned if the regular search would have returned no results [Parameter(Mandatory = $false, ParameterSetName = 'name')] [Alias('default')] $DefaultValue , # Specifies to deserialize JSON payloads [ValidateScript( { if($ValueOnly -And $_) { $true; } else { throw("You must set the 'ValueOnly' switch when using 'ConvertFromJson'."); } } )] [Parameter(Mandatory = $false, ParameterSetName = 'name')] [Parameter(Mandatory = $false, ParameterSetName = 'id')] [Alias('Convert')] [switch] $ConvertFromJson , # Limits the output to the specified number of entries [Parameter(Mandatory = $false)] [Alias('top')] [int] $First , # Service reference to Appclusive [Parameter(Mandatory = $false)] [Alias('Services')] [hashtable] $svc = (Get-Variable -Name $MyInvocation.MyCommand.Module.PrivateData.MODULEVAR -ValueOnly).Services , # Indicates to return all file information [Parameter(Mandatory = $false, ParameterSetName = 'list')] [switch] $ListAvailable = $false , # Specifies the return format of the Cmdlet [ValidateSet('default', 'json', 'json-pretty', 'xml', 'xml-pretty', 'PSCredential')] [Parameter(Mandatory = $false)] [alias('ReturnFormat')] [string] $As = 'default' ) Begin { trap { Log-Exception $_; break; } $datBegin = [datetime]::Now; [string] $fn = $MyInvocation.MyCommand.Name; Log-Debug -fn $fn -msg ("CALL. ParameterSetName '{0}'." -f $PSCmdlet.ParameterSetName) -fac 1; $EntitySetName = 'ManagementCredentials'; # Parameter validation Contract-Requires ($svc.Core -is [biz.dfch.CS.Appclusive.Api.Core.Core]) "Connect to the server before using the Cmdlet" if($Select) { $Select = $Select | Select -Unique; } } # Begin Process { trap { Log-Exception $_; break; } # Default test variable for checking function response codes. [Boolean] $fReturn = $false; # Return values are always and only returned via OutputParameter. $OutputParameter = $null; Contract-Assert ($PSCmdlet.ShouldProcess(($PSBoundParameters | Out-String))) if($PSCmdlet.ParameterSetName -eq 'pipe') { # Get ValueFromPipeline foreach($Object in $InputObject) { if($PSCmdlet.ShouldProcess($Object) -and $Object.ManagementCredentialId) { $LimitedParameters = $PSBoundParameters; $null = $LimitedParameters.Remove("InputObject"); return Get-ManagementCredential -Id $Object.ManagementCredentialId @LimitedParameters; } } return; } if($PSCmdlet.ParameterSetName -eq 'list') { if($Select) { if($PSBoundParameters.ContainsKey('First')) { $Response = $svc.Core.$EntitySetName.AddQueryOption('$orderby','Name').AddQueryOption('$top', $First) | Select -Property $Select; } else { $Response = $svc.Core.$EntitySetName.AddQueryOption('$orderby','Name') | Select -Property $Select; } } else { if($PSBoundParameters.ContainsKey('First')) { $Response = $svc.Core.$EntitySetName.AddQueryOption('$orderby','Name').AddQueryOption('$top', $First) | Select; } else { $Response = $svc.Core.$EntitySetName.AddQueryOption('$orderby','Name') | Select; } } } else { $Exp = @(); if($PSCmdlet.ParameterSetName -eq 'id') { $Exp += ("Id eq {0}" -f $Id); } if($Name) { $Exp += ("tolower(Name) eq '{0}'" -f $Name.ToLower()); } if($CreatedBy) { $CreatedById = Get-User -svc $svc -Name $CreatedBy -Select Id -ValueOnly; if ( !$CreatedById ) { # User not found return; } $Exp += ("(CreatedById eq {0})" -f $CreatedById); } if($ModifiedBy) { $ModifiedById = Get-User -svc $svc -Name $ModifiedBy -Select Id -ValueOnly; if ( !$ModifiedById ) { # User not found return; } $Exp += ("(ModifiedById eq {0})" -f $ModifiedById); } $FilterExpression = [String]::Join(' and ', $Exp); if($Select) { if($PSBoundParameters.ContainsKey('First')) { $Response = $svc.Core.$EntitySetName.AddQueryOption('$filter', $FilterExpression).AddQueryOption('$top', $First) | Select -Property $Select; } else { $Response = $svc.Core.$EntitySetName.AddQueryOption('$filter', $FilterExpression) | Select -Property $Select; } } else { if($PSBoundParameters.ContainsKey('First')) { $Response = $svc.Core.$EntitySetName.AddQueryOption('$filter', $FilterExpression).AddQueryOption('$top', $First) | Select; } else { $Response = $svc.Core.$EntitySetName.AddQueryOption('$filter', $FilterExpression) | Select; } } if(1 -eq $Select.Count -And $ValueOnly) { $Response = $Response.$Select; } if($PSBoundParameters.ContainsKey('DefaultValue') -And !$Response) { $Response = $DefaultValue; } if($ValueOnly -And $ConvertFromJson) { $ResponseTemp = New-Object System.Collections.ArrayList; foreach($item in $Response) { try { $null = $ResponseTemp.Add((ConvertFrom-Json -InputObject $item)); } catch { $null = $ResponseTemp.Add($item); } } $Response = $ResponseTemp.ToArray(); } } if($As -eq 'PSCredential') { $password = $Response.Password | ConvertTo-SecureString -asPlainText -Force; $credential = New-Object System.Management.Automation.PSCredential($Response.Username, $password); $OutputParameter = $credential; } else { $OutputParameter = Format-ResultAs $Response $As } $fReturn = $true; } # Process End { $datEnd = [datetime]::Now; Log-Debug -fn $fn -msg ("RET. fReturn: [{0}]. Execution time: [{1}]ms. Started: [{2}]." -f $fReturn, ($datEnd - $datBegin).TotalMilliseconds, $datBegin.ToString('yyyy-MM-dd HH:mm:ss.fffzzz')) -fac 2; # Return values are always and only returned via OutputParameter. return $OutputParameter; } # End } # function if($MyInvocation.ScriptName) { Export-ModuleMember -Function Get-ManagementCredential; } # # Copyright 2014-2015 d-fens GmbH # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # SIG # Begin signature block # MIIXDwYJKoZIhvcNAQcCoIIXADCCFvwCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUra0yAWZYsmuzMv1PSxokDJBF # 3mKgghHCMIIEFDCCAvygAwIBAgILBAAAAAABL07hUtcwDQYJKoZIhvcNAQEFBQAw # VzELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNV # BAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xMTA0 # MTMxMDAwMDBaFw0yODAxMjgxMjAwMDBaMFIxCzAJBgNVBAYTAkJFMRkwFwYDVQQK # ExBHbG9iYWxTaWduIG52LXNhMSgwJgYDVQQDEx9HbG9iYWxTaWduIFRpbWVzdGFt # cGluZyBDQSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlO9l # +LVXn6BTDTQG6wkft0cYasvwW+T/J6U00feJGr+esc0SQW5m1IGghYtkWkYvmaCN # d7HivFzdItdqZ9C76Mp03otPDbBS5ZBb60cO8eefnAuQZT4XljBFcm05oRc2yrmg # jBtPCBn2gTGtYRakYua0QJ7D/PuV9vu1LpWBmODvxevYAll4d/eq41JrUJEpxfz3 # zZNl0mBhIvIG+zLdFlH6Dv2KMPAXCae78wSuq5DnbN96qfTvxGInX2+ZbTh0qhGL # 2t/HFEzphbLswn1KJo/nVrqm4M+SU4B09APsaLJgvIQgAIMboe60dAXBKY5i0Eex # +vBTzBj5Ljv5cH60JQIDAQABo4HlMIHiMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMB # Af8ECDAGAQH/AgEAMB0GA1UdDgQWBBRG2D7/3OO+/4Pm9IWbsN1q1hSpwTBHBgNV # HSAEQDA+MDwGBFUdIAAwNDAyBggrBgEFBQcCARYmaHR0cHM6Ly93d3cuZ2xvYmFs # c2lnbi5jb20vcmVwb3NpdG9yeS8wMwYDVR0fBCwwKjAooCagJIYiaHR0cDovL2Ny # bC5nbG9iYWxzaWduLm5ldC9yb290LmNybDAfBgNVHSMEGDAWgBRge2YaRQ2XyolQ # L30EzTSo//z9SzANBgkqhkiG9w0BAQUFAAOCAQEATl5WkB5GtNlJMfO7FzkoG8IW # 3f1B3AkFBJtvsqKa1pkuQJkAVbXqP6UgdtOGNNQXzFU6x4Lu76i6vNgGnxVQ380W # e1I6AtcZGv2v8Hhc4EvFGN86JB7arLipWAQCBzDbsBJe/jG+8ARI9PBw+DpeVoPP # PfsNvPTF7ZedudTbpSeE4zibi6c1hkQgpDttpGoLoYP9KOva7yj2zIhd+wo7AKvg # IeviLzVsD440RZfroveZMzV+y5qKu0VN5z+fwtmK+mWybsd+Zf/okuEsMaL3sCc2 # SI8mbzvuTXYfecPlf5Y1vC0OzAGwjn//UYCAp5LUs0RGZIyHTxZjBzFLY7Df8zCC # BCkwggMRoAMCAQICCwQAAAAAATGJxjfoMA0GCSqGSIb3DQEBCwUAMEwxIDAeBgNV # BAsTF0dsb2JhbFNpZ24gUm9vdCBDQSAtIFIzMRMwEQYDVQQKEwpHbG9iYWxTaWdu # MRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTExMDgwMjEwMDAwMFoXDTE5MDgwMjEw # MDAwMFowWjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2Ex # MDAuBgNVBAMTJ0dsb2JhbFNpZ24gQ29kZVNpZ25pbmcgQ0EgLSBTSEEyNTYgLSBH # MjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKPv0Z8p6djTgnY8YqDS # SdYWHvHP8NC6SEMDLacd8gE0SaQQ6WIT9BP0FoO11VdCSIYrlViH6igEdMtyEQ9h # JuH6HGEVxyibTQuCDyYrkDqW7aTQaymc9WGI5qRXb+70cNCNF97mZnZfdB5eDFM4 # XZD03zAtGxPReZhUGks4BPQHxCMD05LL94BdqpxWBkQtQUxItC3sNZKaxpXX9c6Q # MeJ2s2G48XVXQqw7zivIkEnotybPuwyJy9DDo2qhydXjnFMrVyb+Vpp2/WFGomDs # KUZH8s3ggmLGBFrn7U5AXEgGfZ1f53TJnoRlDVve3NMkHLQUEeurv8QfpLqZ0BdY # Nc0CAwEAAaOB/TCB+jAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIB # ADAdBgNVHQ4EFgQUGUq4WuRNMaUU5V7sL6Mc+oCMMmswRwYDVR0gBEAwPjA8BgRV # HSAAMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3Jl # cG9zaXRvcnkvMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwuZ2xvYmFsc2ln # bi5uZXQvcm9vdC1yMy5jcmwwEwYDVR0lBAwwCgYIKwYBBQUHAwMwHwYDVR0jBBgw # FoAUj/BLf6guRSSuTVD6Y5qL3uLdG7wwDQYJKoZIhvcNAQELBQADggEBAHmwaTTi # BYf2/tRgLC+GeTQD4LEHkwyEXPnk3GzPbrXsCly6C9BoMS4/ZL0Pgmtmd4F/ximl # F9jwiU2DJBH2bv6d4UgKKKDieySApOzCmgDXsG1szYjVFXjPE/mIpXNNwTYr3MvO # 23580ovvL72zT006rbtibiiTxAzL2ebK4BEClAOwvT+UKFaQHlPCJ9XJPM0aYx6C # WRW2QMqngarDVa8z0bV16AnqRwhIIvtdG/Mseml+xddaXlYzPK1X6JMlQsPSXnE7 # ShxU7alVrCgFx8RsXdw8k/ZpPIJRzhoVPV4Bc/9Aouq0rtOO+u5dbEfHQfXUVlfy # GDcy1tTMS/Zx4HYwggSfMIIDh6ADAgECAhIRIdaZp2SXPvH4Qn7pGcxTQRQwDQYJ # KoZIhvcNAQEFBQAwUjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24g # bnYtc2ExKDAmBgNVBAMTH0dsb2JhbFNpZ24gVGltZXN0YW1waW5nIENBIC0gRzIw # HhcNMTYwNTI0MDAwMDAwWhcNMjcwNjI0MDAwMDAwWjBgMQswCQYDVQQGEwJTRzEf # MB0GA1UEChMWR01PIEdsb2JhbFNpZ24gUHRlIEx0ZDEwMC4GA1UEAxMnR2xvYmFs # U2lnbiBUU0EgZm9yIE1TIEF1dGhlbnRpY29kZSAtIEcyMIIBIjANBgkqhkiG9w0B # AQEFAAOCAQ8AMIIBCgKCAQEAsBeuotO2BDBWHlgPse1VpNZUy9j2czrsXV6rJf02 # pfqEw2FAxUa1WVI7QqIuXxNiEKlb5nPWkiWxfSPjBrOHOg5D8NcAiVOiETFSKG5d # QHI88gl3p0mSl9RskKB2p/243LOd8gdgLE9YmABr0xVU4Prd/4AsXximmP/Uq+yh # RVmyLm9iXeDZGayLV5yoJivZF6UQ0kcIGnAsM4t/aIAqtaFda92NAgIpA6p8N7u7 # KU49U5OzpvqP0liTFUy5LauAo6Ml+6/3CGSwekQPXBDXX2E3qk5r09JTJZ2Cc/os # +XKwqRk5KlD6qdA8OsroW+/1X1H0+QrZlzXeaoXmIwRCrwIDAQABo4IBXzCCAVsw # DgYDVR0PAQH/BAQDAgeAMEwGA1UdIARFMEMwQQYJKwYBBAGgMgEeMDQwMgYIKwYB # BQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMAkG # A1UdEwQCMAAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwQgYDVR0fBDswOTA3oDWg # M4YxaHR0cDovL2NybC5nbG9iYWxzaWduLmNvbS9ncy9nc3RpbWVzdGFtcGluZ2cy # LmNybDBUBggrBgEFBQcBAQRIMEYwRAYIKwYBBQUHMAKGOGh0dHA6Ly9zZWN1cmUu # Z2xvYmFsc2lnbi5jb20vY2FjZXJ0L2dzdGltZXN0YW1waW5nZzIuY3J0MB0GA1Ud # DgQWBBTUooRKOFoYf7pPMFC9ndV6h9YJ9zAfBgNVHSMEGDAWgBRG2D7/3OO+/4Pm # 9IWbsN1q1hSpwTANBgkqhkiG9w0BAQUFAAOCAQEAj6kakW0EpjcgDoOW3iPTa24f # bt1kPWghIrX4RzZpjuGlRcckoiK3KQnMVFquxrzNY46zPVBI5bTMrs2SjZ4oixNK # Eaq9o+/Tsjb8tKFyv22XY3mMRLxwL37zvN2CU6sa9uv6HJe8tjecpBwwvKu8LUc2 # 35IgA+hxxlj2dQWaNPALWVqCRDSqgOQvhPZHXZbJtsrKnbemuuRQ09Q3uLogDtDT # kipbxFm7oW3bPM5EncE4Kq3jjb3NCXcaEL5nCgI2ZIi5sxsm7ueeYMRGqLxhM2zP # TrmcuWrwnzf+tT1PmtNN/94gjk6Xpv2fCbxNyhh2ybBNhVDygNIdBvVYBAexGDCC # BNYwggO+oAMCAQICEhEhDRayW4wRltP+V8mGEea62TANBgkqhkiG9w0BAQsFADBa # MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEwMC4GA1UE # AxMnR2xvYmFsU2lnbiBDb2RlU2lnbmluZyBDQSAtIFNIQTI1NiAtIEcyMB4XDTE1 # MDUwNDE2NDMyMVoXDTE4MDUwNDE2NDMyMVowVTELMAkGA1UEBhMCQ0gxDDAKBgNV # BAgTA1p1ZzEMMAoGA1UEBxMDWnVnMRQwEgYDVQQKEwtkLWZlbnMgR21iSDEUMBIG # A1UEAxMLZC1mZW5zIEdtYkgwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB # AQDNPSzSNPylU9jFM78Q/GjzB7N+VNqikf/use7p8mpnBZ4cf5b4qV3rqQd62rJH # RlAsxgouCSNQrl8xxfg6/t/I02kPvrzsR4xnDgMiVCqVRAeQsWebafWdTvWmONBS # lxJejPP8TSgXMKFaDa+2HleTycTBYSoErAZSWpQ0NqF9zBadjsJRVatQuPkTDrwL # eWibiyOipK9fcNoQpl5ll5H9EG668YJR3fqX9o0TQTkOmxXIL3IJ0UxdpyDpLEkt # tBG6Y5wAdpF2dQX2phrfFNVY54JOGtuBkNGMSiLFzTkBA1fOlA6ICMYjB8xIFxVv # rN1tYojCrqYkKMOjwWQz5X8zAgMBAAGjggGZMIIBlTAOBgNVHQ8BAf8EBAMCB4Aw # TAYDVR0gBEUwQzBBBgkrBgEEAaAyATIwNDAyBggrBgEFBQcCARYmaHR0cHM6Ly93 # d3cuZ2xvYmFsc2lnbi5jb20vcmVwb3NpdG9yeS8wCQYDVR0TBAIwADATBgNVHSUE # DDAKBggrBgEFBQcDAzBCBgNVHR8EOzA5MDegNaAzhjFodHRwOi8vY3JsLmdsb2Jh # bHNpZ24uY29tL2dzL2dzY29kZXNpZ25zaGEyZzIuY3JsMIGQBggrBgEFBQcBAQSB # gzCBgDBEBggrBgEFBQcwAoY4aHR0cDovL3NlY3VyZS5nbG9iYWxzaWduLmNvbS9j # YWNlcnQvZ3Njb2Rlc2lnbnNoYTJnMi5jcnQwOAYIKwYBBQUHMAGGLGh0dHA6Ly9v # Y3NwMi5nbG9iYWxzaWduLmNvbS9nc2NvZGVzaWduc2hhMmcyMB0GA1UdDgQWBBTN # GDddiIYZy9p3Z84iSIMd27rtUDAfBgNVHSMEGDAWgBQZSrha5E0xpRTlXuwvoxz6 # gIwyazANBgkqhkiG9w0BAQsFAAOCAQEAAApsOzSX1alF00fTeijB/aIthO3UB0ks # 1Gg3xoKQC1iEQmFG/qlFLiufs52kRPN7L0a7ClNH3iQpaH5IEaUENT9cNEXdKTBG # 8OrJS8lrDJXImgNEgtSwz0B40h7bM2Z+0DvXDvpmfyM2NwHF/nNVj7NzmczrLRqN # 9de3tV0pgRqnIYordVcmb24CZl3bzpwzbQQy14Iz+P5Z2cnw+QaYzAuweTZxEUcJ # bFwpM49c1LMPFJTuOKkUgY90JJ3gVTpyQxfkc7DNBnx74PlRzjFmeGC/hxQt0hvo # eaAiBdjo/1uuCTToigVnyRH+c0T2AezTeoFb7ne3I538hWeTdU5q9jGCBLcwggSz # AgEBMHAwWjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2Ex # MDAuBgNVBAMTJ0dsb2JhbFNpZ24gQ29kZVNpZ25pbmcgQ0EgLSBTSEEyNTYgLSBH # MgISESENFrJbjBGW0/5XyYYR5rrZMAkGBSsOAwIaBQCgeDAYBgorBgEEAYI3AgEM # MQowCKACgAChAoAAMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQB # gjcCAQsxDjAMBgorBgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEWBBSfLnr/IpOOuX/q # MPz9+IsoRQmM8zANBgkqhkiG9w0BAQEFAASCAQBGfkAGLHtexEbC4jD2TI31IYQF # 3Pxr5Ls5sIMG9J7Uy1QeLPbSnh+HWgYsCOl4sBLyYyDu66eMYGRRQ9dpo9L50gWt # QNpj0e96CPDna/keEYA5/yH3DeHpJwYN4pvWu8zRsO8z0OvO6TSmFn66DOAQHkfj # SE1w5EMoi7K3lrGqozAnUkY9loBVuoGvPqqLEpsn92LNKt1NB54At+gfgwamFjk+ # AUN9EemVkPCqa9bfPItK41ZDBj7XZZahKH/ba7Kd6q+WwHtkatSIRWfwGhyv/FBp # kLo7bFV3IFXZDpi/QO7XMmnwEJLNzl30UNJ5XQJkbKjEvqn8uk/pJiz9WPGCoYIC # ojCCAp4GCSqGSIb3DQEJBjGCAo8wggKLAgEBMGgwUjELMAkGA1UEBhMCQkUxGTAX # BgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExKDAmBgNVBAMTH0dsb2JhbFNpZ24gVGlt # ZXN0YW1waW5nIENBIC0gRzICEhEh1pmnZJc+8fhCfukZzFNBFDAJBgUrDgMCGgUA # oIH9MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE2 # MDgyNDE1NTQxMFowIwYJKoZIhvcNAQkEMRYEFPevGL2X5w7b5o8/Ho23d9Pza4Ey # MIGdBgsqhkiG9w0BCRACDDGBjTCBijCBhzCBhAQUY7gvq2H1g5CWlQULACScUCkz # 7HkwbDBWpFQwUjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYt # c2ExKDAmBgNVBAMTH0dsb2JhbFNpZ24gVGltZXN0YW1waW5nIENBIC0gRzICEhEh # 1pmnZJc+8fhCfukZzFNBFDANBgkqhkiG9w0BAQEFAASCAQCBJ0tVXY1qGNTnQCnH # O4VGrdZA1Vo+NR89lFsM1+Vi3W5CmsR+Ka6EWRE8SlSHsq8v9GgxyzFANuj7u2qe # g2JLDf3UQZkkBvzTeldcpX6uIGinLeotvzwjuKOSaE0xmm3vOKLjqzwIFXIIg4GM # mjaf65ESUzPllI6vVmsd43qzcVIOhI5H4oggGNLEFkIuO3DNF45djqUCICWud4tr # Pmr8OoJOpbBAhN11W3Id0UZchjKYl8E3vqv4P1O23DugjBMdSRUA0MWFKFKY2IPB # 5V6WPnEnQ+xGiVex/P2rNrR6oqWI6fyjsA5GyLcM03C4g1nQSGjnU9mjy7Q2iTT1 # HEm5 # SIG # End signature block |