scenarios/Config.psd1

@{
    HyperVKey                          = "Hyper-V"
    HyperVPowerShellKey                = "Hyper-V-PowerShell"
    DataCenterBridgingKey              = "Data-Center-Bridging"
    RSATDataCenterBridgingLLDPToolsKey = "RSAT-DataCenterBridging-LLDP-Tools"
    NetworkATCKey                      = "NetworkATC"
    FailoverClusteringKey              = "Failover-Clustering"

    # 100 - 109
    NetHUDRequirements                 = @(
        @{
            "RSAT-DataCenterBridging-LLDP-Tools" = @{
                Source     = 'Network-HUD-Service'
                EventID    = 100
                EntryType  = 'Error'
                MessageKey = 'networkhud_prerequisite_req_lldp'
            }

            "Hyper-V"                            = @{
                Source     = 'Network-HUD-Service'
                EventID    = 101
                EntryType  = 'Error'
                MessageKey = 'networkhud_prerequisite_req_hyperv'
            }

            "NetworkATC"                         = @{
                Source     = 'Network-HUD-Service'
                EventID    = 102
                EntryType  = 'Error'
                MessageKey = 'networkhud_prerequisite_req_atc'
            }

            "Failover-Clustering"                = @{
                Source     = 'Network-HUD-Service'
                EventID    = 103
                EntryType  = 'Error'
                MessageKey = 'networkhud_prerequisite_req_cluster'
            }

            "Data-Center-Bridging"               = @{
                Source     = 'Network-HUD-Service'
                EventID    = 104
                EntryType  = 'Error'
                MessageKey = 'networkhud_prerequisite_req_dcb'
            }

            "NetworkHUD" = @{
                EventID        = 105
                EntryType      = 'Error'
                RequiredVersion = '1.0.0'
                MessageKey     = 'networkhud_prerequisite_req_NetworkHUDmodule'
            }

            NotClustered                         = @{
                Source     = 'Network-HUD-Service'
                EventID    = 107
                EntryType  = 'Error'
                MessageKey = 'networkhud_prerequisite_req_nocluster'
            }

            NoServiceAccount                     = @{
                Source     = 'Network-HUD-Service'
                EventID    = 108
                EntryType  = 'Error'
                MessageKey = 'networkhud_prerequisite_req_noserviceacc'
            }

            PrerequisiteFailed                   = @{
                Source     = 'Network-HUD-Service'
                EventID    = 109
                EntryType  = 'Error'
                MessageKey = 'networkhud_prerequisite_req_fail'
            }
        }
    )

    # 120 - 129
    NetMapping                         = @(
        @{
            NoIntentsDefined      = @{
                Source    = 'Network-HUD-Service'
                EventID   = 120
                EntryType = 'Error'
                Message   = "No testable cluster networks have been found because no Network ATC intents have been defined. It is recommended
to use Network ATC to increase networking reliability and Network HUD relies on this data. To resolve this issue, use Network ATC to define
the networking configuration."

            }

            IntentTypeComputeOnly = @{
                Source    = 'Network-HUD-Service'
                EventID   = 121
                EntryType = 'Warning'
                Message   = "No testable cluster networks have been found because only Compute intents are defined in Network ATC.
Compute-only intents do not use addressed adapters and do not provide a network mapping. It is recommended to use Network ATC
on management and storage networks to increase networking reliability and Network HUD relies on this data.
 
To resolve this issue, use Network ATC to define the networking configuration."

            }

            NoTestableNetsFound   = @{
                Source    = 'Network-HUD-Service'
                EventID   = 122
                EntryType = 'Error'
                Message   = "No testable cluster networks have been found. This information is used by Network HUD to detect operational issues.
 
To resolve this issue, review the information in other events and resolve the issues identified."

            }

            Connectivity          = @{
                Source    = 'Network-HUD-Control'
                EventID   = 123
                EntryType = 'SuccessAudit'
                Message   = "Cluster connectivity information has been logged in the event data of this message in the form of JSON Bytes. This information is used by Network HUD to detect operational issues.
 
To convert this event data back to readable text, use the following sequence of commands:
    1) `$Event = Get-EventLog -LogName 'NetworkHUD' -Source 'Network-HUD-Control' -InstanceId 123 -EntryType SuccessAudit | Select -First 1
    2) [System.Text.Encoding]::Unicode.GetString(`$Event.Data) | ConvertFrom-Json"


            }

            TestableNets          = @{
                Source    = 'Network-HUD-Control'
                EventID   = 124
                EntryType = 'SuccessAudit'
                Message   = "Testable cluster networks has been logged in the event data of this message in the form of JSON Bytes. This information is used by Network HUD to detect operational issues.
 
To convert this event data back to readable text, use the following sequence of commands:
    1) `$Event = Get-EventLog -LogName 'NetworkHUD' -Source 'Network-HUD-Control' -InstanceId 124 -EntryType SuccessAudit | Select -First 1
    2) [System.Text.Encoding]::Unicode.GetString(`$Event.Data) | ConvertFrom-Json"


            }
        }
    )

    #region Solutions in use - Start at 1000
    # 1010 - 1014
    WatchLinkState                     = @(
        @{
            LinkStateChange = @{
                Source     = 'Network-HUD-Service'
                EventID    = 1010
                EntryType  = 'Warning'
                MessageKey = 'networkhud_watchlinkstate_linkstatechange'
            }
            DetectedFlap            = @{
                Source     = 'Network-HUD-Service'
                EventID    = 1015
                EntryType  = 'Error'
                MessageKey = 'networkhud_watchlinkstate_detectedflap'
            }

            NotEnoughAdapters       = @{
                Source     = 'Network-HUD-Service'
                EventID    = 1016
                EntryType  = 'Error'
                MessageKey = 'networkhud_watchlinkstate_notenoughadapters'
            }

            DisableFlappingNIC      = @{
                Source     = 'Network-HUD-Service'
                EventID    = 1017
                EntryType  = 'Error'
                MessageKey = 'networkhud_watchlinkstate_disable'
            }

            FaultIntervalSeconds    = 300
            DisconnectThreshold     = 5
            ClearIntervalMultiplier = 12
            ClearThreshold          = 0
            EntityType              = "Microsoft.Health.EntityType.NetworkAdapter"
            FaultType               = "Microsoft.Health.FaultType.NetworkAdapter.AdapterUnstableDisconnect"
            FaultDescriptionKey     = "networkhud_watchlinkstate_faultdescription"
            FaultActionKey          = "networkhud_watchlinkstate_faultAction"
        }
    )

    # 1015 - 1019
    MeasureLinkState                   = @(
        @{
            ClearIntervalSeconds = 3600
            ClearThreshold       = 0
        }
    )

    ResettingNic = @{
        DetectedReset = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1018
            EntryType  = 'Error'
            MessageKey = 'networkhud_measureresettingnic_detectedflap'
        }

        NotEnoughAdapters       = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1019
            EntryType  = 'Error'
            MessageKey = 'networkhud_measureresettingnic_notenoughadapters'
        }

        DisableResettingNIC     = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1020
            EntryType  = 'Error'
            MessageKey = 'networkhud_measureresettingnic_disable'
        }

        FaultIntervalSeconds    = 3600
        ClearIntervalSeconds    = 10800
        ClearIntervalMultiplier = 3
        ResetThreshold          = 1
        ClearThreshold          = 0
        EntityType              = "Microsoft.Health.EntityType.NetworkAdapter"
        FaultType               = "Microsoft.Health.FaultType.NetworkAdapter.Resetting"
        FaultDescriptionKey     = "networkhud_measureresettingnic_FaultDescription"
        FaultActionKey          = "networkhud_measureresettingnic_FaultAction"
    }

    # 1020 - 1025
    WatchMTU = @(
        @{
            Connectivity                   = @{
                Source    = 'Network-HUD-Service'
                EventID   = 1020
                EntryType = 'Error'
                Message   = "The Network HUD service has determined that the host [PMTUDNameSource] with IP Address [PMTUDIPSource] does not have connectivity
to host [PMTUDNameTarget] with IP Address [PMTUDIPTarget].
 
The path had the following characteristics:
- Connectivity: [PathConnectivity]
- Maximum Segment Size (MSS): [PMTUDMSS]
- Maximum Transmission Unit (MTU): [PMTUDMTU]"


            }

            OperationalMTULBelowConfigured = @{
                Source    = 'Network-HUD-Service'
                EventID   = 1021
                EntryType = 'Error'
                Message   = "The configured MTU on adapter [PMTUDNameSource] with IP Address [PMTUDIPSource] is greater than the operational limit of the link
to the adapter on adapter [PMTUDNameTarget] with IP Address [PMTUDIPTarget].
 
To resolve this issue, ensure the Network ATC intents have completed successfully using Get-NetIntentStatus -Cluster __ClusterName__
 
If the Network ATC intents have completed successfully, ensure that all switchports between [PMTUDIPSource] and [PMTUDIPTarget] allows the
configured MTU of [ConfiguredMTU]"


            }

            StartedMTUFix                  = @{
                Source    = 'Network-HUD-Service'
                EventID   = 1022
                EntryType = 'Information'
                Message   = "Network HUD is attempting to fix the configured MTU for the Network ATC intent `'__ATCIntentName__`' to resolve the identified issues in Event 1021. Events 1023 and 1024 indicate completion of this attempt."
            }

            LoweredATCMTU                  = @{
                Source    = 'Network-HUD-Service'
                EventID   = 1023
                EntryType = 'Information'
                Message   = "Network HUD has lowered the configured MTU to __ATCNewMTU__ in the Network ATC intent `'__ATCIntentName__`' to resolve the issues identified in Event 1021."
            }

            CantFixMTU                     = @{
                Source    = 'Network-HUD-Service'
                EventID   = 1024
                EntryType = 'Information'
                Message   = "Network HUD could not fix the operational issue identified in event 1021. Review the information in this event and resolve the issue manually."
            }
        }
    )

    # 1030 - 1039
    PublishLLDP = @(
        @{
            LLDPNotInstalled  = @{
                Source    = 'Network-HUD-Service'
                EventID   = 1030
                EntryType = 'Error'
                Message   = "The RSAT-DataCenterBridging-LLDP-Tools feature is not installed. Network HUD has attempted to remediate this but was unsuccessful. Please install the feature or contact Microsoft support."
            }

            LLDPLogNotFound   = @{
                Source    = 'Network-HUD-Service'
                EventID   = 1031
                EntryType = 'Error'
                Message   = "The LinkLayerDiscoveryProtocol event log was not found. Network HUD has attempted to remediate this but was unsuccessful. Please contact Microsoft support."
            }

            LLDPLogNotEnabled = @{
                Source    = 'Network-HUD-Service'
                EventID   = 1032
                EntryType = 'Error'
                Message   = "The LinkLayerDiscoveryProtocol event log is disabled. Network HUD has attempted to remediate this but was unsuccessful. Please enable the log or contact Microsoft support."
            }

            LLDPLogFull       = @{
                Source    = 'Network-HUD-Service'
                EventID   = 1033
                EntryType = 'Error'
                Message   = "The LinkLayerDiscoveryProtocol event log is full. Network HUD has attempted to remediate this but was unsuccessful. Please clear the log or contact Microsoft support."
            }

            AdapterDown       = @{
                Source    = 'Network-HUD-Service'
                EventID   = 1034
                EntryType = 'Error'
                Message   = "Network HUD could not retrieve the physical network configuration because the following interface is down:
InterfaceName: __InterfaceName__
InterfaceIndex: __InterfaceIndex__
 
To resolve this issue, reconnect the adapter."

            }

            IntNotEthernet    = @{
                Source    = 'Network-HUD-Service'
                EventID   = 1035
                EntryType = 'Error'
                Message   = "Network HUD could not retrieve the physical network configuration because the following interface is not an Ethernet Adapter.
InterfaceName: __InterfaceName__
InterfaceIndex: __InterfaceIndex__
 
To resolve this issue, use a supported adapter."

            }

            NoLLDPReceived    = @{
                Source    = 'Network-HUD-Service'
                EventID   = 1036
                EntryType = 'Error'
                Message   = "LLDP packets are sent approximately every 30 seconds however no LLDP Packets were received on the following interface in the past 2 minutes:
InterfaceName: __InterfaceName__
InterfaceIndex: __InterfaceIndex__
 
Network HUD has already attempted to autoremediate any issues on the host. If you continue to see this message for the same interface,
    - Ensure the network administrator has enabled LLDP (802.1AB) on the switchports
 
    - Review the list of network switches that support the required LLDP capabilities https://aka.ms/Switch.AzureStackHCI"

            }

            ParsedPacket      = @{
                Source    = 'Network-HUD-Control'
                EventID   = 1037
                EntryType = 'SuccessAudit'
                Message   = "Select LLDP information from the switch has been logged in the event data of this message in the form of JSON Bytes
 
To convert this event data back to readable text, use the following sequence of commands:
    1) `$Event = Get-EventLog -LogName 'NetworkHUD' -Source 'Network-HUD-Control' -InstanceId 1037 -EntryType SuccessAudit | Select -First 1
    2) [System.Text.Encoding]::Unicode.GetString(`$Event.Data) | ConvertFrom-Json"

            }

            PropertyChange      = @{
                Source    = 'Network-HUD-Service'
                EventID   = -1
                EntryType = 'Information'
                MessageKey   = 'networkhud_LLDP_PropertyChange'
            }

            UnknownPropertyChange      = @{
                Source    = 'Network-HUD-Service'
                EventID   = 1038
                EntryType = 'Error'
                MessageKey   = 'networkhud_LLDP_UnkownPropertyChange'
            }

            MissingProperty     = @{
                Source    = 'Network-HUD-Service'
                EventID   = 1039
                EntryType = 'Error'
                MessageKey   = 'networkhud_LLDP_MissingProperty'
            }

            EntityType              = "Microsoft.Health.EntityType.PhysicalSwitch"
            FaultType               = "Microsoft.Health.FaultType.PhysicalSwitch.LLDP"
            FaultDescriptionKey     = "networkhud_LLDP_FaultDescription"
            FaultActionKey          = "networkhud_LLDP_FaultAction"
        }
    )


    # 1020 - 1029 - Driver Validation
    DriverValidation = @{
        InboxDriver  = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1020
            EntryType  = 'Error'
            MessageKey = 'networkhud_DriverValidation_InboxDriver'
        }

        WarnDriverAge           = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1021
            EntryType  = 'Error'
            MessageKey = 'networkhud_DriverValidation_WarnAge'
        }

        FailDriverAge           = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1022
            EntryType  = 'Error'
            MessageKey = 'networkhud_DriverValidation_FailAge'
        }

        VersionMissMatch           = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1023
            EntryType  = 'Warning'
            MessageKey = 'networkhud_DriverValidation_VersionMissMatch'
        }

        FailDriverAgeMonths = 36
        WarnDriverAgeMonths = 24

        EntityType              = "Microsoft.Health.EntityType.NetworkAdapter"
        FaultType               = "Microsoft.Health.FaultType.NetworkAdapter.DriverValidation"

        InboxDriverFaultDescriptionKey   = "networkhud_DriverValidation_InboxDriverFaultDescription"
        InboxDriverFaultActionKey        = "networkhud_DriverValidation_InboxDriverFaultAction"

        FailDriverAgeFaultDescriptionKey = "networkhud_DriverValidation_FailAgeFaultDescription"
        FailDriverAgeFaultActionKey      = "networkhud_DriverValidation_FailAgeFaultAction"

        WarnDriverAgeFaultDescriptionKey = "networkhud_DriverValidation_WarnAgeFaultDescription"
        WarnDriverAgeFaultActionKey      = "networkhud_DriverValidation_WarnAgeFaultAction"

        DriverVersionFaultDescriptionKey  = "networkhud_DriverValidation_DriverVersionDescription"
        DriverVersionFaultActionKey       = "networkhud_DriverValidation_DriverVersionAction"
    }

    # 1070 - 1079 - Infrastructure Validation
    InfrastructureValidation = @{
        MissingIntentTypes = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1070
            EntryType  = 'Error'
            MessageKey = 'networkhud_InfrastructureValidation_MissingIntentTypes'
        }

        FailedIntent = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1071
            EntryType  = 'Error'
            MessageKey = 'networkhud_InfrastructureValidation_FailedIntent'
        }

        MissingIntentTypesFaultDescriptionKey = "networkhud_InfrastructureValidation_MissingIntentTypesFaultDescription"
        MissingIntentTypesFaultActionKey      = "networkhud_InfrastructureValidation_MissingIntentTypesFaultAction"

        FailedIntentFaultDescriptionKey = "networkhud_InfrastructureValidation_FailedIntentFaultDescription"
        FailedIntentFaultActionKey      = "networkhud_InfrastructureValidation_FailedIntentFaultAction"

        EntityType              = "Microsoft.Health.EntityType.NetworkInfrastructure"
        FaultType               = "Microsoft.Health.FaultType.NetworkInfrastructure.Intent"
    }

    # 1040 - 1045 - PCIe
    PCIE = @{
        MissingInfo = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1040
            EntryType  = 'Error'
            MessageKey = 'networkhud_PCIE_missinginfo'
        }

        Insufficient = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1041
            EntryType  = 'Error'
            MessageKey = 'networkhud_PCIE_insufficient'
        }

        SlotInsufficient = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1042
            EntryType  = 'Error'
            MessageKey = 'networkhud_PCIE_slotinsufficient'
        }

        DisableAdapters = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1043
            EntryType  = 'Error'
            MessageKey = 'networkhud_PCIE_disableadapters'
        }

        NotEnoughAdapters = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1044
            EntryType  = 'Error'
            MessageKey = 'networkhud_PCIE_notenoughadapters'
        }

        EntityType              = "Microsoft.Health.EntityType.NetworkAdapter"
        FaultType               = "Microsoft.Health.FaultType.NetworkAdapter.PCIeOverSubscription"
        FaultDescriptionKey     = "networkhud_PCIE_FaultDescription"
        FaultActionKey          = "networkhud_PCIE_FaultAction"
        SlotFaultDescriptionKey = "networkhud_PCIE_SlotFaultDescription"
        SlotFaultActionKey      = "networkhud_PCIE_SlotFaultAction"
    }

    #1050 - 1059 - VLAN
    VLAN = @{
        MissingVlanLocalSymmetry = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1051
            EntryType  = 'Error'
            MessageKey = 'networkhud_VLANs_MissingLocalSymmetry'
        }

        MissingVlanLocalSymmetryFaultDescriptionKey = "networkhud_VLANs_MissingLocalSymmetry_FaultDescription"
        MissingVlanLocalSymmetryFaultActionKey      = "networkhud_VLANs_MissingLocalSymmetry_FaultAction"

        MissingVLANClusterSymmetry = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1052
            EntryType  = 'Error'
            MessageKey = 'networkhud_VLANs_MissingClusterSymmetry'
        }


        MissingVLANClusterSymmetryFaultDescriptionKey = "networkhud_VLANs_MissingClusterSymmetry_FaultDescription"
        MissingVLANClusterSymmetryFaultActionKey      = "networkhud_VLANs_MissingClusterSymmetry_FaultAction"

        MissingLocalWorkloadVLAN = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1053
            EntryType  = 'Error'
            MessageKey = 'networkhud_VLAN_MissingLocalWorkloadVLAN'
        }

        MissingLocalWorkloadVLANFaultDescriptionKey = "networkhud_VLAN_MissingLocalWorkloadVLAN_FaultDescription"
        MissingLocalWorkloadVLANFaultActionKey      = "networkhud_VLAN_MissingLocalWorkloadVLAN_FaultAction"

        EntityType              = "Microsoft.Health.EntityType.PhysicalSwitch"
        FaultType               = "Microsoft.Health.FaultType.PhysicalSwitch.MissingVlanIDs"
    }

    #1060 - 1069 - VLAN
    DCB = @{
        PFCDisabled = @{
            Source     = 'Network-HUD-Service'
            EventID    = 1060
            EntryType  = 'Error'
            MessageKey = 'networkhud_DCB_MissingSMBPFC'
        }

        MissingSMBPFCFaultDescriptionKey = "networkhud_DCB_MissingSMBPFC_FaultDescription"
        MissingSMBPFCFaultActionKey      = "networkhud_DCB_MissingSMBPFC_FaultAction"

        EntityType = "Microsoft.Health.EntityType.PhysicalSwitch"
        FaultType  = "Microsoft.Health.FaultType.PhysicalSwitch.MissingPFC"
    }
}
# SIG # Begin signature block
# MIInwgYJKoZIhvcNAQcCoIInszCCJ68CAQExDzANBglghkgBZQMEAgEFADB5Bgor
# BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
# KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDp7DSSGj5fAuoe
# eWIFZoeXVn6rOyTHP25s8AzBJK6CaaCCDXYwggX0MIID3KADAgECAhMzAAADrzBA
# DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
# VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
# bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw
# CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
# ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
# b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
# AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA
# hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG
# 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN
# xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL
# go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB
# tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE
# AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw
# RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW
# MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci
# tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
# b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG
# CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu
# Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0
# MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd
# mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ
# 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY
# 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp
# XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn
# TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT
# e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG
# OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O
# PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk
# ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx
# HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt
# CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq
# hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
# bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
# IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG
# EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
# A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg
# Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
# CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03
# a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr
# rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg
# OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy
# 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9
# sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh
# dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k
# A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB
# w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn
# Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90
# lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w
# ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o
# ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD
# VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa
# BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny
# bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG
# AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
# L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV
# HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3
# dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG
# AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl
# AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb
# C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l
# hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6
# I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0
# wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560
# STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam
# ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa
# J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah
# XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA
# 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt
# Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr
# /Xmfwb1tbWrJUnMTDXpQzTGCGaIwghmeAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw
# EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
# aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp
# Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB
# BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
# MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIIA/804smdy5aQqx2ElTXNtW
# jIWXjJ6Pzz0B0PvSNgz/MEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A
# cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB
# BQAEggEAmvFCxyMr8KGOx+hOBk4wL4NM3WriAOnzGULoO6t4vMTXlgkb9NhG1RrR
# ZbkuXTg7QWIHLGT7dT3vUIcXVq5DVLoqu8WH9yxzcl6kN/ao/ZT7VD/7AvT/fDuK
# 5hhbNhP0+RdK/qdGaJNtfcWAgtelQGR7SKkWk35SWALbvLNJDs3oMDOmxdZ7PZ6a
# +jgm7P1Bur41xQ94f2ZJtA/LspiXw7kNCxBNsJ6qJoad0WF+e9cfw2GaPGhGexLl
# Ay2+Xxvv/FaBm2ECGbrfIiHbw3m+tt5lealgJlkPPhUJhfFvHYA4+ZMY8fSUMc94
# h2/pAu9WUELPoSWAM+9x56QPf+eVW6GCFywwghcoBgorBgEEAYI3AwMBMYIXGDCC
# FxQGCSqGSIb3DQEHAqCCFwUwghcBAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsq
# hkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl
# AwQCAQUABCDOa4lHtkLSR1HHXmfXGcvfD9+L07bDSjlTcnKidS/JEAIGZbqfbBhM
# GBMyMDI0MDIxNDIyNDMxMC4yMDZaMASAAgH0oIHYpIHVMIHSMQswCQYDVQQGEwJV
# UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
# ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMS0wKwYDVQQLEyRNaWNyb3NvZnQgSXJl
# bGFuZCBPcGVyYXRpb25zIExpbWl0ZWQxJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNO
# OjA4NDItNEJFNi1DMjlBMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT
# ZXJ2aWNloIIRezCCBycwggUPoAMCAQICEzMAAAHajtXJWgDREbEAAQAAAdowDQYJ
# KoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
# EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
# bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjMx
# MDEyMTkwNjU5WhcNMjUwMTEwMTkwNjU5WjCB0jELMAkGA1UEBhMCVVMxEzARBgNV
# BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
# c29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3Bl
# cmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjowODQyLTRC
# RTYtQzI5QTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCC
# AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJOQBgh2tVFR1j8jQA4NDf8b
# cVrXSN080CNKPSQo7S57sCnPU0FKF47w2L6qHtwm4EnClF2cruXFp/l7PpMQg25E
# 7X8xDmvxr8BBE6iASAPCfrTebuvAsZWcJYhy7prgCuBf7OidXpgsW1y8p6Vs7sD2
# aup/0uveYxeXlKtsPjMCplHkk0ba+HgLho0J68Kdji3DM2K59wHy9xrtsYK+X9er
# bDGZ2mmX3765aS5Q7/ugDxMVgzyj80yJn6ULnknD9i4kUQxVhqV1dc/DF6UBeuzf
# ukkMed7trzUEZMRyla7qhvwUeQlgzCQhpZjz+zsQgpXlPczvGd0iqr7lACwfVGog
# 5plIzdExvt1TA8Jmef819aTKwH1IVEIwYLA6uvS8kRdA6RxvMcb//ulNjIuGceyy
# kMAXEynVrLG9VvK4rfrCsGL3j30Lmidug+owrcCjQagYmrGk1hBykXilo9YB8Qyy
# 5Q1KhGuH65V3zFy8a0kwbKBRs8VR4HtoPYw9z1DdcJfZBO2dhzX3yAMipCGm6Smv
# mvavRsXhy805jiApDyN+s0/b7os2z8iRWGJk6M9uuT2493gFV/9JLGg5YJJCJXI+
# yxkO/OXnZJsuGt0+zWLdHS4XIXBG17oPu5KsFfRTHREloR2dI6GwaaxIyDySHYOt
# vIydla7u4lfnfCjY/qKTAgMBAAGjggFJMIIBRTAdBgNVHQ4EFgQUoXyNyVE9ZhOV
# izEUVwhNgL8PX0UwHwYDVR0jBBgwFoAUn6cVXQBeYl2D9OXSZacbUzUZ6XIwXwYD
# VR0fBFgwVjBUoFKgUIZOaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9j
# cmwvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSkuY3JsMGwG
# CCsGAQUFBwEBBGAwXjBcBggrBgEFBQcwAoZQaHR0cDovL3d3dy5taWNyb3NvZnQu
# Y29tL3BraW9wcy9jZXJ0cy9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIw
# MjAxMCgxKS5jcnQwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcD
# CDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggIBALmDVdTtuI0jAEt4
# 1O2OM8CU237TGMyhrGr7FzKCEFaXxtoqk/IObQriq1caHVh2vyuQ24nz3TdOBv7r
# cs/qnPjOxnXFLyZPeaWLsNuARVmUViyVYXjXYB5DwzaWZgScY8GKL7yGjyWrh78W
# JUgh7rE1+5VD5h0/6rs9dBRqAzI9fhZz7spsjt8vnx50WExbBSSH7rfabHendpeq
# bTmW/RfcaT+GFIsT+g2ej7wRKIq/QhnsoF8mpFNPHV1q/WK/rF/ChovkhJMDvlqt
# ETWi97GolOSKamZC9bYgcPKfz28ed25WJy10VtQ9P5+C/2dOfDaz1RmeOb27Kbeg
# ha0SfPcriTfORVvqPDSa3n9N7dhTY7+49I8evoad9hdZ8CfIOPftwt3xTX2RhMZJ
# CVoFlabHcvfb84raFM6cz5EYk+x1aVEiXtgK6R0xn1wjMXHf0AWlSjqRkzvSnRKz
# FsZwEl74VahlKVhI+Ci9RT9+6Gc0xWzJ7zQIUFE3Jiix5+7KL8ArHfBY9UFLz4sn
# boJ7Qip3IADbkU4ZL0iQ8j8Ixra7aSYfToUefmct3dM69ff4Eeh2Kh9NsKiiph58
# 9Ap/xS1jESlrfjL/g/ZboaS5d9a2fA598mubDvLD5x5PP37700vm/Y+PIhmp2fTv
# uS2sndeZBmyTqcUNHRNmCk+njV3nMIIHcTCCBVmgAwIBAgITMwAAABXF52ueAptJ
# mQAAAAAAFTANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
# Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
# dCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNh
# dGUgQXV0aG9yaXR5IDIwMTAwHhcNMjEwOTMwMTgyMjI1WhcNMzAwOTMwMTgzMjI1
# WjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD
# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDCCAiIwDQYJKoZIhvcNAQEB
# BQADggIPADCCAgoCggIBAOThpkzntHIhC3miy9ckeb0O1YLT/e6cBwfSqWxOdcjK
# NVf2AX9sSuDivbk+F2Az/1xPx2b3lVNxWuJ+Slr+uDZnhUYjDLWNE893MsAQGOhg
# fWpSg0S3po5GawcU88V29YZQ3MFEyHFcUTE3oAo4bo3t1w/YJlN8OWECesSq/XJp
# rx2rrPY2vjUmZNqYO7oaezOtgFt+jBAcnVL+tuhiJdxqD89d9P6OU8/W7IVWTe/d
# vI2k45GPsjksUZzpcGkNyjYtcI4xyDUoveO0hyTD4MmPfrVUj9z6BVWYbWg7mka9
# 7aSueik3rMvrg0XnRm7KMtXAhjBcTyziYrLNueKNiOSWrAFKu75xqRdbZ2De+JKR
# Hh09/SDPc31BmkZ1zcRfNN0Sidb9pSB9fvzZnkXftnIv231fgLrbqn427DZM9itu
# qBJR6L8FA6PRc6ZNN3SUHDSCD/AQ8rdHGO2n6Jl8P0zbr17C89XYcz1DTsEzOUyO
# ArxCaC4Q6oRRRuLRvWoYWmEBc8pnol7XKHYC4jMYctenIPDC+hIK12NvDMk2ZItb
# oKaDIV1fMHSRlJTYuVD5C4lh8zYGNRiER9vcG9H9stQcxWv2XFJRXRLbJbqvUAV6
# bMURHXLvjflSxIUXk8A8FdsaN8cIFRg/eKtFtvUeh17aj54WcmnGrnu3tz5q4i6t
# AgMBAAGjggHdMIIB2TASBgkrBgEEAYI3FQEEBQIDAQABMCMGCSsGAQQBgjcVAgQW
# BBQqp1L+ZMSavoKRPEY1Kc8Q/y8E7jAdBgNVHQ4EFgQUn6cVXQBeYl2D9OXSZacb
# UzUZ6XIwXAYDVR0gBFUwUzBRBgwrBgEEAYI3TIN9AQEwQTA/BggrBgEFBQcCARYz
# aHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9Eb2NzL1JlcG9zaXRvcnku
# aHRtMBMGA1UdJQQMMAoGCCsGAQUFBwMIMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIA
# QwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNX2
# VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwu
# bWljcm9zb2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1dF8yMDEw
# LTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93
# d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAtMDYt
# MjMuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQCdVX38Kq3hLB9nATEkW+Geckv8qW/q
# XBS2Pk5HZHixBpOXPTEztTnXwnE2P9pkbHzQdTltuw8x5MKP+2zRoZQYIu7pZmc6
# U03dmLq2HnjYNi6cqYJWAAOwBb6J6Gngugnue99qb74py27YP0h1AdkY3m2CDPVt
# I1TkeFN1JFe53Z/zjj3G82jfZfakVqr3lbYoVSfQJL1AoL8ZthISEV09J+BAljis
# 9/kpicO8F7BUhUKz/AyeixmJ5/ALaoHCgRlCGVJ1ijbCHcNhcy4sa3tuPywJeBTp
# kbKpW99Jo3QMvOyRgNI95ko+ZjtPu4b6MhrZlvSP9pEB9s7GdP32THJvEKt1MMU0
# sHrYUP4KWN1APMdUbZ1jdEgssU5HLcEUBHG/ZPkkvnNtyo4JvbMBV0lUZNlz138e
# W0QBjloZkWsNn6Qo3GcZKCS6OEuabvshVGtqRRFHqfG3rsjoiV5PndLQTHa1V1QJ
# sWkBRH58oWFsc/4Ku+xBZj1p/cvBQUl+fpO+y/g75LcVv7TOPqUxUYS8vwLBgqJ7
# Fx0ViY1w/ue10CgaiQuPNtq6TPmb/wrpNPgkNWcr4A245oyZ1uEi6vAnQj0llOZ0
# dFtq0Z4+7X6gMTN9vMvpe784cETRkPHIqzqKOghif9lwY1NNje6CbaUFEMFxBmoQ
# tB1VM1izoXBm8qGCAtcwggJAAgEBMIIBAKGB2KSB1TCB0jELMAkGA1UEBhMCVVMx
# EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoT
# FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxh
# bmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1UaGFsZXMgVFNTIEVTTjow
# ODQyLTRCRTYtQzI5QTElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy
# dmljZaIjCgEBMAcGBSsOAwIaAxUAQqIfIYljHUbNoY0/wjhXRn/sSA2ggYMwgYCk
# fjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
# UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD
# Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDANBgkqhkiG9w0BAQUFAAIF
# AOl3kJMwIhgPMjAyNDAyMTUwMzE4NDNaGA8yMDI0MDIxNjAzMTg0M1owdzA9Bgor
# BgEEAYRZCgQBMS8wLTAKAgUA6XeQkwIBADAKAgEAAgICsgIB/zAHAgEAAgISVDAK
# AgUA6XjiEwIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAowCAIB
# AAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEBBQUAA4GBABYIlfTD6DvNgZdf
# NbQtUqWNr0qC08R6BMCkSGgggx8ePLM7APkzZmeHhPYzrpniefTFS1U4/hVJm3kD
# YEAx7M6OQ9L5TcnXJ9DdefXYD7A4GvVOmGoajCpKAXU9gyxvsxRX4BnlXPJDjXEq
# 6U/sr3rAWmM2VjGeMma9CTy6czjpMYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMC
# VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV
# BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRp
# bWUtU3RhbXAgUENBIDIwMTACEzMAAAHajtXJWgDREbEAAQAAAdowDQYJYIZIAWUD
# BAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0B
# CQQxIgQgObfL5gOUMkT4HfqID9EeFvEj9ZetmbZJDd/1t7pVMOEwgfoGCyqGSIb3
# DQEJEAIvMYHqMIHnMIHkMIG9BCAipaNpYsDvnqTe95Dj1C09020I5ljibrW/ndIC
# Oxg9xjCBmDCBgKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u
# MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp
# b24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB
# 2o7VyVoA0RGxAAEAAAHaMCIEIKaaEoOXEjjHeAD99MmoMlDVtIg/PdqddyY0aIfg
# 87njMA0GCSqGSIb3DQEBCwUABIICAF8rZhiXnqLAK7dsf4rtqNYc3iZ+jtN1vK8J
# AFHb/i6U8U/CCnvdgIZrXd4Th1TWYRAVbdkUYNum9MlA+U1tj6Aqx3VtJexurFnl
# u0nfcZgNcI7GLsuRjqr+fYR62ZiPAXDRPRZb8wDEJH/lL5qMVBLRB9BrfsMSdYMH
# FGXP2t3L4yfuKc4CFXtS9EieUjW9Yayp75Bkz4Nf2/XdJYIiPCz6z4QAHVmmpxsN
# NjiG9dTCSleOZrDQuOWDbTyoNDu25gOf/3k/FBdUHtEz5k9W4Eb8NXIC5ZZAZ+/g
# ZnC8Utmt2rolccc7hhQ151U6AN7A41uw1PaMqhOnO2qCp5QsL61BoKIFBoSKv4UC
# xYy10Vsx3ZfLfAjNXoJnIJXMVjr2FVkfwVnjgHNmPISIKE8VjFzHTEXoCSNx6783
# 52oeVe6JxYI/XOxWG2lBxF8dVsmQoFWwu7S/V9YrMfn0DjhXYEIGSCDZM/J0hbso
# uUJa3SatlDATIKgi1UNjp1PRuADXDbxOVc5b91kcmne4fbSJBh713M/76m1fV/zZ
# i5GyGfwgCImZXQ51uU7D37ZB22gV/A2Iv1q6uZDoEGyITzd9xozUzWdAM+1A8XWs
# mVK/K/QhrWXeSpJhCMyA6d2Etlk00ECVZAQ4+s425mGpKizsc6EplaWTq64C4+Ag
# EKGFHxUX
# SIG # End signature block