diff --git a/PowerShellProTools.SharedCommands/Variable.cs b/PowerShellProTools.SharedCommands/Variable.cs index 0d333bd..a9f5fb7 100644 --- a/PowerShellProTools.SharedCommands/Variable.cs +++ b/PowerShellProTools.SharedCommands/Variable.cs @@ -67,6 +67,13 @@ bool IsBaseType(object obj) public Variable() { } + public Variable(string name, object value) + { + VarName = name; + VarValue = value?.ToString(); + GetVariableInfo(value); + } + public Variable(PSVariable psVariable) { if (psVariable.Value != null) diff --git a/PowerShellTools.Shared/ServiceManagement/Debugging/PowerShellDebuggingService.cs b/PowerShellTools.Shared/ServiceManagement/Debugging/PowerShellDebuggingService.cs index e678c57..38ff924 100644 --- a/PowerShellTools.Shared/ServiceManagement/Debugging/PowerShellDebuggingService.cs +++ b/PowerShellTools.Shared/ServiceManagement/Debugging/PowerShellDebuggingService.cs @@ -30,7 +30,7 @@ namespace PowerShellTools.HostService.ServiceManagement.Debugging public class PowerShellDebuggingService : PSHost, IHostSupportsInteractiveSession, IPowerShellDebuggingService { private PowerShell _currentPowerShell; - private string _varaiables; + private IEnumerable _varaiables; private IEnumerable _callstack; private Collection _localVariables; private Dictionary _propVariables; @@ -901,18 +901,7 @@ public IEnumerable GetScopedVariable() ServiceCommon.Log("Failed to get variables. " + ex.Message); } - if (string.IsNullOrEmpty(_varaiables)) - { - yield break; - } - - var variables = PSSerializer.Deserialize(_varaiables); - - var varaibles = JsonConvert.DeserializeObject(_varaiables); - foreach(var variable in varaibles) - { - yield return variable; - } + return _varaiables; } public IEnumerable GetModules() @@ -1306,7 +1295,12 @@ private void RefreshScopedVariable() var output = new PSDataCollection(); psCommand.Commands[0].MergeMyResults(PipelineResultTypes.Error, PipelineResultTypes.Output); Runspace.Debugger.ProcessCommand(psCommand, output); - _varaiables = output.FirstOrDefault()?.BaseObject.ToString(); + _varaiables = output.OfType().Select(m => new Variable(m.Members[nameof(Variable.VarName)].Value.ToString(), m.Members[nameof(Variable.VarValue)].Value) + { + HasChildren = (bool)m.Members[nameof(Variable.HasChildren)].Value, + Path = m.Members[nameof(Variable.Path)].Value.ToString(), + Type = m.Members[nameof(Variable.Type)].Value.ToString() + }); } else { @@ -1314,8 +1308,7 @@ private void RefreshScopedVariable() { powershell.Runspace = Runspace; powershell.AddScript("Get-Variable -Exclude @('foreach', 'switch') | Out-PoshToolsVariable -PassThru"); - var json = powershell.Invoke().FirstOrDefault(); - _varaiables = json; + _varaiables = powershell.Invoke(); } } } diff --git a/PowerShellTools.Shared/ServiceManagement/PowershellHostProcessHelper.cs b/PowerShellTools.Shared/ServiceManagement/PowershellHostProcessHelper.cs index 6b2f148..1fef8f6 100644 --- a/PowerShellTools.Shared/ServiceManagement/PowershellHostProcessHelper.cs +++ b/PowerShellTools.Shared/ServiceManagement/PowershellHostProcessHelper.cs @@ -46,15 +46,7 @@ public static PowerShellHostProcess CreatePowerShellHostProcess(string powershel powershellPath = powershellLocator.PowerShellVersions[powershellLocator.DefaultVersion]; } - bool windowsPs = false; - if (powershellVersion != "Windows PowerShell (x86)" && powershellVersion != "Windows PowerShell (x64)") - { - powershellPath = powershellLocator.PowerShellVersions[powershellLocator.DefaultVersion]; - } - else - { - windowsPs = true; - } + var windowsPs = powershellVersion.StartsWith("Windows PowerShell"); if (string.IsNullOrEmpty(powershellPath)) { diff --git a/PowerShellToolsPro.Cmdlets/PowerShellProTools.psd1 b/PowerShellToolsPro.Cmdlets/PowerShellProTools.psd1 index 0524688..0de0af3 100644 --- a/PowerShellToolsPro.Cmdlets/PowerShellProTools.psd1 +++ b/PowerShellToolsPro.Cmdlets/PowerShellProTools.psd1 @@ -3,6 +3,7 @@ # # Generated by: Ironman Software, LLC # +# Generated on: 1/2/2025 # @{ @@ -16,8 +17,8 @@ ModuleVersion = '2024.7.0' # Supported PSEditions # CompatiblePSEditions = @() -# ID used to uniquely identify this modul -GUID = '2439a3d7-b56b-4f35-81d1-05bc1c1ec287' +# ID used to uniquely identify this module +GUID = 'd58b50e7-7308-40ab-88d6-047d257369f9' # Author of this module Author = 'Ironman Software, LLC' diff --git a/PowerShellToolsPro.Cmdlets/PowerShellProTools.psm1 b/PowerShellToolsPro.Cmdlets/PowerShellProTools.psm1 index 56cccee..baf387e 100644 --- a/PowerShellToolsPro.Cmdlets/PowerShellProTools.psm1 +++ b/PowerShellToolsPro.Cmdlets/PowerShellProTools.psm1 @@ -52,123 +52,222 @@ function Expand-Object { } # SIG # Begin signature block -# DWt4BcXyh6cRKmeE4SEcAhQqDx5YUf86vl5y2e53MO1yQvQ8JRgPMjAyNDEyMTAx -# NzUxMjlaMAMCAQECCGoCYc/0LFNsoGGkXzBdMQswCQYDVQQGEwJCRTEZMBcGA1UE -# CgwQR2xvYmFsU2lnbiBudi1zYTEzMDEGA1UEAwwqR2xvYmFsc2lnbiBUU0EgZm9y -# IENvZGVTaWduMSAtIFI2IC0gMjAyMzExoIISVDCCBYMwggNroAMCAQICDkXmuwOD -# M8OFZUjm/0VRMA0GCSqGSIb3DQEBDAUAMEwxIDAeBgNVBAsTF0dsb2JhbFNpZ24g -# Um9vdCBDQSAtIFI2MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9i -# YWxTaWduMB4XDTE0MTIxMDAwMDAwMFoXDTM0MTIxMDAwMDAwMFowTDEgMB4GA1UE -# CxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2JhbFNpZ24x -# EzARBgNVBAMTCkdsb2JhbFNpZ24wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK -# AoICAQCVB+hzymb57BTKezz3DQjxtEULLIK0SMbrWzyug7hBkjMUpG9/6SrMxrCI -# a8W2idHGsv8UzlEUIexK3RtaxtaH7k06FQbtZGYLkoDKRN5zlE7zp4l/T3hjCMgS -# UG1CZi9NuXkoTVIaihqAtxmBDn7EirxkTCEcQ2jXPTyKxbJm1ZCatzEGxb7ibTIG -# ph75ueuqo7i/voJjUNDwGInf5A959eqiHyrScC5757yTu21T4kh8jBAHOP9msndh -# fuDqjDyqtKT285VKEgdt/Yyyic/QoGF3yFh0sNQjOvddOsqi250J3l1ELZDxgc1X -# kvp+vFAEYzTfa5MYvms2sjnkrCQ2t/DvthwTV5O23rL44oW3c6K4NapF8uCdNqFv -# VIrxclZuLojFUUJEFZTuo8U4lptOTloLR/MGNkl3MLxxN+Wm7CEIdfzmYRY/d9XZ -# kZeECmzUAk10wBTt/Tn7g/JeFKEEsAvp/u6P4W4LsgizYWYJarEGOmWWWcDwNf3J -# 2iiNGhGHcIEKqJp1HZ46hgUAntuA1iX53AWeJ1lMdjlb6vmlodiDD9H/3zAR+YXP -# M0j1ym1kFCx6WE/TSwhJxZVkGmMOeT31s4zKWK2cQkV5bg6HGVxUsWW2v4yb3BPp -# DW+4LtxnbsmLEbWEFIoAGXCDeZGXkdQaJ783HjIH2BRjPChMrwIDAQABo2MwYTAO -# BgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUrmwFo5MT -# 4qLn4tcc1sfwf8hnU6AwHwYDVR0jBBgwFoAUrmwFo5MT4qLn4tcc1sfwf8hnU6Aw -# DQYJKoZIhvcNAQEMBQADggIBAIMl7ejR/ZVSzZ7ABKCRaeZc0ITe3K2iT+hHeNZl -# mKlbqDyHfAKK0W63FnPmX8BUmNV0vsHN4hGRrSMYPd3hckSWtJVewHuOmXgWQxNW -# V7Oiszu1d9xAcqyj65s1PrEIIaHnxEM3eTK+teecLEy8QymZjjDTrCHg4x362Acz -# dlQAIiq5TSAucGja5VP8g1zTnfL/RAxEZvLS471GABptArolXY2hMVHdVEYcTduZ -# lu8aHARcphXveOB5/l3bPqpMVf2aFalv4ab733Aw6cPuQkbtwpMFifp9Y3s/0HGB -# fADomK4OeDTDJfuvCp8ga907E48SjOJBGkh6c6B3ace2XH+CyB7+WBsoK6hsrV5t -# wAXSe7frgP4lN/4Cm2isQl3D7vXM3PBQddI2aZzmewTfbgZptt4KCUhZh+t7FGB6 -# ZKppQ++Rx0zsGN1s71MtjJnhXvJyPs9UyL1n7KQPTEX/07kwIwdMjxC/hpbZmVq0 -# mVccpMy7FYlTuiwFD+TEnhmxGDTVTJ267fcfrySVBHioA7vugeXaX3yLSqGQdCWn -# sz5LyCxWvcfI7zjiXJLwefechLp0LWEBIH5+0fJPB1lfiy1DUutGDJTh9WZHeXfV -# VFsfrSQ3y0VaTqBESMjYsJnFFYQJ9tZJScBluOYacW6gqPGC6EU+bNYC1wpngwVa -# yaQQMIIGWTCCBEGgAwIBAgINAewckkDe/S5AXXxHdDANBgkqhkiG9w0BAQwFADBM -# MSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xv -# YmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjAeFw0xODA2MjAwMDAwMDBaFw0z -# NDEyMTAwMDAwMDBaMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWdu +# MIIo2gYJKoZIhvcNAQcCoIIoyzCCKMcCAQMxDTALBglghkgBZQMEAgEwewYKKwYB +# BAGCNwIBBKBtBGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG +# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCAYHe0V71QM+EvM +# YkGubPgWGiXnp7h+1iduu7+KNbvDzKCCDkYwggbmMIIEzqADAgECAhB3vQ4DobcI +# +FSrBnIQ2QRHMA0GCSqGSIb3DQEBCwUAMFMxCzAJBgNVBAYTAkJFMRkwFwYDVQQK +# ExBHbG9iYWxTaWduIG52LXNhMSkwJwYDVQQDEyBHbG9iYWxTaWduIENvZGUgU2ln +# bmluZyBSb290IFI0NTAeFw0yMDA3MjgwMDAwMDBaFw0zMDA3MjgwMDAwMDBaMFkx +# CzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQD +# EyZHbG9iYWxTaWduIEdDQyBSNDUgQ29kZVNpZ25pbmcgQ0EgMjAyMDCCAiIwDQYJ +# KoZIhvcNAQEBBQADggIPADCCAgoCggIBANZCTfnjT8Yj9GwdgaYw90g9z9DljeUg +# IpYHRDVdBs8PHXBg5iZU+lMjYAKoXwIC947Jbj2peAW9jvVPGSSZfM8RFpsfe2vS +# o3toZXer2LEsP9NyBjJcW6xQZywlTVYGNvzBYkx9fYYWlZpdVLpQ0LB/okQZ6dZu +# bD4Twp8R1F80W1FoMWMK+FvQ3rpZXzGviWg4QD4I6FNnTmO2IY7v3Y2FQVWeHLw3 +# 3JWgxHGnHxulSW4KIFl+iaNYFZcAJWnf3sJqUGVOU/troZ8YHooOX1ReveBbz/IM +# BNLeCKEQJvey83ouwo6WwT/Opdr0WSiMN2WhMZYLjqR2dxVJhGaCJedDCndSsZlR +# Qv+hst2c0twY2cGGqUAdQZdihryo/6LHYxcG/WZ6NpQBIIl4H5D0e6lSTmpPVAYq +# gK+ex1BC+mUK4wH0sW6sDqjjgRmoOMieAyiGpHSnR5V+cloqexVqHMRp5rC+QBmZ +# y9J9VU4inBDgoVvDsy56i8Te8UsfjCh5MEV/bBO2PSz/LUqKKuwoDy3K1JyYikpt +# WjYsL9+6y+JBSgh3GIitNWGUEvOkcuvuNp6nUSeRPPeiGsz8h+WX4VGHaekizIPA +# tw9FbAfhQ0/UjErOz2OxtaQQevkNDCiwazT+IWgnb+z4+iaEW3VCzYkmeVmda6tj +# cWKQJQ0IIPH/AgMBAAGjggGuMIIBqjAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAww +# CgYIKwYBBQUHAwMwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU2rONwCSQ +# o2t30wygWd0hZ2R2C3gwHwYDVR0jBBgwFoAUHwC/RoAK/Hg5t6W0Q9lWULvOljsw +# gZMGCCsGAQUFBwEBBIGGMIGDMDkGCCsGAQUFBzABhi1odHRwOi8vb2NzcC5nbG9i +# YWxzaWduLmNvbS9jb2Rlc2lnbmluZ3Jvb3RyNDUwRgYIKwYBBQUHMAKGOmh0dHA6 +# Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L2NvZGVzaWduaW5ncm9vdHI0 +# NS5jcnQwQQYDVR0fBDowODA2oDSgMoYwaHR0cDovL2NybC5nbG9iYWxzaWduLmNv +# bS9jb2Rlc2lnbmluZ3Jvb3RyNDUuY3JsMFYGA1UdIARPME0wQQYJKwYBBAGgMgEy +# MDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9z +# aXRvcnkvMAgGBmeBDAEEATANBgkqhkiG9w0BAQsFAAOCAgEACIhyJsav+qxfBsCq +# jJDa0LLAopf/bhMyFlT9PvQwEZ+PmPmbUt3yohbu2XiVppp8YbgEtfjry/RhETP2 +# ZSW3EUKL2Glux/+VtIFDqX6uv4LWTcwRo4NxahBeGQWn52x/VvSoXMNOCa1Za7j5 +# fqUuuPzeDsKg+7AE1BMbxyepuaotMTvPRkyd60zsvC6c8YejfzhpX0FAZ/ZTfepB +# 7449+6nUEThG3zzr9s0ivRPN8OHm5TOgvjzkeNUbzCDyMHOwIhz2hNabXAAC4ShS +# S/8SS0Dq7rAaBgaehObn8NuERvtz2StCtslXNMcWwKbrIbmqDvf+28rrvBfLuGfr +# 4z5P26mUhmRVyQkKwNkEcUoRS1pkw7x4eK1MRyZlB5nVzTZgoTNTs/Z7KtWJQDxx +# pav4mVn945uSS90FvQsMeAYrz1PYvRKaWyeGhT+RvuB4gHNU36cdZytqtq5NiYAk +# CFJwUPMB/0SuL5rg4UkI4eFb1zjRngqKnZQnm8qjudviNmrjb7lYYuA2eDYB+sGn +# iXomU6Ncu9Ky64rLYwgv/h7zViniNZvY/+mlvW1LWSyJLC9Su7UpkNpDR7xy3bzZ +# v4DB3LCrtEsdWDY3ZOub4YUXmimi/eYI0pL/oPh84emn0TCOXyZQK8ei4pd3iu/Y +# TT4m65lAYPM8Zwy2CHIpNVOBNNwwggdYMIIFQKADAgECAgwPy8VvkgJ+bMCVkwgw +# DQYJKoZIhvcNAQELBQAwWTELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNp +# Z24gbnYtc2ExLzAtBgNVBAMTJkdsb2JhbFNpZ24gR0NDIFI0NSBDb2RlU2lnbmlu +# ZyBDQSAyMDIwMB4XDTI0MDYyMDE3MDgwOFoXDTI1MDYyMTE3MDgwOFowgZ0xCzAJ +# BgNVBAYTAlVTMRIwEAYDVQQIEwlXaXNjb25zaW4xEDAOBgNVBAcTB01hZGlzb24x +# HTAbBgNVBAoTFElyb25tYW4gU29mdHdhcmUgTExDMR0wGwYDVQQDExRJcm9ubWFu +# IFNvZnR3YXJlIExMQzEqMCgGCSqGSIb3DQEJARYbc3VwcG9ydEBpcm9ubWFuc29m +# dHdhcmUuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAiNYF3omW +# 9gm1Qg6AXp1D9zCpicpg1rHl+edJ7CrkoYtg4H0h9pBtYH7xQ2Vb8kxYXxFKBoY4 +# SyVXmsUY2q+hf3zp5Gh7fGnHrF/fQ0Y5x6Bs/wiwfNDPzEjWSqn9OCxe7ks6dX5N +# 7DduVbVCDv+ETjCRN3siUPRNIGHmYBMPqD7Xf16vBYvyiwpLHXprmkn6D4A9mSVg +# FWeasjRMT8FNYF15FZ6XtEjK2/Fip3ohWtLZTvnwz5yqkFQw2g+p6qEKOwOhatNt +# 6tvz+sirBoD9OBSvATDaRcdAmSFZtRZFv2wzf3nPoDZH8jQPrkUj2Ws8De7o/edJ +# g0YETV/FvUxZaMAUgVOt5VtHVDw1IJg03zXRz/+aBFQulT4pPPl8lHTb9Vg54WP6 +# m9F+mO8dSfLOLjMncMUj+ZwzI6VTOczH66hjGoNr2zhvdo3Y4pCFadTx2mmVIrc5 +# q1LczStKxox7EZM/OfulP8fZbN740aXwxFyF6PWy45t0ffZ+1l2NJjHfhHCQOh9H +# +JbaB9F27zz09CAIc52K/TqKHHbwzeSjK8+cP0v4FovsFlo2sk+1h8/fSXL/xVMw +# f1UC55mLHIWUZs63cGWIo99+srgo6rN1HaKkUe+yy94Ksn804RoBMQzJuVzq2tdv +# znisob6xWx50q5WgodF9h7PxfTuVmtq6z5MCAwEAAaOCAdkwggHVMA4GA1UdDwEB +# /wQEAwIHgDCBmwYIKwYBBQUHAQEEgY4wgYswSgYIKwYBBQUHMAKGPmh0dHA6Ly9z +# ZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L2dzZ2NjcjQ1Y29kZXNpZ25jYTIw +# MjAuY3J0MD0GCCsGAQUFBzABhjFodHRwOi8vb2NzcC5nbG9iYWxzaWduLmNvbS9n +# c2djY3I0NWNvZGVzaWduY2EyMDIwMFYGA1UdIARPME0wQQYJKwYBBAGgMgEyMDQw +# MgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRv +# cnkvMAgGBmeBDAEEATAJBgNVHRMEAjAAMEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6 +# Ly9jcmwuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyNDVjb2Rlc2lnbmNhMjAyMC5jcmww +# JgYDVR0RBB8wHYEbc3VwcG9ydEBpcm9ubWFuc29mdHdhcmUuY29tMBMGA1UdJQQM +# MAoGCCsGAQUFBwMDMB8GA1UdIwQYMBaAFNqzjcAkkKNrd9MMoFndIWdkdgt4MB0G +# A1UdDgQWBBTe+6Th4Om7wkRMk3xkIUkEj/osFzANBgkqhkiG9w0BAQsFAAOCAgEA +# m37ivJPcMw/mX4TMy3JMAJEFeI12rBz6VOGqy9XbDkiiLtUm3IZtSkS8xyQhsrZ3 +# yLisp7ypRAF2X1CoR9+c7GUkTGz1atR+0fybRmCjEikrIqWwd/Yd82/KwTZ3sP0Z +# 4bIIy92ZNz4X30g5SpV4J5o6Bi5po6dFdCaQ8ujJJ+Qfa4dN5zCDmAELQhjQJXhX +# egjZJdId8UEHpuyrG1JDuMF3Lp3kQ+ta928ZHNV7jnMkQsYjxjUg+tmi8NhjfY3Y +# Jv/T4n29xSAAoauOx1q2+3A0iYordeZUmQpPG4wdWyLZru9GDcQvIuwzzQIYzLAh +# 2TP7et7Oq+cVY54GYRymDstUr1xq7es1ZbLaiyoxW8cPXm16GN9rZrap54qR3qXV +# xa8dN1mAvnqum6TxBNQQYUlT2z8yG1fJENRUdcZZU7B7Kqjl9QzIVkLbyFWJTNja +# Hk7NR1OHrPR2mO8uPIzHwE54UIc1YOBs49SInHsTkDzoFAFa4cP5Mk7OdclJfbN7 +# h/h58+um8CqNPbRAJXvNdWPHotRYuHUz7aKGMEYjgOk03S2ZTTUrVN9tSTdhgfjN +# qavYppaJrKKm5VhrEER2K2HAwW7GoW9mh25AzkmsQ4aoeedgLsnvVV8OGfYrT2bO +# 01Djyr6LsTSIjXMufvzonovfy6b2oqfeHJtJCnataBAxghnqMIIZ5gIBATBpMFkx +# CzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMS8wLQYDVQQD +# EyZHbG9iYWxTaWduIEdDQyBSNDUgQ29kZVNpZ25pbmcgQ0EgMjAyMAIMD8vFb5IC +# fmzAlZMIMAsGCWCGSAFlAwQCAaB8MBAGCisGAQQBgjcCAQwxAjAAMBkGCSqGSIb3 +# DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEV +# MC8GCSqGSIb3DQEJBDEiBCANG6weJ2fyA/p3zIMg0V1QBCI5ZaAvdZZhXFfJW68g +# WDALBgkqhkiG9w0BAQEEggIAPopycooo1CEIb9EfPdns1Wy9CvEyXlY7GkptRlSu +# zF1JdxLf+bsVDsEdtcHW7FwQybwe2xjUZ6KtfGR8uv8oDgMnEa2fuTB+TNuBgOnR +# 5YaXG6wcG+z8Sp64dL56KAmE5oRoVrPOLT5zAY25eHiZTNgqheYV9FalzPgoMUwB +# qW/04jfWLlNY4hgYHnWxPkuNr9b7hhCNXAwfEkBIpzshnRhKRzLjK6FpfN+5Adkb +# NUg/YtItRY39KiRUn4XuMBFl+GVWyzBFTj+QQwxok253Wb86VNA/Si2hoQsjl5dw +# Ur6PKsaQyemYaGNTo0Cg4OFumKGA/D5o+wbOGo30+5hBXLf81o7rb3G8tf2YGGM4 +# RcUFDzm2uJLtNC5eknyjsvSTssNmiY0hCh7cp6UJPssUEqjOKak73Rv8yykpZRGM +# FuGRhfo0a8qg07BU1z63py9QquGJF+iUS/W+OBCZX+4hMn0svxmoTfwa1bgx8mB7 +# 5wt42E1GzpzBKtixmjcbDjWPhJ0WCLy9KhJ00B4dCxJVUhHU7k+c22nXE7bl65y0 +# clFG5sofHpXy5cf09GSKuJAaDai1OKOt8IIaaidamwajv5ZN8tu+qmAeDxc5En4M +# iWMVDn2CG5Dr0mhKFZxGGMNKxgCpyt6OGMU48lkCrwVawQQtMFgO4wNcnysM+Khq +# 8GehghbYMIIW1AYKKwYBBAGCNwMDATGCFsQwghbABgkqhkiG9w0BBwKgghaxMIIW +# rQIBAzENMAsGCWCGSAFlAwQCATCB8wYLKoZIhvcNAQkQAQSggeMEgeAwgd0CAQEG +# CysGAQQBoDICAwECMDEwDQYJYIZIAWUDBAIBBQAEICkx1mva4klxbeW4WP91UJmg +# DWt4BcXyh6cRKmeE4SEcAhQs/iKdfjMFv2gVDntkmCXmRM5WJRgPMjAyNTAxMDIx +# NzMzMTFaMAMCAQECCQCoCG1FPQKbcqBhpF8wXTELMAkGA1UEBhMCQkUxGTAXBgNV +# BAoMEEdsb2JhbFNpZ24gbnYtc2ExMzAxBgNVBAMMKkdsb2JhbHNpZ24gVFNBIGZv +# ciBDb2RlU2lnbjEgLSBSNiAtIDIwMjMxMaCCElQwggWDMIIDa6ADAgECAg5F5rsD +# gzPDhWVI5v9FUTANBgkqhkiG9w0BAQwFADBMMSAwHgYDVQQLExdHbG9iYWxTaWdu +# IFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xv +# YmFsU2lnbjAeFw0xNDEyMTAwMDAwMDBaFw0zNDEyMTAwMDAwMDBaMEwxIDAeBgNV +# BAsTF0dsb2JhbFNpZ24gUm9vdCBDQSAtIFI2MRMwEQYDVQQKEwpHbG9iYWxTaWdu +# MRMwEQYDVQQDEwpHbG9iYWxTaWduMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +# CgKCAgEAlQfoc8pm+ewUyns89w0I8bRFCyyCtEjG61s8roO4QZIzFKRvf+kqzMaw +# iGvFtonRxrL/FM5RFCHsSt0bWsbWh+5NOhUG7WRmC5KAykTec5RO86eJf094YwjI +# ElBtQmYvTbl5KE1SGooagLcZgQ5+xIq8ZEwhHENo1z08isWyZtWQmrcxBsW+4m0y +# BqYe+bnrqqO4v76CY1DQ8BiJ3+QPefXqoh8q0nAue+e8k7ttU+JIfIwQBzj/ZrJ3 +# YX7g6ow8qrSk9vOVShIHbf2MsonP0KBhd8hYdLDUIzr3XTrKotudCd5dRC2Q8YHN +# V5L6frxQBGM032uTGL5rNrI55KwkNrfw77YcE1eTtt6y+OKFt3OiuDWqRfLgnTah +# b1SK8XJWbi6IxVFCRBWU7qPFOJabTk5aC0fzBjZJdzC8cTflpuwhCHX85mEWP3fV +# 2ZGXhAps1AJNdMAU7f05+4PyXhShBLAL6f7uj+FuC7IIs2FmCWqxBjplllnA8DX9 +# ydoojRoRh3CBCqiadR2eOoYFAJ7bgNYl+dwFnidZTHY5W+r5paHYgw/R/98wEfmF +# zzNI9cptZBQselhP00sIScWVZBpjDnk99bOMylitnEJFeW4OhxlcVLFltr+Mm9wT +# 6Q1vuC7cZ27JixG1hBSKABlwg3mRl5HUGie/Nx4yB9gUYzwoTK8CAwEAAaNjMGEw +# DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFK5sBaOT +# E+Ki5+LXHNbH8H/IZ1OgMB8GA1UdIwQYMBaAFK5sBaOTE+Ki5+LXHNbH8H/IZ1Og +# MA0GCSqGSIb3DQEBDAUAA4ICAQCDJe3o0f2VUs2ewASgkWnmXNCE3tytok/oR3jW +# ZZipW6g8h3wCitFutxZz5l/AVJjVdL7BzeIRka0jGD3d4XJElrSVXsB7jpl4FkMT +# VlezorM7tXfcQHKso+ubNT6xCCGh58RDN3kyvrXnnCxMvEMpmY4w06wh4OMd+tgH +# M3ZUACIquU0gLnBo2uVT/INc053y/0QMRGby0uO9RgAabQK6JV2NoTFR3VRGHE3b +# mZbvGhwEXKYV73jgef5d2z6qTFX9mhWpb+Gm+99wMOnD7kJG7cKTBYn6fWN7P9Bx +# gXwA6JiuDng0wyX7rwqfIGvdOxOPEoziQRpIenOgd2nHtlx/gsge/lgbKCuobK1e +# bcAF0nu364D+JTf+AptorEJdw+71zNzwUHXSNmmc5nsE324GabbeCglIWYfrexRg +# emSqaUPvkcdM7BjdbO9TLYyZ4V7ycj7PVMi9Z+ykD0xF/9O5MCMHTI8Qv4aW2Zla +# tJlXHKTMuxWJU7osBQ/kxJ4ZsRg01Uyduu33H68klQR4qAO77oHl2l98i0qhkHQl +# p7M+S8gsVr3HyO844lyS8Hn3nIS6dC1hASB+ftHyTwdZX4stQ1LrRgyU4fVmR3l3 +# 1VRbH60kN8tFWk6gREjI2LCZxRWECfbWSUnAZbjmGnFuoKjxguhFPmzWAtcKZ4MF +# WsmkEDCCBlkwggRBoAMCAQICDQHsHJJA3v0uQF18R3QwDQYJKoZIhvcNAQEMBQAw +# TDEgMB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkds +# b2JhbFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTgwNjIwMDAwMDAwWhcN +# MzQxMjEwMDAwMDAwWjBbMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2ln +# biBudi1zYTExMC8GA1UEAxMoR2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBT +# SEEzODQgLSBHNDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAPAC4jAj +# +uAb4Zp0s691g1+pR1LHYTpjfDkjeW10/DHkdBIZlvrOJ2JbrgeKJ+5Xo8Q17bM0 +# x6zDDOuAZm3RKErBLLu5cPJyroz3mVpddq6/RKh8QSSOj7rFT/82QaunLf14TkOI +# /pMZF9nuMc+8ijtuasSI8O6X9tzzGKBLmRwOh6cm4YjJoOWZ4p70nEw/XVvstu/S +# Zc9FC1Q9sVRTB4uZbrhUmYqoMZI78np9/A5Y34Fq4bBsHmWCKtQhx5T+QpY78Qux +# f39GmA6HPXpl69FWqS69+1g9tYX6U5lNW3TtckuiDYI3GQzQq+pawe8P1Zm5P/RP +# NfGcD9M3E1LZJTTtlu/4Z+oIvo9Jev+QsdT3KRXX+Q1d1odDHnTEcCi0gHu9Kpu7 +# hOEOrG8NubX2bVb+ih0JPiQOZybH/LINoJSwspTMe+Zn/qZYstTYQRLBVf1ukcW7 +# sUwIS57UQgZvGxjVNupkrs799QXm4mbQDgUhrLERBiMZ5PsFNETqCK6dSWcRi4Ll +# rVqGp2b9MwMB3pkl+XFu6ZxdAkxgPM8CjwH9cu6S8acS3kISTeypJuV3AqwOVwwJ +# 0WGeJoj8yLJN22TwRZ+6wT9Uo9h2ApVsao3KIlz2DATjKfpLsBzTN3SE2R1mqzRz +# jx59fF6W1j0ZsJfqjFCRba9Xhn4QNx1rGhTfAgMBAAGjggEpMIIBJTAOBgNVHQ8B +# Af8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU6hbGaefjy1dF +# OTOk8EC+0MO9ZZYwHwYDVR0jBBgwFoAUrmwFo5MT4qLn4tcc1sfwf8hnU6AwPgYI +# KwYBBQUHAQEEMjAwMC4GCCsGAQUFBzABhiJodHRwOi8vb2NzcDIuZ2xvYmFsc2ln +# bi5jb20vcm9vdHI2MDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwuZ2xvYmFs +# c2lnbi5jb20vcm9vdC1yNi5jcmwwRwYDVR0gBEAwPjA8BgRVHSAAMDQwMgYIKwYB +# BQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMA0G +# CSqGSIb3DQEBDAUAA4ICAQB/4ojZV2crQl+BpwkLusS7KBhW1ky/2xsHcMb7Cwmt +# ADpgMx85xhZrGUBJJQge5Jv31qQNjx6W8oaiF95Bv0/hvKvN7sAjjMaF/ksVJPkY +# ROwfwqSs0LLP7MJWZR29f/begsi3n2HTtUZImJcCZ3oWlUrbYsbQswLMNEhFVd3s +# 6UqfXhTtchBxdnDSD5bz6jdXlJEYr9yNmTgZWMKpoX6ibhUm6rT5fyrn50hkaS/S +# mqFy9vckS3RafXKGNbMCVx+LnPy7rEze+t5TTIP9ErG2SVVPdZ2sb0rILmq5yojD +# EjBOsghzn16h1pnO6X1LlizMFmsYzeRZN4YJLOJF1rLNboJ1pdqNHrdbL4guPX3x +# 8pEwBZzOe3ygxayvUQbwEccdMMVRVmDofJU9IuPVCiRTJ5eA+kiJJyx54jzlmx7j +# qoSCiT7ASvUh/mIQ7R0w/PbM6kgnfIt1Qn9ry/Ola5UfBFg0ContglDk0Xuoyea+ +# SKorVdmNtyUgDhtRoNRjqoPqbHJhSsn6Q8TGV8Wdtjywi7C5HDHvve8U2BRAbCAd +# wi3oC8aNbYy2ce1SIf4+9p+fORqurNIveiCx9KyqHeItFJ36lmodxjzK89kcv1NN +# pEdZfJXEQ0H5JeIsEH6B+Q2Up33ytQn12GByQFCVINRDRL76oJXnIFm2eMakaqoi +# mzCCBmwwggRUoAMCAQICEAGb6t7ITWuP92w6ny4BJBYwDQYJKoZIhvcNAQELBQAw +# WzELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExMTAvBgNV +# BAMTKEdsb2JhbFNpZ24gVGltZXN0YW1waW5nIENBIC0gU0hBMzg0IC0gRzQwHhcN +# MjMxMTA3MTcxMzQwWhcNMzQxMjA5MTcxMzQwWjBdMQswCQYDVQQGEwJCRTEZMBcG +# A1UECgwQR2xvYmFsU2lnbiBudi1zYTEzMDEGA1UEAwwqR2xvYmFsc2lnbiBUU0Eg +# Zm9yIENvZGVTaWduMSAtIFI2IC0gMjAyMzExMIIBojANBgkqhkiG9w0BAQEFAAOC +# AY8AMIIBigKCAYEA6oQ3UGg8lYW1SFRxl/OEcsmdgNMI3Fm7v8tNkGlHieUs2PGo +# an5gN0lzm7iYsxTg74yTcCC19SvXZgV1P3qEUKlSD+DW52/UHDUu4C8pJKOOdyUn +# 4LjzfWR1DJpC5cad4tiHc4vvoI2XfhagxLJGz2DGzw+BUIDdT+nkRqI0pz4Yx2u0 +# tvu+2qlWfn+cXTY9YzQhS8jSoxMaPi9RaHX5f/xwhBFlMxKzRmUohKAzwJKd7bgf +# iWPQHnssW7AE9L1yY86wMSEBAmpysiIs7+sqOxDV8Zr0JqIs/FMBBHkjaVHTXb5z +# hMubg4htINIgzoGraiJLeZBC5oJCrwPr1NDag3rDLUjxzUWRtxFB3RfvQPwSorLA +# WapUl05tw3rdhobUOzdHOOgDPDG/TDN7Q+zw0P9lpp+YPdLGulkibBBYEcUEzOii +# mLAdM9DzlR347XG0C0HVZHmivGAuw3rJ3nA3EhY+Ao9dOBGwBIlni6UtINu41vWc +# 9Q+8iL8nLMP5IKLBAgMBAAGjggGoMIIBpDAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0l +# AQH/BAwwCgYIKwYBBQUHAwgwHQYDVR0OBBYEFPlOq764+Fv/wscD9EHunPjWdH0/ +# MFYGA1UdIARPME0wCAYGZ4EMAQQCMEEGCSsGAQQBoDIBHjA0MDIGCCsGAQUFBwIB +# FiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAMBgNVHRMB +# Af8EAjAAMIGQBggrBgEFBQcBAQSBgzCBgDA5BggrBgEFBQcwAYYtaHR0cDovL29j +# c3AuZ2xvYmFsc2lnbi5jb20vY2EvZ3N0c2FjYXNoYTM4NGc0MEMGCCsGAQUFBzAC +# hjdodHRwOi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2VydC9nc3RzYWNhc2hh +# Mzg0ZzQuY3J0MB8GA1UdIwQYMBaAFOoWxmnn48tXRTkzpPBAvtDDvWWWMEEGA1Ud +# HwQ6MDgwNqA0oDKGMGh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20vY2EvZ3N0c2Fj +# YXNoYTM4NGc0LmNybDANBgkqhkiG9w0BAQsFAAOCAgEAlfRnz5OaQ5KDF3bWIFW8 +# if/kX7LlFRq3lxFALgBBvsU/JKAbRwczBEy0tGL/xu7TDMI0oJRcN5jrRPhf+CcK +# Ar4e0SQdI8svHKsnerOpxS8M5OWQ8BUkHqMVGfjvg+hPu2ieI299PQ1xcGEyfEZu +# 8o/RnOhDTfqD4f/E4D7+3lffBmvzagaBaKsMfCr3j0L/wHNp2xynFk8mGVhz7ZRe +# 5BqiEIIHMjvKnr/dOXXUvItUP35QlTSfkjkkUxiDUNRbL2a0e/5bKesexQX9oz37 +# obDzK3kPsUusw6PZo9wsnCsjlvZ6KrutxVe2hLZjs2CYEezG1mZvIoMcilgD9I/s +# nE7Q3+7OYSHTtZVUSTshUT2hI4WSwlvyepSEmAqPJFYiigT6tJqJSDX4b+uBhhFT +# wJN7OrTUNMxi1jVhjqZQ+4h0HtcxNSEeEb+ro2RTjlTic2ak+2Zj4TfJxGv7KzOL +# EcN0kIGDyE+Gyt1Kl9t+kFAloWHshps2UgfLPmJV7DOm5bga+t0kLgz5MokxajWV +# /vbR/xeKriMJKyGuYu737jfnsMmzFe12mrf95/7haN5EwQp04ZXIV/sU6x5a35Z1 +# xWUZ9/TVjSGvY7br9OIXRp+31wduap0r/unScU7Svk9i00nWYF9A43aZIETYSlyz +# XRrZ4qq/TVkAF55gZzpHEqAxggNJMIIDRQIBATBvMFsxCzAJBgNVBAYTAkJFMRkw +# FwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhHbG9iYWxTaWduIFRp +# bWVzdGFtcGluZyBDQSAtIFNIQTM4NCAtIEc0AhABm+reyE1rj/dsOp8uASQWMAsG +# CWCGSAFlAwQCAaCCAS0wGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMCsGCSqG +# SIb3DQEJNDEeMBwwCwYJYIZIAWUDBAIBoQ0GCSqGSIb3DQEBCwUAMC8GCSqGSIb3 +# DQEJBDEiBCArGM4u/ziYeYNl4iURUbgVW8fDNycKf5+wM3D7TIClkzCBsAYLKoZI +# hvcNAQkQAi8xgaAwgZ0wgZowgZcEIDqIepUbXrkqXuFPbLt2gjelRdAQW/BFEb3i +# X4KpFtHoMHMwX6RdMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWdu # IG52LXNhMTEwLwYDVQQDEyhHbG9iYWxTaWduIFRpbWVzdGFtcGluZyBDQSAtIFNI -# QTM4NCAtIEc0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA8ALiMCP6 -# 4BvhmnSzr3WDX6lHUsdhOmN8OSN5bXT8MeR0EhmW+s4nYluuB4on7lejxDXtszTH -# rMMM64BmbdEoSsEsu7lw8nKujPeZWl12rr9EqHxBJI6PusVP/zZBq6ct/XhOQ4j+ -# kxkX2e4xz7yKO25qxIjw7pf23PMYoEuZHA6HpybhiMmg5ZninvScTD9dW+y279Jl -# z0ULVD2xVFMHi5luuFSZiqgxkjvyen38DljfgWrhsGweZYIq1CHHlP5CljvxC7F/ -# f0aYDoc9emXr0VapLr37WD21hfpTmU1bdO1yS6INgjcZDNCr6lrB7w/Vmbk/9E81 -# 8ZwP0zcTUtklNO2W7/hn6gi+j0l6/5Cx1PcpFdf5DV3Wh0MedMRwKLSAe70qm7uE -# 4Q6sbw25tfZtVv6KHQk+JA5nJsf8sg2glLCylMx75mf+pliy1NhBEsFV/W6Rxbux -# TAhLntRCBm8bGNU26mSuzv31BebiZtAOBSGssREGIxnk+wU0ROoIrp1JZxGLguWt -# WoanZv0zAwHemSX5cW7pnF0CTGA8zwKPAf1y7pLxpxLeQhJN7Kkm5XcCrA5XDAnR -# YZ4miPzIsk3bZPBFn7rBP1Sj2HYClWxqjcoiXPYMBOMp+kuwHNM3dITZHWarNHOP -# Hn18XpbWPRmwl+qMUJFtr1eGfhA3HWsaFN8CAwEAAaOCASkwggElMA4GA1UdDwEB -# /wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBTqFsZp5+PLV0U5 -# M6TwQL7Qw71lljAfBgNVHSMEGDAWgBSubAWjkxPioufi1xzWx/B/yGdToDA+Bggr -# BgEFBQcBAQQyMDAwLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwMi5nbG9iYWxzaWdu -# LmNvbS9yb290cjYwNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9iYWxz -# aWduLmNvbS9yb290LXI2LmNybDBHBgNVHSAEQDA+MDwGBFUdIAAwNDAyBggrBgEF -# BQcCARYmaHR0cHM6Ly93d3cuZ2xvYmFsc2lnbi5jb20vcmVwb3NpdG9yeS8wDQYJ -# KoZIhvcNAQEMBQADggIBAH/iiNlXZytCX4GnCQu6xLsoGFbWTL/bGwdwxvsLCa0A -# OmAzHznGFmsZQEklCB7km/fWpA2PHpbyhqIX3kG/T+G8q83uwCOMxoX+SxUk+RhE -# 7B/CpKzQss/swlZlHb1/9t6CyLefYdO1RkiYlwJnehaVSttixtCzAsw0SEVV3ezp -# Sp9eFO1yEHF2cNIPlvPqN1eUkRiv3I2ZOBlYwqmhfqJuFSbqtPl/KufnSGRpL9Ka -# oXL29yRLdFp9coY1swJXH4uc/LusTN763lNMg/0SsbZJVU91naxvSsguarnKiMMS -# ME6yCHOfXqHWmc7pfUuWLMwWaxjN5Fk3hgks4kXWss1ugnWl2o0et1sviC49ffHy -# kTAFnM57fKDFrK9RBvARxx0wxVFWYOh8lT0i49UKJFMnl4D6SIknLHniPOWbHuOq -# hIKJPsBK9SH+YhDtHTD89szqSCd8i3VCf2vL86VrlR8EWDQKie2CUOTRe6jJ5r5I -# qitV2Y23JSAOG1Gg1GOqg+pscmFKyfpDxMZXxZ22PLCLsLkcMe+97xTYFEBsIB3C -# LegLxo1tjLZx7VIh/j72n585Gq6s0i96ILH0rKod4i0UnfqWah3GPMrz2Ry/U02k -# R1l8lcRDQfkl4iwQfoH5DZSnffK1CfXYYHJAUJUg1ENEvvqglecgWbZ4xqRqqiKb -# MIIGbDCCBFSgAwIBAgIQAZvq3shNa4/3bDqfLgEkFjANBgkqhkiG9w0BAQsFADBb -# MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTExMC8GA1UE -# AxMoR2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBTSEEzODQgLSBHNDAeFw0y -# MzExMDcxNzEzNDBaFw0zNDEyMDkxNzEzNDBaMF0xCzAJBgNVBAYTAkJFMRkwFwYD -# VQQKDBBHbG9iYWxTaWduIG52LXNhMTMwMQYDVQQDDCpHbG9iYWxzaWduIFRTQSBm -# b3IgQ29kZVNpZ24xIC0gUjYgLSAyMDIzMTEwggGiMA0GCSqGSIb3DQEBAQUAA4IB -# jwAwggGKAoIBgQDqhDdQaDyVhbVIVHGX84RyyZ2A0wjcWbu/y02QaUeJ5SzY8ahq -# fmA3SXObuJizFODvjJNwILX1K9dmBXU/eoRQqVIP4Nbnb9QcNS7gLykko453JSfg -# uPN9ZHUMmkLlxp3i2Idzi++gjZd+FqDEskbPYMbPD4FQgN1P6eRGojSnPhjHa7S2 -# +77aqVZ+f5xdNj1jNCFLyNKjExo+L1Fodfl//HCEEWUzErNGZSiEoDPAkp3tuB+J -# Y9AeeyxbsAT0vXJjzrAxIQECanKyIizv6yo7ENXxmvQmoiz8UwEEeSNpUdNdvnOE -# y5uDiG0g0iDOgatqIkt5kELmgkKvA+vU0NqDesMtSPHNRZG3EUHdF+9A/BKissBZ -# qlSXTm3Det2GhtQ7N0c46AM8Mb9MM3tD7PDQ/2Wmn5g90sa6WSJsEFgRxQTM6KKY -# sB0z0POVHfjtcbQLQdVkeaK8YC7DesnecDcSFj4Cj104EbAEiWeLpS0g27jW9Zz1 -# D7yIvycsw/kgosECAwEAAaOCAagwggGkMA4GA1UdDwEB/wQEAwIHgDAWBgNVHSUB -# Af8EDDAKBggrBgEFBQcDCDAdBgNVHQ4EFgQU+U6rvrj4W//CxwP0Qe6c+NZ0fT8w -# VgYDVR0gBE8wTTAIBgZngQwBBAIwQQYJKwYBBAGgMgEeMDQwMgYIKwYBBQUHAgEW -# Jmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMAwGA1UdEwEB -# /wQCMAAwgZAGCCsGAQUFBwEBBIGDMIGAMDkGCCsGAQUFBzABhi1odHRwOi8vb2Nz -# cC5nbG9iYWxzaWduLmNvbS9jYS9nc3RzYWNhc2hhMzg0ZzQwQwYIKwYBBQUHMAKG -# N2h0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L2dzdHNhY2FzaGEz -# ODRnNC5jcnQwHwYDVR0jBBgwFoAU6hbGaefjy1dFOTOk8EC+0MO9ZZYwQQYDVR0f -# BDowODA2oDSgMoYwaHR0cDovL2NybC5nbG9iYWxzaWduLmNvbS9jYS9nc3RzYWNh -# c2hhMzg0ZzQuY3JsMA0GCSqGSIb3DQEBCwUAA4ICAQCV9GfPk5pDkoMXdtYgVbyJ -# /+RfsuUVGreXEUAuAEG+xT8koBtHBzMETLS0Yv/G7tMMwjSglFw3mOtE+F/4JwoC -# vh7RJB0jyy8cqyd6s6nFLwzk5ZDwFSQeoxUZ+O+D6E+7aJ4jb309DXFwYTJ8Rm7y -# j9Gc6ENN+oPh/8TgPv7eV98Ga/NqBoFoqwx8KvePQv/Ac2nbHKcWTyYZWHPtlF7k -# GqIQggcyO8qev905ddS8i1Q/flCVNJ+SOSRTGINQ1FsvZrR7/lsp6x7FBf2jPfuh -# sPMreQ+xS6zDo9mj3CycKyOW9noqu63FV7aEtmOzYJgR7MbWZm8igxyKWAP0j+yc -# TtDf7s5hIdO1lVRJOyFRPaEjhZLCW/J6lISYCo8kViKKBPq0molINfhv64GGEVPA -# k3s6tNQ0zGLWNWGOplD7iHQe1zE1IR4Rv6ujZFOOVOJzZqT7ZmPhN8nEa/srM4sR -# w3SQgYPIT4bK3UqX236QUCWhYeyGmzZSB8s+YlXsM6bluBr63SQuDPkyiTFqNZX+ -# 9tH/F4quIwkrIa5i7vfuN+ewybMV7Xaat/3n/uFo3kTBCnThlchX+xTrHlrflnXF -# ZRn39NWNIa9jtuv04hdGn7fXB25qnSv+6dJxTtK+T2LTSdZgX0DjdpkgRNhKXLNd -# Gtniqr9NWQAXnmBnOkcSoDGCA0kwggNFAgEBMG8wWzELMAkGA1UEBhMCQkUxGTAX -# BgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExMTAvBgNVBAMTKEdsb2JhbFNpZ24gVGlt -# ZXN0YW1waW5nIENBIC0gU0hBMzg0IC0gRzQCEAGb6t7ITWuP92w6ny4BJBYwCwYJ -# YIZIAWUDBAIBoIIBLTAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQwKwYJKoZI -# hvcNAQk0MR4wHDALBglghkgBZQMEAgGhDQYJKoZIhvcNAQELBQAwLwYJKoZIhvcN -# AQkEMSIEIPHRDqQJ1LDOx0fuXJL0SFYwJN8hzLyrirGjtTrFel25MIGwBgsqhkiG -# 9w0BCRACLzGBoDCBnTCBmjCBlwQgOoh6lRteuSpe4U9su3aCN6VF0BBb8EURveJf -# gqkW0egwczBfpF0wWzELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24g -# bnYtc2ExMTAvBgNVBAMTKEdsb2JhbFNpZ24gVGltZXN0YW1waW5nIENBIC0gU0hB -# Mzg0IC0gRzQCEAGb6t7ITWuP92w6ny4BJBYwDQYJKoZIhvcNAQELBQAEggGAuHJl -# ek3P0mOKG+ulg8V1fw9abk+Dom/J+susPRVNIe25sgQ85CygtNSUIMan693uTl7w -# wBsr10kwvuzYlIHNpCtPTXDkCaC9Fp1biQ1VfJp97oQO1RwBsRCZnX7RjZImgwYs -# 39MEOj5nRZXfZYfn39uTUzqPUixtJPqTrswFiG+/mlPrGsYc1yvInmrrvdGjDd9v -# s5he5JV4ksGagMeu1Kp4KrxI26xTkCWUAr6NjY9+qigMIo40luEmtzIMkwdpRj0+ -# tiu7eppvET6zD7zXmzieTsciyGKx/qzGsPp5nnaWMqvqpj/9PdMuPwM8Xuh+Sigj -# S6SOB8D1CswZ8jUQZBaWRvXfKqLUNv2rJgo5nSD1pblScqR0EtK7tb0WmOf2ct4/ -# /ETnhuHJwPkZOAlYv5h/1XvxbNIEHQUGaR9cbmHpB21ISvBdQxDWzJ6iEVKkyne0 -# 9VfgOlQeFqZ1o6vwRNHbxPLHCm7E/55mcv5ywjU+CdpWOhn7Vp57m8p5Uj+I +# QTM4NCAtIEc0AhABm+reyE1rj/dsOp8uASQWMA0GCSqGSIb3DQEBCwUABIIBgLQP +# tikAcP7XUY871OWsduo///eKSJk2E/kmU9pV1KadSC4LzocZNG6XrJmOJVmQF62D +# GFfe40pw/FnXI0ujHuDdk1YNFVFleY4xIxsamMbEYLn7HqkLqByNITsBDbuZzhH5 +# lln5bHG390CBNWuInjmSl8gYQ/1S+fpqMW2TESTIJBOY01Yq1eNUAZ8J18z5hOE0 +# r3+ZDAp4Ldc/snOgRIsofptuo6M8MYG8z5esI8FsVZbwylRcxPdDn19PlesHden/ +# jck77Dztfnh/GKbRMSxIluB7HYHw/xxZqi8y+MWE6S+JlHRzpdDEBGo0r0I6rJ2W +# fHJ+D6HL+g1LCocaVU3a/GBmx405rBixLgsKIireruqloPZcjC8CHQ6NIcKEX0wi +# WX/MLJVfqoonNZFc0cj5qshy4/8zv1y7KM1ih6F9Q9K605ARSbx2skBfdekV/Qi0 +# aAcvY2u7gCMLJfn84JrhXrLtfeWaCpCZxkBzUZ5G71c0xv/I3d2N3f6dxQnGCA== # SIG # End signature block