private/ConvertFrom-ResultPropertyValue.ps1
|
<#
.SYNOPSIS Converts ADSI ResultPropertyValueCollection values to appropriate PowerShell types. .DESCRIPTION This function centralizes the conversion logic for ADSI property values, handling: - Binary data conversions (ObjectSid, ObjectGUID) - DateTime conversions (FileTime attributes, AD timestamp formats) - Large Integer conversions - Single vs. multiple value handling - Boolean flags and userAccountControl bits .PARAMETER PropertyName The name of the AD property being converted. .PARAMETER PropertyValue The value(s) from the ResultPropertyValueCollection. .EXAMPLE ConvertFrom-ResultPropertyValue -PropertyName "objectSid" -PropertyValue $entry.Properties["objectSid"] Converts a binary SID to a string representation. .EXAMPLE ConvertFrom-ResultPropertyValue -PropertyName "memberOf" -PropertyValue $entry.Properties["memberOf"] Returns an array of group memberships. .NOTES Function : ConvertFrom-ResultPropertyValue Author : John Billekens Consultancy Copyright : Copyright (c) AppVentiX Version : 1.0 Requires : Valid AppVentiX license #> function ConvertFrom-ResultPropertyValue { [CmdletBinding()] param( [Parameter(Mandatory)] [string]$PropertyName, [Parameter(Mandatory)] [AllowNull()] $PropertyValue ) # Return null if no value if (-not $PropertyValue) { return $null } # Extract value(s) from ResultPropertyValueCollection $values = @($PropertyValue) # Handle special binary and datetime conversions based on property name switch -Regex ($PropertyName) { '^objectsid$' { if ($values[0]) { try { return (New-Object System.Security.Principal.SecurityIdentifier($values[0], 0)).Value } catch { Write-Warning "Failed to convert ObjectSid: $_" return $null } } return $null } '^objectguid$' { if ($values[0]) { try { return ([System.Guid]$values[0]).ToString() } catch { Write-Warning "Failed to convert ObjectGUID: $_" return $null } } return $null } # FileTime properties (64-bit integer representing 100-nanosecond intervals since 1601-01-01) '^(accountexpires|lastlogon|lastlogontimestamp|pwdlastset|badpasswordtime|lockouttime)$' { if ($values[0]) { try { $fileTimeValue = [Int64]$values[0] # Skip special values: # 0 = not set # 9223372036854775807 (0x7FFFFFFFFFFFFFFF) = never expires if ($fileTimeValue -eq 0 -or $fileTimeValue -eq 9223372036854775807) { return $null } return [DateTime]::FromFileTime($fileTimeValue) } catch { Write-Warning "Failed to convert FileTime value for ${PropertyName}: $_" return $null } } return $null } # GeneralizedTime format (UTC string like "20250103120000.0Z") '^(whencreated|whenchanged)$' { if ($values[0]) { try { # ADSI returns these as DateTime objects, but handle string format if needed if ($values[0] -is [string]) { return [DateTime]::ParseExact($values[0].Substring(0, 14), 'yyyyMMddHHmmss', $null) } else { return [DateTime]$values[0] } } catch { Write-Warning "Failed to convert DateTime value for ${PropertyName}: $_" return $null } } return $null } # userAccountControl - return as integer for bitwise operations '^useraccountcontrol$' { if ($values[0]) { try { return [int]$values[0] } catch { Write-Warning "Failed to convert userAccountControl: $_" return $null } } return $null } # groupType - return as integer for bitwise operations '^grouptype$' { if ($values[0]) { try { return [int]$values[0] } catch { Write-Warning "Failed to convert groupType: $_" return $null } } return $null } # objectClass - return the most specific class (last in inheritance chain) # AD returns this as multi-valued: ["top", "person", "organizationalPerson", "user"] # We want the most derived class: "user" '^objectclass$' { if ($values.Count -gt 1) { # Return the last (most specific) class in the inheritance chain return $values[-1] } elseif ($values.Count -eq 1) { return $values[0] } return $null } } # Handle single vs multiple values if ($values.Count -eq 1) { # Return single value (preserve original type if possible) $value = $values[0] # Convert byte arrays to Base64 for binary properties (like thumbnailPhoto, userCertificate) if ($value -is [byte[]]) { # For large binary data, keep as byte array # Caller can convert to Base64 if needed return $value } # Return as-is for other types return $value } else { # Return multiple values as array return @($values | ForEach-Object { $_ }) } } # SIG # Begin signature block # MII6wAYJKoZIhvcNAQcCoII6sTCCOq0CAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBdGpnaqDHiADZp # 1C0FI3lA9DDvHcGqFcG5jr4J3Qx3jqCCIuQwggXMMIIDtKADAgECAhBUmNLR1FsZ # lUgTecgRwIeZMA0GCSqGSIb3DQEBDAUAMHcxCzAJBgNVBAYTAlVTMR4wHAYDVQQK # ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jvc29mdCBJZGVu # dGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAy # MDAeFw0yMDA0MTYxODM2MTZaFw00NTA0MTYxODQ0NDBaMHcxCzAJBgNVBAYTAlVT # MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBGBgNVBAMTP01pY3Jv # c29mdCBJZGVudGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRo # b3JpdHkgMjAyMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALORKgeD # Bmf9np3gx8C3pOZCBH8Ppttf+9Va10Wg+3cL8IDzpm1aTXlT2KCGhFdFIMeiVPvH # or+Kx24186IVxC9O40qFlkkN/76Z2BT2vCcH7kKbK/ULkgbk/WkTZaiRcvKYhOuD # PQ7k13ESSCHLDe32R0m3m/nJxxe2hE//uKya13NnSYXjhr03QNAlhtTetcJtYmrV # qXi8LW9J+eVsFBT9FMfTZRY33stuvF4pjf1imxUs1gXmuYkyM6Nix9fWUmcIxC70 # ViueC4fM7Ke0pqrrBc0ZV6U6CwQnHJFnni1iLS8evtrAIMsEGcoz+4m+mOJyoHI1 # vnnhnINv5G0Xb5DzPQCGdTiO0OBJmrvb0/gwytVXiGhNctO/bX9x2P29Da6SZEi3 # W295JrXNm5UhhNHvDzI9e1eM80UHTHzgXhgONXaLbZ7LNnSrBfjgc10yVpRnlyUK # xjU9lJfnwUSLgP3B+PR0GeUw9gb7IVc+BhyLaxWGJ0l7gpPKWeh1R+g/OPTHU3mg # trTiXFHvvV84wRPmeAyVWi7FQFkozA8kwOy6CXcjmTimthzax7ogttc32H83rwjj # O3HbbnMbfZlysOSGM1l0tRYAe1BtxoYT2v3EOYI9JACaYNq6lMAFUSw0rFCZE4e7 # swWAsk0wAly4JoNdtGNz764jlU9gKL431VulAgMBAAGjVDBSMA4GA1UdDwEB/wQE # AwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTIftJqhSobyhmYBAcnz1AQ # T2ioojAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQwFAAOCAgEAr2rd5hnn # LZRDGU7L6VCVZKUDkQKL4jaAOxWiUsIWGbZqWl10QzD0m/9gdAmxIR6QFm3FJI9c # Zohj9E/MffISTEAQiwGf2qnIrvKVG8+dBetJPnSgaFvlVixlHIJ+U9pW2UYXeZJF # xBA2CFIpF8svpvJ+1Gkkih6PsHMNzBxKq7Kq7aeRYwFkIqgyuH4yKLNncy2RtNwx # AQv3Rwqm8ddK7VZgxCwIo3tAsLx0J1KH1r6I3TeKiW5niB31yV2g/rarOoDXGpc8 # FzYiQR6sTdWD5jw4vU8w6VSp07YEwzJ2YbuwGMUrGLPAgNW3lbBeUU0i/OxYqujY # lLSlLu2S3ucYfCFX3VVj979tzR/SpncocMfiWzpbCNJbTsgAlrPhgzavhgplXHT2 # 6ux6anSg8Evu75SjrFDyh+3XOjCDyft9V77l4/hByuVkrrOj7FjshZrM77nq81YY # uVxzmq/FdxeDWds3GhhyVKVB0rYjdaNDmuV3fJZ5t0GNv+zcgKCf0Xd1WF81E+Al # GmcLfc4l+gcK5GEh2NQc5QfGNpn0ltDGFf5Ozdeui53bFv0ExpK91IjmqaOqu/dk # ODtfzAzQNb50GQOmxapMomE2gj4d8yu8l13bS3g7LfU772Aj6PXsCyM2la+YZr9T # 03u4aUoqlmZpxJTG9F9urJh4iIAGXKKy7aIwggcGMIIE7qADAgECAhMzAAfM8rDv # Jyd7QZv4AAAAB8zyMA0GCSqGSIb3DQEBDAUAMFoxCzAJBgNVBAYTAlVTMR4wHAYD # VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKzApBgNVBAMTIk1pY3Jvc29mdCBJ # RCBWZXJpZmllZCBDUyBFT0MgQ0EgMDIwHhcNMjYwNDAyMjE0MTIwWhcNMjYwNDA1 # MjE0MTIwWjCBgzELMAkGA1UEBhMCTkwxFjAUBgNVBAgTDU5vb3JkLUJyYWJhbnQx # EjAQBgNVBAcTCVNjaGlqbmRlbDEjMCEGA1UEChMaSm9obiBCaWxsZWtlbnMgQ29u # c3VsdGFuY3kxIzAhBgNVBAMTGkpvaG4gQmlsbGVrZW5zIENvbnN1bHRhbmN5MIIB # ojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAql2zC5qD+WbLZzawVOEM6hmw # E525pZhueIRBk85Br6ZG8FoUZl7WzaPQV6JlW6kukWABJbvNbIKzQnLhu+SmCtBF # 5OA+rjaAREtoajEbtuL+N7rmNVrPTe7POYz2lgLn3VL/0l+xTMI402gfo/Vvha2H # ItsKRA93A7FHmWxnnhyA7p2ucpLfJNdNoCK1XsB22sNdhTqV8/TWRTuGzYP+FvTp # jhdcq/xyy16jKdwIgNOXCCAU9U4EO1TLR1WTTmxQNOWy5dNdP48HYLiACx/d9Gf1 # EVytoAgxmsNon12TmLU/FW1KUddP91DcbCmvEg0Zmab/UBPg0bRRufv8oGeJqnb9 # bcCUxCH99cPAvIe0MLg4qCtRM80fA36yz4/dfIC7xowKEUxhR7/kWUfg+3mKA2nJ # F6qSv3+llYtt7O6GRPWD40Rk9LGbSQD3+uCuAIBUNqh4Sokq1q+j+8jjU4yBNFBc # tL1HsI6KXgTLWBO81v+mX+Fs62Euo8AfRByW7HhRAgMBAAGjggIZMIICFTAMBgNV # HRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDA8BgNVHSUENTAzBgorBgEEAYI3YQEA # BggrBgEFBQcDAwYbKwYBBAGCN2G789NTgYr4ukmC0/31KIOytcN0MB0GA1UdDgQW # BBQKkf4WVoYJs/qIk34nGHoMkkbjSzAfBgNVHSMEGDAWgBRln1HOhWh/L4pFiKrd # pzG7Hg0AXjBnBgNVHR8EYDBeMFygWqBYhlZodHRwOi8vd3d3Lm1pY3Jvc29mdC5j # b20vcGtpb3BzL2NybC9NaWNyb3NvZnQlMjBJRCUyMFZlcmlmaWVkJTIwQ1MlMjBF # T0MlMjBDQSUyMDAyLmNybDCBpQYIKwYBBQUHAQEEgZgwgZUwZAYIKwYBBQUHMAKG # WGh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0 # JTIwSUQlMjBWZXJpZmllZCUyMENTJTIwRU9DJTIwQ0ElMjAwMi5jcnQwLQYIKwYB # BQUHMAGGIWh0dHA6Ly9vbmVvY3NwLm1pY3Jvc29mdC5jb20vb2NzcDBmBgNVHSAE # XzBdMFEGDCsGAQQBgjdMg30BATBBMD8GCCsGAQUFBwIBFjNodHRwOi8vd3d3Lm1p # Y3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9yeS5odG0wCAYGZ4EMAQQB # MA0GCSqGSIb3DQEBDAUAA4ICAQC74nf6TvL5WCfrJh27QL0oRpanrcasjQ1NTjWc # SfyFdOv0IxPLaTcDfmin4wwOwgESPhnSPNWDwFf7tatAOG6pTL4MG2Op+izJPbGa # ap0Hht3E0qTTsgaoxC2CEgnfeInM2SCKIbf7ymTd76TfqQSDUQdz25Z343yKOPLT # 5WI/krGe4zCQh+ObMqhTfRTi31YQa+k9fRCALCGcVuu6nrfEC36y5zh8OmxbmawY # L/CgWg2V5OYx5EA3WXgFnJbgrt3YpL6rxNKcFTvqmqEkc5X1g6CucGXLkAH1x2CC # HoPQ/D5212vdFoPXLhHjASEbIi5VyzA77rFJF1ahcWO+pHI5YyQ4pvVrPCQ2im1D # vsihP12hTrlHxdSQnB57pBvKHPRyZdKIxl0eurYdsNIqdspSi0VuWbLB+xUwJhZf # cSmFBg9uIGVrQrt9MHAKzmcSAJQJn70BmaMmOgR5JbYsDOU4TIRg0p7h5XKWTvso # 1wGR/Ondg7CdFb68kfjNhUAZtCUNd4HdxcgVqkeaLV6teIpNChYu2EUuzOAG7P1V # hdz3fhn6WoKU6Yaj6mkIPOcBBJzM3ecoriYrrg2GQePxgWJltU6+zwA2PRrqzUzJ # Brkln75enYK+/KjaCrNE98LiX2/aHHkFDCxd2fwl47iSkdSR57klynfkL+28Lf2e # WhjDFzCCBwYwggTuoAMCAQICEzMAB8zysO8nJ3tBm/gAAAAHzPIwDQYJKoZIhvcN # AQEMBQAwWjELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh # dGlvbjErMCkGA1UEAxMiTWljcm9zb2Z0IElEIFZlcmlmaWVkIENTIEVPQyBDQSAw # MjAeFw0yNjA0MDIyMTQxMjBaFw0yNjA0MDUyMTQxMjBaMIGDMQswCQYDVQQGEwJO # TDEWMBQGA1UECBMNTm9vcmQtQnJhYmFudDESMBAGA1UEBxMJU2NoaWpuZGVsMSMw # IQYDVQQKExpKb2huIEJpbGxla2VucyBDb25zdWx0YW5jeTEjMCEGA1UEAxMaSm9o # biBCaWxsZWtlbnMgQ29uc3VsdGFuY3kwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAw # ggGKAoIBgQCqXbMLmoP5ZstnNrBU4QzqGbATnbmlmG54hEGTzkGvpkbwWhRmXtbN # o9BXomVbqS6RYAElu81sgrNCcuG75KYK0EXk4D6uNoBES2hqMRu24v43uuY1Ws9N # 7s85jPaWAufdUv/SX7FMwjjTaB+j9W+FrYci2wpED3cDsUeZbGeeHIDuna5ykt8k # 102gIrVewHbaw12FOpXz9NZFO4bNg/4W9OmOF1yr/HLLXqMp3AiA05cIIBT1TgQ7 # VMtHVZNObFA05bLl010/jwdguIALH930Z/URXK2gCDGaw2ifXZOYtT8VbUpR10/3 # UNxsKa8SDRmZpv9QE+DRtFG5+/ygZ4mqdv1twJTEIf31w8C8h7QwuDioK1EzzR8D # frLPj918gLvGjAoRTGFHv+RZR+D7eYoDackXqpK/f6WVi23s7oZE9YPjRGT0sZtJ # APf64K4AgFQ2qHhKiSrWr6P7yONTjIE0UFy0vUewjopeBMtYE7zW/6Zf4WzrYS6j # wB9EHJbseFECAwEAAaOCAhkwggIVMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQD # AgeAMDwGA1UdJQQ1MDMGCisGAQQBgjdhAQAGCCsGAQUFBwMDBhsrBgEEAYI3Ybvz # 01OBivi6SYLT/fUog7K1w3QwHQYDVR0OBBYEFAqR/hZWhgmz+oiTficYegySRuNL # MB8GA1UdIwQYMBaAFGWfUc6FaH8vikWIqt2nMbseDQBeMGcGA1UdHwRgMF4wXKBa # oFiGVmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29m # dCUyMElEJTIwVmVyaWZpZWQlMjBDUyUyMEVPQyUyMENBJTIwMDIuY3JsMIGlBggr # BgEFBQcBAQSBmDCBlTBkBggrBgEFBQcwAoZYaHR0cDovL3d3dy5taWNyb3NvZnQu # Y29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBJRCUyMFZlcmlmaWVkJTIwQ1Ml # MjBFT0MlMjBDQSUyMDAyLmNydDAtBggrBgEFBQcwAYYhaHR0cDovL29uZW9jc3Au # bWljcm9zb2Z0LmNvbS9vY3NwMGYGA1UdIARfMF0wUQYMKwYBBAGCN0yDfQEBMEEw # PwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9j # cy9SZXBvc2l0b3J5Lmh0bTAIBgZngQwBBAEwDQYJKoZIhvcNAQEMBQADggIBALvi # d/pO8vlYJ+smHbtAvShGlqetxqyNDU1ONZxJ/IV06/QjE8tpNwN+aKfjDA7CARI+ # GdI81YPAV/u1q0A4bqlMvgwbY6n6LMk9sZpqnQeG3cTSpNOyBqjELYISCd94iczZ # IIoht/vKZN3vpN+pBINRB3PblnfjfIo48tPlYj+SsZ7jMJCH45syqFN9FOLfVhBr # 6T19EIAsIZxW67qet8QLfrLnOHw6bFuZrBgv8KBaDZXk5jHkQDdZeAWcluCu3dik # vqvE0pwVO+qaoSRzlfWDoK5wZcuQAfXHYIIeg9D8PnbXa90Wg9cuEeMBIRsiLlXL # MDvusUkXVqFxY76kcjljJDim9Ws8JDaKbUO+yKE/XaFOuUfF1JCcHnukG8oc9HJl # 0ojGXR66th2w0ip2ylKLRW5ZssH7FTAmFl9xKYUGD24gZWtCu30wcArOZxIAlAmf # vQGZoyY6BHkltiwM5ThMhGDSnuHlcpZO+yjXAZH86d2DsJ0VvryR+M2FQBm0JQ13 # gd3FyBWqR5otXq14ik0KFi7YRS7M4Abs/VWF3Pd+GfpagpTphqPqaQg85wEEnMzd # 5yiuJiuuDYZB4/GBYmW1Tr7PADY9GurNTMkGuSWfvl6dgr78qNoKs0T3wuJfb9oc # eQUMLF3Z/CXjuJKR1JHnuSXKd+Qv7bwt/Z5aGMMXMIIHWjCCBUKgAwIBAgITMwAA # AAX7elwyE2HfXQAAAAAABTANBgkqhkiG9w0BAQwFADBjMQswCQYDVQQGEwJVUzEe # MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTQwMgYDVQQDEytNaWNyb3Nv # ZnQgSUQgVmVyaWZpZWQgQ29kZSBTaWduaW5nIFBDQSAyMDIxMB4XDTIxMDQxMzE3 # MzE1M1oXDTI2MDQxMzE3MzE1M1owWjELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1p # Y3Jvc29mdCBDb3Jwb3JhdGlvbjErMCkGA1UEAxMiTWljcm9zb2Z0IElEIFZlcmlm # aWVkIENTIEVPQyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB # ANIamXw/MpCkwOgg21r7IZgaQ6AX+y79d9kVbkqlcEDt2gCy5LkZ50yKEZjBqNHy # DEK7cEelBwdOsXajpAH6gensbm10x7uOPnbh1AnROJ4IxCwUMpbjLkjpx2hHb3iG # 7d9ToTBF/+J0JKYePgIdHkeB9rE0a1Spiq5TqEJYYmu90INnR6IrXF9bk9b1typ6 # bfTLe+h+2R2yzbKTGS5FgWmyjJegXWlmV2KTxnUvqmPNIA2jQrxatHddFDLu8R3r # CKl6Uw090NwHjsUspUk3P++D96IPY9zrnphBWrhcy+ebdTL6WnRIUJg/LhTMRb/4 # mTo8L3HWNc4Wp1Sy8qZc9d/zc0qFN0I4T3agBoUSMIf2A86N4wnVSYFkEa1vNz96 # lhRZMTYjBNojuCLmII+0cLHhsL+yPXMTsmh4oSjHU/TXqEo6Ujc1ZyihnGDLTnTL # ShaqFewoptpvOBpiGGUwaK0fz6PYsJWrE2ChaRmanVismJyTthVfKDJlpCCtYmoC # y4BLemWkdK5P9Y1GLLMk4kalq/OELN1y/1eSlARLVBEH0P+EbZyNPbhRVCBiWVfZ # g/8TlJLFqHRqwkEnpuh8tutcTCQB6k6jLgyoMIvMZP5n5a+8oVzy+90jlC5rtQKr # uCOxqXukMDVtk7UAcTN77Uk5nT1uqyuctIBA+dUY7MitAgMBAAGjggIOMIICCjAO # BgNVHQ8BAf8EBAMCAYYwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFGWfUc6F # aH8vikWIqt2nMbseDQBeMFQGA1UdIARNMEswSQYEVR0gADBBMD8GCCsGAQUFBwIB # FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9y # eS5odG0wGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwEgYDVR0TAQH/BAgwBgEB # /wIBADAfBgNVHSMEGDAWgBTZQSmwDw9jbO9p1/XNKZ6kSGow5jBwBgNVHR8EaTBn # MGWgY6Bhhl9odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNy # b3NvZnQlMjBJRCUyMFZlcmlmaWVkJTIwQ29kZSUyMFNpZ25pbmclMjBQQ0ElMjAy # MDIxLmNybDCBrgYIKwYBBQUHAQEEgaEwgZ4wbQYIKwYBBQUHMAKGYWh0dHA6Ly93 # d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwSUQlMjBW # ZXJpZmllZCUyMENvZGUlMjBTaWduaW5nJTIwUENBJTIwMjAyMS5jcnQwLQYIKwYB # BQUHMAGGIWh0dHA6Ly9vbmVvY3NwLm1pY3Jvc29mdC5jb20vb2NzcDANBgkqhkiG # 9w0BAQwFAAOCAgEARUlg1HdPF+IOR871X6wdUolfKZOlzx0/Yz5Apr1P7rwc5mUQ # I2JNoCmEd6V6ErUSWif5YYwuQ6v9kez9WEWRwg2MitM70kTHROmELYBo5rHYcw9J # wkuoVVXIH5jULHDydVh8W7xuREIGENGRA9RTdDDj0M1ntc2x+VWtHUsbZ6HQVUY5 # 8g2BJu7DRHLyR0xt3l8wMndNBOSgwrBJeM+TtJr16sGh9j0tNtNBOj+Fqi8ILPzZ # lLufgGvC8P9hJ9lZCFuz5Iq+FJ9YxuvrY/3obqoBclDzwoepG575OPG4rIv8z4wF # ZI+6hK6+30mCAgsyeLOGFDVVR4HaBZ9sW1u2XwU90APc34avbuBMV261Q+a8V0kx # RFINoM0KvSR8bHR8jH3AiixUDlzg0s3GHi6Qnfq+hnKAwU6Mj3SnHIwupgKuvv4Y # jA56bylCB6cmBM1lHmrbcil7TH/kKyXkPp8uYwS/sanTjjxM93YO6p/P6Ka1K1Gx # iwb/X1ptfH1l3QL9TwrSy/2nDC7R6MnklTCkGKgx290JtLkPjUNGBOJFMUkGvlv3 # As2ACN9rjdJ2/TODK9aY+GyWYnTZDOCcmKns6ISC8WJIB226CUCEq0Fq5uUWHcoS # gaabSfSSZ9Gety43Z85TlMY5bAG0Iq9lps/ziRO9NwWx5kGUcMz8db7u0ucwggee # MIIFhqADAgECAhMzAAAAB4ejNKN7pY4cAAAAAAAHMA0GCSqGSIb3DQEBDAUAMHcx # CzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xSDBG # BgNVBAMTP01pY3Jvc29mdCBJZGVudGl0eSBWZXJpZmljYXRpb24gUm9vdCBDZXJ0 # aWZpY2F0ZSBBdXRob3JpdHkgMjAyMDAeFw0yMTA0MDEyMDA1MjBaFw0zNjA0MDEy # MDE1MjBaMGMxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y # YXRpb24xNDAyBgNVBAMTK01pY3Jvc29mdCBJRCBWZXJpZmllZCBDb2RlIFNpZ25p # bmcgUENBIDIwMjEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCy8MCv # GYgo4t1UekxJbGkIVQm0Uv96SvjB6yUo92cXdylN65Xy96q2YpWCiTas7QPTkGnK # 9QMKDXB2ygS27EAIQZyAd+M8X+dmw6SDtzSZXyGkxP8a8Hi6EO9Zcwh5A+wOALNQ # bNO+iLvpgOnEM7GGB/wm5dYnMEOguua1OFfTUITVMIK8faxkP/4fPdEPCXYyy8NJ # 1fmskNhW5HduNqPZB/NkWbB9xxMqowAeWvPgHtpzyD3PLGVOmRO4ka0WcsEZqyg6 # efk3JiV/TEX39uNVGjgbODZhzspHvKFNU2K5MYfmHh4H1qObU4JKEjKGsqqA6Rzi # ybPqhvE74fEp4n1tiY9/ootdU0vPxRp4BGjQFq28nzawuvaCqUUF2PWxh+o5/TRC # b/cHhcYU8Mr8fTiS15kRmwFFzdVPZ3+JV3s5MulIf3II5FXeghlAH9CvicPhhP+V # aSFW3Da/azROdEm5sv+EUwhBrzqtxoYyE2wmuHKws00x4GGIx7NTWznOm6x/niqV # i7a/mxnnMvQq8EMse0vwX2CfqM7Le/smbRtsEeOtbnJBbtLfoAsC3TdAOnBbUkbU # fG78VRclsE7YDDBUbgWt75lDk53yi7C3n0WkHFU4EZ83i83abd9nHWCqfnYa9qIH # PqjOiuAgSOf4+FRcguEBXlD9mAInS7b6V0UaNwIDAQABo4ICNTCCAjEwDgYDVR0P # AQH/BAQDAgGGMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBTZQSmwDw9jbO9p # 1/XNKZ6kSGow5jBUBgNVHSAETTBLMEkGBFUdIAAwQTA/BggrBgEFBQcCARYzaHR0 # cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRt # MBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMA8GA1UdEwEB/wQFMAMBAf8wHwYD # VR0jBBgwFoAUyH7SaoUqG8oZmAQHJ89QEE9oqKIwgYQGA1UdHwR9MHsweaB3oHWG # c2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUy # MElkZW50aXR5JTIwVmVyaWZpY2F0aW9uJTIwUm9vdCUyMENlcnRpZmljYXRlJTIw # QXV0aG9yaXR5JTIwMjAyMC5jcmwwgcMGCCsGAQUFBwEBBIG2MIGzMIGBBggrBgEF # BQcwAoZ1aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNy # b3NvZnQlMjBJZGVudGl0eSUyMFZlcmlmaWNhdGlvbiUyMFJvb3QlMjBDZXJ0aWZp # Y2F0ZSUyMEF1dGhvcml0eSUyMDIwMjAuY3J0MC0GCCsGAQUFBzABhiFodHRwOi8v # b25lb2NzcC5taWNyb3NvZnQuY29tL29jc3AwDQYJKoZIhvcNAQEMBQADggIBAH8l # Kp7+1Kvq3WYK21cjTLpebJDjW4ZbOX3HD5ZiG84vjsFXT0OB+eb+1TiJ55ns0BHl # uC6itMI2vnwc5wDW1ywdCq3TAmx0KWy7xulAP179qX6VSBNQkRXzReFyjvF2BGt6 # FvKFR/imR4CEESMAG8hSkPYso+GjlngM8JPn/ROUrTaeU/BRu/1RFESFVgK2wMz7 # fU4VTd8NXwGZBe/mFPZG6tWwkdmA/jLbp0kNUX7elxu2+HtHo0QO5gdiKF+YTYd1 # BGrmNG8sTURvn09jAhIUJfYNotn7OlThtfQjXqe0qrimgY4Vpoq2MgDW9ESUi1o4 # pzC1zTgIGtdJ/IvY6nqa80jFOTg5qzAiRNdsUvzVkoYP7bi4wLCj+ks2GftUct+f # GUxXMdBUv5sdr0qFPLPB0b8vq516slCfRwaktAxK1S40MCvFbbAXXpAZnU20FaAo # Dwqq/jwzwd8Wo2J83r7O3onQbDO9TyDStgaBNlHzMMQgl95nHBYMelLEHkUnVVVT # UsgC0Huj09duNfMaJ9ogxhPNThgq3i8w3DAGZ61AMeF0C1M+mU5eucj1Ijod5O2M # MPeJQ3/vKBtqGZg4eTtUHt/BPjN74SsJsyHqAdXVS5c+ItyKWg3Eforhox9k3Wgt # WTpgV4gkSiS4+A09roSdOI4vrRw+p+fL4WrxSK5nMYIXMjCCFy4CAQEwcTBaMQsw # CQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSswKQYD # VQQDEyJNaWNyb3NvZnQgSUQgVmVyaWZpZWQgQ1MgRU9DIENBIDAyAhMzAAfM8rDv # Jyd7QZv4AAAAB8zyMA0GCWCGSAFlAwQCAQUAoF4wEAYKKwYBBAGCNwIBDDECMAAw # GQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwLwYJKoZIhvcNAQkEMSIEIEXSyS5M # y49TFuHoh2pFP4PDQZT/0GTZrUt3A2Rb3/E7MA0GCSqGSIb3DQEBAQUABIIBgIv6 # Hby1Fc60yA19K/Du6ve5+ebuxxneuUxq/BZKcvDfg9jsX01NUYaxKWFhX57GIhsW # s/oQla/w5w7u0aZQkOCXeM90RdEfuXKzMBjpA6eiQRmlaBhVygE/CjsfS2Q/rtqb # cZKWrxpJEMsLtVnvYhTukiTR7BiMisUCPD6G0vDzUYvZo32fchs5DIcTMSuSzKXZ # tGLpSZ2i1uQCzV0vIE1eri1G170VqLcQGzQAPUMGZz3LyQO9PZPBw4GIOUAdOfpp # YKX99mVfZkj8ED1yBCByH0HSjMk6H4pKw+/p+6vj9EsoGHzjnYXxW9knwMRJCcbV # GU6WeEpSfYKjhCVKraPw9Mp9VeGr8ZWU4MKF1PsRzItJcqpzSAolRndBYZRI2beD # Vtxg//0STbGUwJ+YYaSC1EyD8IiovuIOB3WHRCq0am2S8wU0vQ+S5cBZrSOZSGZf # 0YtL4ECfMYSl/ys1j/HftWIFDJdsFOrB379DgkBsMsnhUyC61bVhGjWMKih7aKGC # FLIwghSuBgorBgEEAYI3AwMBMYIUnjCCFJoGCSqGSIb3DQEHAqCCFIswghSHAgED # MQ8wDQYJYIZIAWUDBAIBBQAwggFqBgsqhkiG9w0BCRABBKCCAVkEggFVMIIBUQIB # AQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCA2Qg1OECYc/204NApqpXCR # nD/tfkzwBdMrJ/dKDr06ngIGacZn/7EfGBMyMDI2MDQwMzE1MDMxMy4wNTdaMASA # AgH0oIHppIHmMIHjMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ # MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u # MS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQx # JzAlBgNVBAsTHm5TaGllbGQgVFNTIEVTTjo3QjFBLTA1RTAtRDk0NzE1MDMGA1UE # AxMsTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZSBTdGFtcGluZyBBdXRob3JpdHmg # gg8pMIIHgjCCBWqgAwIBAgITMwAAAAXlzw//Zi7JhwAAAAAABTANBgkqhkiG9w0B # AQwFADB3MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0 # aW9uMUgwRgYDVQQDEz9NaWNyb3NvZnQgSWRlbnRpdHkgVmVyaWZpY2F0aW9uIFJv # b3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMjAwHhcNMjAxMTE5MjAzMjMxWhcN # MzUxMTE5MjA0MjMxWjBhMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0 # IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1l # c3RhbXBpbmcgQ0EgMjAyMDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB # AJ5851Jj/eDFnwV9Y7UGIqMcHtfnlzPREwW9ZUZHd5HBXXBvf7KrQ5cMSqFSHGqg # 2/qJhYqOQxwuEQXG8kB41wsDJP5d0zmLYKAY8Zxv3lYkuLDsfMuIEqvGYOPURAH+ # Ybl4SJEESnt0MbPEoKdNihwM5xGv0rGofJ1qOYSTNcc55EbBT7uq3wx3mXhtVmtc # CEr5ZKTkKKE1CxZvNPWdGWJUPC6e4uRfWHIhZcgCsJ+sozf5EeH5KrlFnxpjKKTa # vwfFP6XaGZGWUG8TZaiTogRoAlqcevbiqioUz1Yt4FRK53P6ovnUfANjIgM9JDdJ # 4e0qiDRm5sOTiEQtBLGd9Vhd1MadxoGcHrRCsS5rO9yhv2fjJHrmlQ0EIXmp4DhD # BieKUGR+eZ4CNE3ctW4uvSDQVeSp9h1SaPV8UWEfyTxgGjOsRpeexIveR1MPTVf7 # gt8hY64XNPO6iyUGsEgt8c2PxF87E+CO7A28TpjNq5eLiiunhKbq0XbjkNoU5Jht # YUrlmAbpxRjb9tSreDdtACpm3rkpxp7AQndnI0Shu/fk1/rE3oWsDqMX3jjv40e8 # KN5YsJBnczyWB4JyeeFMW3JBfdeAKhzohFe8U5w9WuvcP1E8cIxLoKSDzCCBOu0h # WdjzKNu8Y5SwB1lt5dQhABYyzR3dxEO/T1K/BVF3rV69AgMBAAGjggIbMIICFzAO # BgNVHQ8BAf8EBAMCAYYwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFGtpKDo1 # L0hjQM972K9J6T7ZPdshMFQGA1UdIARNMEswSQYEVR0gADBBMD8GCCsGAQUFBwIB # FjNodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVwb3NpdG9y # eS5odG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgwGQYJKwYBBAGCNxQCBAweCgBTAHUA # YgBDAEEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTIftJqhSobyhmYBAcn # z1AQT2ioojCBhAYDVR0fBH0wezB5oHegdYZzaHR0cDovL3d3dy5taWNyb3NvZnQu # Y29tL3BraW9wcy9jcmwvTWljcm9zb2Z0JTIwSWRlbnRpdHklMjBWZXJpZmljYXRp # b24lMjBSb290JTIwQ2VydGlmaWNhdGUlMjBBdXRob3JpdHklMjAyMDIwLmNybDCB # lAYIKwYBBQUHAQEEgYcwgYQwgYEGCCsGAQUFBzAChnVodHRwOi8vd3d3Lm1pY3Jv # c29mdC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMElkZW50aXR5JTIwVmVy # aWZpY2F0aW9uJTIwUm9vdCUyMENlcnRpZmljYXRlJTIwQXV0aG9yaXR5JTIwMjAy # MC5jcnQwDQYJKoZIhvcNAQEMBQADggIBAF+Idsd+bbVaFXXnTHho+k7h2ESZJRWl # uLE0Oa/pO+4ge/XEizXvhs0Y7+KVYyb4nHlugBesnFqBGEdC2IWmtKMyS1OWIviw # pnK3aL5JedwzbeBF7POyg6IGG/XhhJ3UqWeWTO+Czb1c2NP5zyEh89F72u9UIw+I # fvM9lzDmc2O2END7MPnrcjWdQnrLn1Ntday7JSyrDvBdmgbNnCKNZPmhzoa8PccO # iQljjTW6GePe5sGFuRHzdFt8y+bN2neF7Zu8hTO1I64XNGqst8S+w+RUdie8fXC1 # jKu3m9KGIqF4aldrYBamyh3g4nJPj/LR2CBaLyD+2BuGZCVmoNR/dSpRCxlot0i7 # 9dKOChmoONqbMI8m04uLaEHAv4qwKHQ1vBzbV/nG89LDKbRSSvijmwJwxRxLLpMQ # /u4xXxFfR4f/gksSkbJp7oqLwliDm/h+w0aJ/U5ccnYhYb7vPKNMN+SZDWycU5OD # IRfyoGl59BsXR/HpRGtiJquOYGmvA/pk5vC1lcnbeMrcWD/26ozePQ/TWfNXKBOm # kFpvPE8CH+EeGGWzqTCjdAsno2jzTeNSxlx3glDGJgcdz5D/AAxw9Sdgq/+rY7jj # gs7X6fqPTXPmaCAJKVHAP19oEjJIBwD1LyHbaEgBxFCogYSOiUIr0Xqcr1nJfiWG # 2GwYe6ZoAF1bMIIHnzCCBYegAwIBAgITMwAAAFl82nHpjV71wAAAAAAAWTANBgkq # hkiG9w0BAQwFADBhMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENv # cnBvcmF0aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUHVibGljIFJTQSBUaW1lc3Rh # bXBpbmcgQ0EgMjAyMDAeFw0yNjAxMDgxODU5MDFaFw0yNzAxMDcxODU5MDFaMIHj # MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk # bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRN # aWNyb3NvZnQgSXJlbGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJzAlBgNVBAsTHm5T # aGllbGQgVFNTIEVTTjo3QjFBLTA1RTAtRDk0NzE1MDMGA1UEAxMsTWljcm9zb2Z0 # IFB1YmxpYyBSU0EgVGltZSBTdGFtcGluZyBBdXRob3JpdHkwggIiMA0GCSqGSIb3 # DQEBAQUAA4ICDwAwggIKAoICAQCmLuf+NHhF/oU/uYxWteOm4nd3QOC512J7b5D9 # whsOCxgERYZ7yzEif1bbLm8w2nhZ5u8m9ikjO9Fph0Ka3Qlaqb1B+5dLgeIzcO7q # y6AEfZChyxNFZTJQ0rQ0sVASN6sLHa473Zr1dJPvf547gxIkpcyU3+w6MHdSt2zu # G3kcmhYUfmPLcphAjqpTgH32KxtsGXVTOdfkEgUnvjxMpK/Aujp56koqbhfH2bwm # +v4bpNGZumcLGosUhyAE9iBBr0u3OtyJvI1d2vEdCuotsosNDTZZ00qcMv2X7+4s # LCwcIX24wU5/lzpepj8w10EN1fkkT/cV2xijrAU8cxone2igB8N6OAIZfVBlix/Z # DT91VKJBOiWJI5X6blBmeoEMqg3sH8Q+FaGCJaKbeB2dMUL6mo7icfnK/C0fyGee # oCy5sMjM3Xufr7YwaIpa8v4EmcFRsIJL5CIKSjwUBxrEgdMt7M6+2O8BG+r9MmWp # dV1L1p5894p02klrAhayz1cFZl8t53GOf3duVaTpIbfpuvexljW77DToQDh0Wn7R # PY/4YZKDOkbMiXwS54ajHAP8HGr3+aI+TXskUHRmXiynJbPXLCkt7AVMz4nccdoo # jR/Qj2g6v2yyRDl2rGKIVzJ0Yp7vn1JPNbPFTuw0Ehen35+aKkh6FfJX9QMervpH # UoW/AQIDAQABo4IByzCCAccwHQYDVR0OBBYEFI+W5wtfA9L5Z0kYQjojgxhrlzZ2 # MB8GA1UdIwQYMBaAFGtpKDo1L0hjQM972K9J6T7ZPdshMGwGA1UdHwRlMGMwYaBf # oF2GW2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29m # dCUyMFB1YmxpYyUyMFJTQSUyMFRpbWVzdGFtcGluZyUyMENBJTIwMjAyMC5jcmww # eQYIKwYBBQUHAQEEbTBrMGkGCCsGAQUFBzAChl1odHRwOi8vd3d3Lm1pY3Jvc29m # dC5jb20vcGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFB1YmxpYyUyMFJTQSUyMFRp # bWVzdGFtcGluZyUyMENBJTIwMjAyMC5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUB # Af8EDDAKBggrBgEFBQcDCDAOBgNVHQ8BAf8EBAMCB4AwZgYDVR0gBF8wXTBRBgwr # BgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQu # Y29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnkuaHRtMAgGBmeBDAEEAjANBgkqhkiG # 9w0BAQwFAAOCAgEARDIcwv2XI6Rv81ERO89mKeb61MVI7BOV2t7f9kRrxEsL25rJ # N2yx4UhQGo4KNl0PMaBgz97FISgiz3iAkm5Fb+lfLEqfHyfCaLOsq2sH9mFYrPLX # Ffjju1PUuiRj0M6Zj53H80HOJ3tX6mePh4immyAxKBXXXUE9hIJJPX88QmPxGedm # rydu3Un6yPyA5sp/VddDt4kKYNhfgvbzU65O51YKA6B2vfkN6WK9CBxp0preYq4B # k+N+s6OVp1z/BcTIbMB9WosokmYlc4aK9dAvQudnD9wvPzxKDClF7LS46DztEzJH # lv9Ra9fOilw+OUEYAaNMSJoLVk3c1hZ5Q/qe/ogwSLkqzXEVw0WLqv2mGWg4VkiN # EmHTyFlYeV717lgN9WvKENEjvqD2tzZPNJNPOuMIosidSrG0p2mnn4Pb7KXoIa6W # PJYwsMXwlLceR0ETYACTiPCCgAiuHdNeDJNIZUTtJUFUR3oKiINvSul6pHN+tFtm # SRlHLLZSqJJFY+igB4xsqy0T83qWH4mVCauIF8sW6bym9VydhTduvNmlKDV6PUck # StXIdH+upOvso/PJM77gu/ryVrTQ7P1KSDOh4ZtJFOuCVCezDBEHAHO5KX7expu2 # HkSvqCoKlIGFwn5s21/JyVyWZz2vAA1lbCKrLjQMQiNAmV5FC6H6qOQXus8xggPU # MIID0AIBATB4MGExCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y # cG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBQdWJsaWMgUlNBIFRpbWVzdGFt # cGluZyBDQSAyMDIwAhMzAAAAWXzacemNXvXAAAAAAABZMA0GCWCGSAFlAwQCAQUA # oIIBLTAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIE # ICMJQdgKDYMC/3GhWeQWZaTIp/1uLYELtZRYNfBtuE+/MIHdBgsqhkiG9w0BCRAC # LzGBzTCByjCBxzCBoAQgy0W6sduG6bHFxCfh44/ca3FFcO0fDssjH0gdmBit/rww # fDBlpGMwYTELMAkGA1UEBhMCVVMxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh # dGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFB1YmxpYyBSU0EgVGltZXN0YW1waW5n # IENBIDIwMjACEzMAAABZfNpx6Y1e9cAAAAAAAFkwIgQg2aGPSyfgTKIPOuZi5+OG # GZRzPS8sYF6XQTw2/IPxIA8wDQYJKoZIhvcNAQELBQAEggIAE1SWMweeDe6o6l/o # GHQnH1/wkRl3MicKv4YwN603k2qW71konAweTUlv9w8+v05D8BU6YwjiwGPT76lZ # 9+R/plic0r4RFt0fNOVcgb16eRlhTKmxeJ3GbtfptAUtIeXWoHwnhZB4VERt5Nyg # XaNO/2NFe6WYO3V9Ydv2r9KAdS6m1yOxrOkMsfcMOV6r8nsiQIQNX+/NLn71vsru # 8o7TaOVWXpBtL5HG6FVtoqWA9/e0KJ90Roqmge02SoHKK9cm9ZT+S1Vm5ks/akJq # t5EqAGG9C2vq/V5hVBcjoColwxYTeFY59f/n0115ifEbEEOZMhftsWBgZV928wxe # lLRcXQ18MwDOl8/DP1zntC4sNCYzH3yDmrzNIZEr+f6CmXCM1AADL4Ji9popViEE # MPAp8gegBrBsToyDvR44me2wLj5eyki4pNUJT/4PpcSkP9XEHs0EEw9/rSKJDG4i # WHPS06Id/LUceABUZcHDEtMUR7vOzHa2qwKVDaJvw64Pw8K6dy2GjXM6r4qFqBs3 # 7h+6pLz9s27RCYQEEhsZxCEdqml6Mj9o/wrvQcHZEI0LISS6e+PjC9s5gmuCxrg3 # 5YSuPPcvgubBgov9ea0UBV2oUQ3JgYpB8XIDaFJ71Ha7z4dlcYpKKS5gU8XEcdDm # O7C+fR54E87t1JUsAchcHvXGBao= # SIG # End signature block |