' VBScript source code option explicit const HKEY_LOCAL_MACHINE = &H80000002 Const HARD_DISK = 3 Const W8 = 62 Const W7 = 61 Const WVIS = 60 Const W2K3 = 52 Const WXP = 51 Const W2K = 50 Const NT4 = 40 Const W10 = 100 'begin main script dim nNotMinReq, nNotRecReq, nOS, nTotalFree, nCount dim sWelcomeMsg, strComputer, sVersion, sMsg, sMessageString, sSPMajorVersion, sSPMinorVersion, sOrganization dim sSystemName, sTotalMemory, sProcessor, sProcessorSpeed, sHorizontalRes, sVerticalRes, sDeviceID, sFreeSpace dim strKeyPath, strValueName, strValue, sCurrentBandwidth, sAdapterName, sIPAddress dim objWMIService, objOperatingSystem, objComputer, objProcessor, objItem, objDisk, oReg dim colSettings, colItems, colDisks, IPConfigSet, IPConfig, i dim sAdapterType, nAdapterTypeId, sTempFolder dim bOfficeProInstalled On Error Resume Next nNotMinReq = 0 nNotRecReq = 0 sWelcomeMsg = "This script will check your PC to see if it meets the requirements for eLation Financials Software, click OK to continue" if(MsgBox(sWelcomeMsg, vbOKCancel, "System Check") = vbOK)then strComputer = "." 'Check OS and SP Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colSettings = objWMIService.ExecQuery _ ("Select * from Win32_OperatingSystem") For Each objOperatingSystem in colSettings sVersion = objOperatingSystem.Version If(StrComp(sVersion, "6.3.0") = 1) Then sMsg = " - OK - " nOS = W8 ElseIf(StrComp(sVersion, "6.2.0") = 1) Then sMsg = " - OK - " nOS = W8 ElseIf(StrComp(sVersion, "6.1.0") = 1) Then sMsg = " - OK - " nOS = W7 ElseIf(StrComp(sVersion, "6.0.0") = 1) Then sMsg = " - WINDOWS 7 OR GREATER REQUIRED -" nOS = WVIS ElseIf(StrComp(sVersion, "5.2.0") = 1) Then sMsg = " - WINDOWS 7 OR GREATER REQUIRED -" nOS = W2K3 nNotMinReq = 1 ElseIf(StrComp(sVersion, "5.1.0") = 1)then sMsg = " - WINDOWS 7 OR GREATER REQUIRED -" nOS = WXP nNotMinReq = 1 ElseIf(StrComp(sVersion, "5.0.0") = 1)then sMsg = " - WINDOWS 7 OR GREATER REQUIRED -" nOS = W2K nNotMinReq = 1 ElseIf(StrComp(sVersion, "10.0.0") = 1) Then sMsg = " - OK - " nOS = W10 Else sMsg = " - OS NOT SUPPORTED - " nOS = NT4 nNotMinReq = 1 End If sMessageString = "OS Version: " & sVersion & sMsg & VbCrLf sSPMajorVersion = objOperatingSystem.ServicePackMajorVersion sSPMinorVersion = objOperatingSystem.ServicePackMinorVersion sOrganization = objOperatingSystem.Organization Select Case nOS Case W10 sMsg = " - OK -" Case W8 sMsg = " - OK -" Case W7 sMsg = " - OK -" Case WVIS sMsg = " - NOT SUPPORTED - " nNotMinReq = 1 Case W2K3 sMsg = " - NOT SUPPORTED - " nNotMinReq = 1 Case WXP sMsg = " - NOT SUPPORTED - " nNotMinReq = 1 Case W2K sMsg = " - NOT SUPPORTED - " nNotMinReq = 1 Case Else sMsg = " - NOT SUPPORTED - " nNotMinReq = 1 End Select sMessageString = sMessageString & "Service Pack: " & sSPMajorVersion & "." & sSPMinorVersion & sMsg &_ VbCrLf & VbCrLf Next 'Check Memory Set colSettings = objWMIService.ExecQuery _ ("Select * from Win32_ComputerSystem") For Each objComputer in colSettings sSystemName = objComputer.Name sMessageString = "eLation System Requirements Check" & VbCrLf & VbCrLf &_ "System Name: " & sSystemName & VbCrLf &_ "Organization: " &sOrganization & VbCrLf & VbCrLf & sMessageString sTotalMemory = objComputer.TotalPhysicalMemory if(sTotalMemory > 4000000000)then sMsg = " - OK - " elseif(sTotalMemory > 2000000000)then sMsg = " - ADDITIONAL MEMORY RECOMMENDED - " nNotRecReq = 1 else sMsg = " - ADDITIONAL MEMORY REQUIRED - " nNotMinReq = 1 end if sMessageString = sMessageString & "Total Physical Memory: " & sTotalMemory & sMsg & VbCrLf & VbCrLf Next 'Check Processor Set colSettings = objWMIService.ExecQuery _ ("Select * from Win32_Processor") For Each objProcessor in colSettings sProcessor = objProcessor.Description sProcessorSpeed = objProcessor.MaxClockSpeed if(sProcessorSpeed > 2000)then sMsg = " - OK - " elseif(sProcessorSpeed > 1000)then sMsg = " - FASTER PROCESSOR REQUIRED -" nNotMinReq = 1 else sMsg = " - FASTER PROCESSOR REQUIRED -" nNotMinReq = 1 end if sMessageString = sMessageString & "Processor: " & sProcessor & VbCrLf sMessageString = sMessageString & "Processor Speed: " & sProcessorSpeed & sMsg & VbCrLf Next sMessageString = sMessageString & VbCrLf 'Check Video Resolution Set colItems = objWMIService.ExecQuery("Select * from Win32_VideoController") For Each objItem in colItems sHorizontalRes = objItem.CurrentHorizontalResolution sVerticalRes = objItem.CurrentVerticalResolution if((sHorizontalRes < 1020)Or(sVerticalRes < 760))then sMsg = " - 1024 x 768 or GREATER REQUIRED - " nNotMinReq = 1 else sMsg = " - OK - " end if sMessageString = sMessageString & "Video Resolution: " & sHorizontalRes & " x " &_ sVerticalRes & sMsg & VbCrLf & VbCrLf Next 'Check free space Set colDisks = objWMIService.ExecQuery _ ("Select * from Win32_LogicalDisk Where DriveType = " & HARD_DISK & "") nTotalFree = 0 For Each objDisk in colDisks sDeviceID = objDisk.DeviceID sFreeSpace = objDisk.FreeSpace nTotalFree = nTotalFree + sFreeSpace if(sFreeSpace > 200000000)then sMsg = " - OK - " else sMsg = " - INADEQUATE FREE SPACE - " end if sMessageString = sMessageString & "Disk " & sDeviceID & " Free Disk Space: " & sFreeSpace &_ sMsg & VbCrLf Next if(nTotalFree < 200000000)then nNotMinReq = 1 end if sMessageString = sMessageString & VbCrLf 'Check for Frameworks Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv") strKeyPath = "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" strValue = "" dwValue = 1 strValueName = "Release" oReg.GetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue 'If registry value does not exist dwValue will be NULL If(IsNull(dwValue))then dwValue = 1 End If If(CLng(dwValue) > 461800)then sMsg = " .NET Framework 4.7.2" ElseIf(CLng(dwValue) > 461307)then sMsg = " .NET Framework 4.7.1" ElseIf(CLng(dwValue) > 460790)then sMsg = " .NET Framework 4.7" ElseIf(CLng(dwValue) > 394746)then sMsg = " .NET Framework 4.6.2" ElseIf(CLng(dwValue) > 394253)then sMsg = " .NET Framework 4.6.1" ElseIf(CLng(dwValue) > 393294)then sMsg = " .NET Framework 4.6" ElseIf(CLng(dwValue) > 379892)then sMsg = " .NET Framework 4.5.2" ElseIf(CLng(dwValue) > 378757)then sMsg = " .NET Framework 4.5.1" ElseIf(CLng(dwValue) > 378388)then sMsg = " .NET Framework 4.5" Else sMsg = " - NOT INSTALLED - " End If sMessageString = sMessageString & "Microsoft Framework Version " & sMsg & VbCrLf & VbCrLf 'Check for Office sMessageString = sMessageString & "Microsoft Office Required for Excel Reports" & VbCrLf 'Check for Office 2007 'all 2007 suites are ok strKeyPath = "SOFTWARE\Microsoft\Office\12.0\Common\InstallRoot" strValueName = "Path" strValue = "" oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue If(StrComp(strValue, "") = 1) Then sMsg = " - OK - " Else 'try 64 bit install path strKeyPath = "SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Common\InstallRoot" strValue = "" oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue If(StrComp(strValue, "") = 1) Then sMsg = " - OK - " else sMsg = " - NOT INSTALLED -" end if End If sMessageString = sMessageString & "Microsoft Office 2007: " & sMsg & VbCrLf 'all 2010 suites are ok strKeyPath = "SOFTWARE\Microsoft\Office\14.0\Common\InstallRoot" strValueName = "Path" strValue = "" oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue If(StrComp(strValue, "") = 1) Then sMsg = " - OK - " Else 'try 64 bit install path strKeyPath = "SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Common\InstallRoot" strValue = "" oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue If(StrComp(strValue, "") = 1) Then sMsg = " - OK - " else sMsg = " - NOT INSTALLED -" end if End If sMessageString = sMessageString & "Microsoft Office 2010: " & sMsg & VbCrLf 'all 2013 suites are ok strKeyPath = "SOFTWARE\Microsoft\Office\15.0\Common\InstallRoot" strValueName = "Path" strValue = "" oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue If(StrComp(strValue, "") = 1) Then sMsg = " - OK - " Else 'try 64 bit install path strKeyPath = "SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Common\InstallRoot" strValue = "" oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue If(StrComp(strValue, "") = 1) Then sMsg = " - OK - " else sMsg = " - NOT INSTALLED -" end if End If sMessageString = sMessageString & "Microsoft Office 2013: " & sMsg & VbCrLf & VbCrLf 'Get connection speed if((nOS = W10)or(nOS = W7)or(nOS = W8)or(nOS = WVIS))then Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapter",,48) nCount = 0 For Each objItem in colItems sCurrentBandwidth = objItem.Speed sAdapterName = objItem.Description sAdapterType = objItem.AdapterType nAdapterTypeID = objItem.AdapterTypeID if(StrComp(sCurrentBandwidth, "") = 1)then 'have bandwidth to check if(StrComp(sAdapterType, "Ethernet 802.3") = 0)then 'have an adapter - check to see if it is right type if(nAdapterType = 0)then if not((StrComp(objItem.ServiceName, "tunmp") = 0)or(StrComp(objItem.ServiceName, "VPCNetS2") = 0)or(StrComp(objItem.ServiceName, "ISATAP") = 0)) then if not((StrComp(sAdapterName, "Deterministic Network Enhancer Miniport") = 0)or(StrComp(sAdapterName, "Eacfilt Miniport") = 0))then 'not vista miniport nCount = nCount + 1 sMessageString = sMessageString & "Network Adapter: " & sAdapterName & VbCrLf if(sCurrentBandwidth >= 100000000)then sMsg = " - OK - " elseif(sCurrentBandwidth >= 36000000)then 'wireless 54G sMsg = " - OK - " else sMsg = " - SLOW CONNECTION 100 MG REQUIRED -" end if sMessageString = sMessageString & "Bandwidth: " & sCurrentBandwidth & sMsg & VbCrLf & VbCrLf end if end if end if end if end if Next if(nCount = 0)then sMessageString = sMessageString & "Network Adapter: - UNABLE TO CHECK - Please verify connection speed is 100 MG." & VbCrLf & VbCrLf end if else Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfFormattedData_Tcpip_NetworkInterface",,48) nCount = 0 For Each objItem in colItems sCurrentBandwidth = objItem.CurrentBandwidth sAdapterName = objItem.Name if(StrComp(sAdapterName, "") = 1)then 'have an adapter - check to see of it is loopback if not(StrComp(sAdapterName, "MS TCP Loopback interface") = 0)then 'not loopback nCount = nCount + 1 sMessageString = sMessageString & "Network Adapter: " & sAdapterName & VbCrLf if(sCurrentBandwidth >= 100000000)then sMsg = " - OK - " elseif(sCurrentBandwidth >= 36000000)then 'wireless 54G sMsg = " - OK - " else sMsg = " - SLOW CONNECTION 100 MG REQUIRED -" end if sMessageString = sMessageString & "Bandwidth: " & sCurrentBandwidth & sMsg & VbCrLf & VbCrLf end if end if Next if(nCount = 0)then sMessageString = sMessageString & "Network Adapter: - UNABLE TO CHECK - Please verify connection speed is 100 MG." & VbCrLf & VbCrLf end if end if 'Get IP address Set IPConfigSet = objWMIService.ExecQuery _ ("Select IPAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE") For Each IPConfig in IPConfigSet If Not IsNull(IPConfig.IPAddress) Then For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress) sIPAddress = IPConfig.IPAddress(i) sMessageString = sMessageString & "IP Address: " & sIPAddress & VbCrLf Next End If Next if(len(sMessageString) > 935)then 'need to truncate to display last message sMessageString = Left(sMessageString, 935) sMessageString = sMessageString & VbCrLf end if if(nNotMinReq = 1)then sMessageString = sMessageString & VbCrLf & "This system DOES NOT meet eLation MINIMUM requirements." elseif(nNotRecReq = 1)then sMessageString = sMessageString & VbCrLf & "This system meets eLation MINIMUM requirements." else sMessageString = sMessageString & VbCrLf & "This system meets eLation RECOMMENDED requirements." end if MsgBox sMessageString, vbOKOnly, "System Check" Set IPConfigSet = nothing Set colItems = nothing Set oReg = nothing Set colDisks = nothing Set colSettings = nothing Set objWMIService = nothing if(MsgBox("Do you want to save the results to a text file?",vbYesNo, "Save Results") = vbYes)then eMailAndSave(sMessageString) end if end if 'end of main script function eMailAndSave(sString) dim objFSO dim objTextFile dim objShell dim objEmail dim sCompanyName on error resume next Set objFSO = CreateObject("Scripting.FileSystemObject") if(IsObject(objFSO))then Set objShell = CreateObject("WScript.Shell") if(IsObject(objShell))then sTempFolder = objShell.ExpandEnvironmentStrings("%TEMP%") set objShell = nothing end if Set objTextFile = objFSO.OpenTextFile(sTempFolder & "\eLationCheck.txt", 2, True) if(IsObject(objTextFile))then objTextFile.WriteLine(sString) objTextFile.Close set objTextFile = nothing Set objShell = CreateObject("WScript.Shell") if(IsObject(objShell))then objShell.Run "notepad.exe " & sTempFolder & "\eLationCheck.txt" set objShell = nothing end if end if set objFSO = nothing end if end function '' SIG '' Begin signature block '' SIG '' MIINCgYJKoZIhvcNAQcCoIIM+zCCDPcCAQExCzAJBgUr '' SIG '' DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB '' SIG '' gjcCAR4wJAIBAQQQTvApFpkntU2P5azhDxfrqwIBAAIB '' SIG '' AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFO2QwM+DZK8O '' SIG '' MY4xcpPYClYTw85VoIIKEjCCBNAwggO4oAMCAQICAQcw '' SIG '' DQYJKoZIhvcNAQELBQAwgYMxCzAJBgNVBAYTAlVTMRAw '' SIG '' DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNk '' SIG '' YWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjEx '' SIG '' MC8GA1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0 '' SIG '' ZSBBdXRob3JpdHkgLSBHMjAeFw0xMTA1MDMwNzAwMDBa '' SIG '' Fw0zMTA1MDMwNzAwMDBaMIG0MQswCQYDVQQGEwJVUzEQ '' SIG '' MA4GA1UECBMHQXJpem9uYTETMBEGA1UEBxMKU2NvdHRz '' SIG '' ZGFsZTEaMBgGA1UEChMRR29EYWRkeS5jb20sIEluYy4x '' SIG '' LTArBgNVBAsTJGh0dHA6Ly9jZXJ0cy5nb2RhZGR5LmNv '' SIG '' bS9yZXBvc2l0b3J5LzEzMDEGA1UEAxMqR28gRGFkZHkg '' SIG '' U2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcy '' SIG '' MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA '' SIG '' ueDLENSvdr3Uk2LrMGS4gQhswwTZYheOL/8+Zc+PzmLm '' SIG '' PFIc2hZFS1WreGtjg2KQzg9pbJnIGhSLTMxFM+qI3J6j '' SIG '' ryv+gGGdeVfEzy70PzA8XUf8mha8wzeWQVGOEUtU+Ci+ '' SIG '' 0Iy+8DA4HvOwJvhmR2Nt3nEmR484R1PRRh2049wA6kWs '' SIG '' vbxx2apvANvbzTA6eU9fTEf4He9bwsSdYDuxskOR2KQz '' SIG '' Tuqz1idPrSWKpcb01dCmrnQFZFeItURV1C0qOj74uL3p '' SIG '' MgoClGTEFjpQ8Uqu53kzrwwgB3/o3wQ5wmkCbGNS+nfB '' SIG '' G8h0h8i5kxhQVDVLaU68O9NJLh/cwdJS+wIDAQABo4IB '' SIG '' GjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E '' SIG '' BAMCAQYwHQYDVR0OBBYEFEDCvSeOzDSDMKIz1/tss/C0 '' SIG '' LIDOMB8GA1UdIwQYMBaAFDqahQcQZyi27/a9BUFuIMGU '' SIG '' 2g/eMDQGCCsGAQUFBwEBBCgwJjAkBggrBgEFBQcwAYYY '' SIG '' aHR0cDovL29jc3AuZ29kYWRkeS5jb20vMDUGA1UdHwQu '' SIG '' MCwwKqAooCaGJGh0dHA6Ly9jcmwuZ29kYWRkeS5jb20v '' SIG '' Z2Ryb290LWcyLmNybDBGBgNVHSAEPzA9MDsGBFUdIAAw '' SIG '' MzAxBggrBgEFBQcCARYlaHR0cHM6Ly9jZXJ0cy5nb2Rh '' SIG '' ZGR5LmNvbS9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsF '' SIG '' AAOCAQEACH5skxDIOLiWqZBL/6FfTwTvbD6ciAbJUI+m '' SIG '' c/dXMRu+vOQv2/i601vgtOfmeWIODKLXamNzMbX1qEik '' SIG '' Owgtol2Q17R8JU8RVjDEtkSdeyyd5V7m7wxhqr/kKhvu '' SIG '' hJ64g33BQ85EpxNwDZEf9MgTrYNg2dhyqHMkHrWsIg7K '' SIG '' F4liWEQbq4klAQAPzcQbYttRtNMPUSqb9Lxz/HbONqTN '' SIG '' 2dgs6q6b9SqykNFNdRiKP4pBkCN9W0v+pANYm0ayw2Bg '' SIG '' g/h9UEHOwqGQw7vvAi/SFVTuRBXZCq6nijPtsS12Nibc '' SIG '' BOuf92EfFdyHb+5GliitoSZ9CgmnLgSjjbz4vAQwATCC '' SIG '' BTowggQioAMCAQICCQCDxlwGI46GUjANBgkqhkiG9w0B '' SIG '' AQsFADCBtDELMAkGA1UEBhMCVVMxEDAOBgNVBAgTB0Fy '' SIG '' aXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNV '' SIG '' BAoTEUdvRGFkZHkuY29tLCBJbmMuMS0wKwYDVQQLEyRo '' SIG '' dHRwOi8vY2VydHMuZ29kYWRkeS5jb20vcmVwb3NpdG9y '' SIG '' eS8xMzAxBgNVBAMTKkdvIERhZGR5IFNlY3VyZSBDZXJ0 '' SIG '' aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjAeFw0xNzA0MTgx '' SIG '' NjM1MDJaFw0yMDA0MTgxNjM1MDJaMHsxCzAJBgNVBAYT '' SIG '' AlVTMRUwEwYDVQQIEwxTb3V0aCBEYWtvdGExETAPBgNV '' SIG '' BAcTCE1pdGNoZWxsMSAwHgYDVQQKExdJbm5vdmF0aXZl '' SIG '' IFN5c3RlbXMsIExMQzEgMB4GA1UEAxMXSW5ub3ZhdGl2 '' SIG '' ZSBTeXN0ZW1zLCBMTEMwggEiMA0GCSqGSIb3DQEBAQUA '' SIG '' A4IBDwAwggEKAoIBAQC00zx46atm/d5ubQffrivd29HO '' SIG '' YBvpBz9Ns0ZwFGF6JbOKbKNEqGcqNjUHHUZeMC+/aEOi '' SIG '' yUwYM98zIzPUJ0w6rdKNHJiyMKgniDKP7TIcHO5yDFPp '' SIG '' doc2c1tbx2MzQ/J5Z1YXOIFsFL48wp/jBEb30FcEoaXs '' SIG '' z2fEGngRXsZtwLc0wGcg0Ahyr8DbVCzhQN9aRRdI53wL '' SIG '' 8itk8/2M9fs6eumOVt8738+QT6KzfRNvP5je5Akk2cln '' SIG '' G4OFabMbMnVAkl6if03StjRlcw9y79MJH4PH4iYRESOy '' SIG '' hg5LFig7KtCOe7rKHTnKHJROC84HDZG0ypoLEAUQWb/B '' SIG '' FZrNke5JAgMBAAGjggGFMIIBgTAMBgNVHRMBAf8EAjAA '' SIG '' MBMGA1UdJQQMMAoGCCsGAQUFBwMDMA4GA1UdDwEB/wQE '' SIG '' AwIHgDA1BgNVHR8ELjAsMCqgKKAmhiRodHRwOi8vY3Js '' SIG '' LmdvZGFkZHkuY29tL2dkaWcyczUtMi5jcmwwXQYDVR0g '' SIG '' BFYwVDBIBgtghkgBhv1tAQcXAjA5MDcGCCsGAQUFBwIB '' SIG '' FitodHRwOi8vY2VydGlmaWNhdGVzLmdvZGFkZHkuY29t '' SIG '' L3JlcG9zaXRvcnkvMAgGBmeBDAEEATB2BggrBgEFBQcB '' SIG '' AQRqMGgwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmdv '' SIG '' ZGFkZHkuY29tLzBABggrBgEFBQcwAoY0aHR0cDovL2Nl '' SIG '' cnRpZmljYXRlcy5nb2RhZGR5LmNvbS9yZXBvc2l0b3J5 '' SIG '' L2dkaWcyLmNydDAfBgNVHSMEGDAWgBRAwr0njsw0gzCi '' SIG '' M9f7bLPwtCyAzjAdBgNVHQ4EFgQUQO49xXPOjL1B1wNn '' SIG '' kAmdQRp2rMowDQYJKoZIhvcNAQELBQADggEBACPDAk+r '' SIG '' OgaGKMQZR5wWXBSuZSOIKAeWgCw6cda+7zYwcaoWoDgz '' SIG '' WV2kRO5/ftIGvjIh3MF8a3hPyNsRck18FNUxtZfTrfOs '' SIG '' RiiLqQRc0kLgr6JrpRPtdLRI+nQZMAB5PVpkuWea1Fwh '' SIG '' uRZRvsQbdYeevHwqiqzSlbXPUvpB3JU9teqQkETAPKur '' SIG '' +qljwhzFs+UkONNwIv1Xnb6Z3GIhZb1dD8qgio1NuXOn '' SIG '' gKwyCyPt70NbzbPPPoymrDOSUx2gho1KmmTSbkgaIEGv '' SIG '' GK1HHv5sPuzU+dcM2WuZqgED0zPdAzb6NIVTnv7hxqlu '' SIG '' G5qrayT/QY8JpA3D3aNsXv27BWAxggJkMIICYAIBATCB '' SIG '' wjCBtDELMAkGA1UEBhMCVVMxEDAOBgNVBAgTB0FyaXpv '' SIG '' bmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT '' SIG '' EUdvRGFkZHkuY29tLCBJbmMuMS0wKwYDVQQLEyRodHRw '' SIG '' Oi8vY2VydHMuZ29kYWRkeS5jb20vcmVwb3NpdG9yeS8x '' SIG '' MzAxBgNVBAMTKkdvIERhZGR5IFNlY3VyZSBDZXJ0aWZp '' SIG '' Y2F0ZSBBdXRob3JpdHkgLSBHMgIJAIPGXAYjjoZSMAkG '' SIG '' BSsOAwIaBQCgeDAYBgorBgEEAYI3AgEMMQowCKACgACh '' SIG '' AoAAMBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwG '' SIG '' CisGAQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMCMGCSqG '' SIG '' SIb3DQEJBDEWBBQDnNqYA58zAuOSK8BWsC2aavF91DAN '' SIG '' BgkqhkiG9w0BAQEFAASCAQCv5/9WgyYxK/rqVwtwCL+v '' SIG '' lUS9bABexnqCU+24dubPCJbeALlXvX+AzTHNYT18mPK2 '' SIG '' vWtRUgUirh4UDomezW3ICcOxQpY/LPOAs30JRZ7J40CC '' SIG '' 8aVNpsNovu7dwHWB4jlCzM+rugJ/Z3UxUG5WdjKdJE08 '' SIG '' vBhDkDCE5YnYLZfT5gfpbkSodYd+NIiAnwJoy7Yf5nMx '' SIG '' PXMfFw779tzPCnkNrwSJq2jZcmAfdn1Kcm+nY5lKODvF '' SIG '' 8zCX15nej/JHhGPoUhRrlB+is0zyidCjQAf1bwcFyQqz '' SIG '' 2+TNMWTQdkb7AXjK+eVBjVGekDbyNUcpE/4THtFwFECt '' SIG '' dpjZO491NymI '' SIG '' End signature block