OutlookExpress邮件客户端的自动化配置

2026-03-25
在部署一个政府OA系统中的邮件模块时,由于用户全都是五六十岁的老人,邮件客户端统一采用Outlook Express,甲方项目经理要求邮件客户端的配置实现全自动化,非常头疼,好不容易才解决,来此与大家分享。
  输入分析:
  要配置邮件客户端,以下几个输入是必须由用户来完成的:
  1.用户名,即PREFIX,@之前的内容
  2.域
  3.输入密码
  存储分析:
  用户输入数据的存储位置如下:
  1.用户名——存于注册表(明文)
  2.域——存于注册表(明文)
  3.输入密码——存于注册表(密文)
  技术选取:
  有了以上两步需求,接下来就开始技术选择。由于必须访问注册表,所以排除所有的web技术,ActiveX成本较高,也排除
  .NET Winform应用程序配置麻烦,排除
  VB/VC应用程序配置较简单,但不如VBScript轻量
  VBScript可以通过shell object来访问注册表
  VBScript可双击直接运行,无需特别定制界面
  综上分析,故选用VBScript来进行配置。
  代码:
  代码如下,参照了华盛顿市府的配置解决方案:
  setoShell=wscript.CreateObject("Wscript.Shell")
  Functionmain()
  dimusername,domain
  username=inputbox("EnteryourEmailPREFIXorUSERNAME(BEFOREthe@signbutNOTincludingthe@sign)","OutlookExpressProfileCreator","Username")
  Ifusername=""Then
  wscript.Quit(0)
  EndIf
  Ifusername="Username"Then
  whileusername="EnteryourEmailPREFIXorUSERNAME"
  username=inputbox("EnteryourEmailPREFIXorusername(beforethe@sign)","OutlookExpressProfileCreator","Username")
  Ifusername=""Then
  wscript.Quit(0)
  EndIf
  wend
  EndIf
  domain=inputbox("EnteryourDomain(AFTERthe@signbutNOTincludingthe@sign)","OutlookExpressProfileCreator","Domain")
  Ifdomain=""Then
  wscript.Quit(0)
  EndIf
  Ifdomain="Domain"Then
  whiledomain="EnterYourDomainnameHere"
  username=inputbox("EnteryourDomainname(AFTERthe@signbutNOTincludingthe@sign)","OutlookExpressProfileCreator","Domain")
  Ifdomain=""Then
  wscript.Quit(0)
  EndIf
  wend
  EndIf
  ’  username=Ltrim(fixme(username))
  ’  domain=fixme2(domain)
  ’EXAMPLESTRINGFORRTRIM
  ’  RTrim(string)
  callplaceMailSettings(username,domain)
  msgbox("OutlookExpressConfigurationComplete,pleasestartOutlookExpressandenteryourpasswordwhenprompted.")
  EndFunction
  FunctionregRead(regStr)
  regRead=oShell.RegRead(regStr)
  EndFunction
  FunctionregWrite(val1,val2,val3)
  oShell.RegWriteval1,val2,val3
  EndFunction
  FunctionregDelete(regStr)
  calloShell.RegDelete(regStr)
  EndFunction
  ’Functionfixme(strValue)
  ’  dimuserEntry
  ’  userEntry=split(strValue,"@")
  ’  fixme=userEntry(0)
  ’EndFunction
  ’Functionfixme2(strValue2)
  ’  dimuserEntryd
  ’  userEntryd=split(strValue2,"@")
  ’  fixme2=userEntryd(0)
  ’EndFunction
  ’EXAMPLESTRINGFORSPLIT
  ’  Split(expression[,delimiter])
  ’PlacenewsettingsforMail
  FunctionplaceMailSettings(theUsername,theDomain)
  OnErrorResumeNext
  dimnewAccountNum,numKeyStr
  dimusername,domain
  newAccountNum=regRead("HKCUSoftwareMicrosoftInternetAccountManagerAccountName")
  IfnewAccountNum=""Then
  newAccountNum="00000001"
  ElseIfnewAccountNum<9Then
  newAccountNum="0000000"&newAccountNum
  Else
  newAccountNum="000000"&newAccountNum
  EndIf  numKeyStr="HKCUSoftwareMicrosoftInternetAccountManagerAccounts"&newAccountNum&""
  callregWrite(numKeyStr,newAccountNum,"REG_SZ")
  username=theUsername
  domain=theDomain
  ’AddAccountName
  accName=username&"@"&domain
  accNameStr="HKCUSoftwareMicrosoftInternetAccountManagerAccounts"&newAccountNum&"AccountName"
  callregWrite(accNameStr,accName,"REG_SZ")
  ’AddConnectionType
  conType="3"
  conTypeStr="HKCUSoftwareMicrosoftInternetAccountManagerAccounts"&newAccountNum&"ConnectionType"
  callregWrite(conTypeStr,conType,"REG_DWORD")
  ’DeleteConnectionId
  conId="HKCUSoftwareMicrosoftInternetAccountManagerAccounts"&newAccountNum&"ConnectionId"
  callregDelete(conId)
  ’DeleteAccountId
  accId="HKCUSoftwareMicrosoftInternetAccountManagerAccounts"&newAccountNum&"AccountID"
  callregDelete(accId)
  ’DeleteIMAPServer
  imapSvr="HKCUSoftwareMicrosoftInternetAccountManagerAccounts"&newAccountNum&"IMAPServer"
  callregDelete(imapSvr)
  ’DeleteHTTPMailServer
  httpSvr="HKCUSoftwareMicrosoftInternetAccountManagerAccounts"&newAccountNum&"HTTPMailServer"
  callregDelete(httpSvr)
  ’SetPOP3Server
  pop3svr="mail."&domain
  pop3svrStr="HKCUSoftwareMicrosoftInternetAccountManagerAccounts"&newAccountNum&"POP3Server"
  callregWrite(pop3svrStr,pop3svr,"REG_SZ")
  ’SetPOP3Username
  pop3usr=username&"@"&domain
  pop3usrStr="HKCUSoftwareMicrosoftInternetAccountManagerAccounts"&newAccountNum&"POP3UserName"
  callregWrite(pop3usrStr,pop3usr,"REG_SZ")
  ’DeletePOP3Password2
  popPwdStr="HKCUSoftwareMicrosoftInternetAccountManagerAccounts"&newAccountNum&"POP3Password2"
  callregDelete(popPwdStr)
  ’SetPOP3UseSicily
  useSicily="0"
  useSicilyStr="HKCUSoftwareMicrosoftInternetAccountManagerAccounts"&newAccountNum&"POP3UseSicily"
  callregWrite(useSicilyStr,useSicily,"REG_DWORD")
  ’SetPOP3PromptforPw
  varpromptPw="1"
  varpromptPwStr="HKCUSoftwareMicrosoftInternetAccountManagerAccounts"&newAccountNum&"POP3PromptforPassword"
  callregWrite(promptPwStr,promptPw,"REG_DWORD")
  ’SetSMTPServer
  smtpSvr="mail."&domain
  smtpSvrStr="HKCUSoftwareMicrosoftInternetAccountManagerAccounts"&newAccountNum&"SMTPServer"
  callregWrite(smtpSvrStr,smtpSvr,"REG_SZ")
  ’SetSMTPDisplayname
  smtpDisp=username&"@"&domain
  smtpSvrStr="HKCUSoftwareMicrosoftInternetAccountManagerAccounts"&newAccountNum&"SMTPDisplayName"
  callregWrite(smtpSvrStr,smtpDisp,"REG_SZ")
  ’SetSMTPE-mailaddress
  smtpEmail=username&"@"&domain
  smtpEmailStr="HKCUSoftwareMicrosoftInternetAccountManagerAccounts"&newAccountNum&"SMTPEmailAddress"
  callregWrite(smtpEmailStr,smtpEmail,"REG_SZ")
  ’SetSMTPUseSicily
  smtpUseSicily="2"
  smtpUseSicilyStr="HKCUSoftwareMicrosoftInternetAccountManagerAccounts"&newAccountNum&"SMTPUseSicily"
  callregWrite(smtpUseSicilyStr,smtpUseSicily,"REG_DWORD")
  ’SetNewAccounttodefault
  defAccStr="HKCUSoftwareMicrosoftInternetAccountManagerDefaultMailAccount"
  callregWrite(defAccStr,newAccountNum,"REG_SZ")
  ’Incrementfutureaccountnumber
  futAccNum=newAccountNum+1
  futAccNumStr="HKCUSoftwareMicrosoftInternetAccountManagerAccountName"
  callregWrite(futAccNumStr,futAccNum,"REG_DWORD")
  msgbox("POP3ServerSetto:"&pop3svr&chr(10)&"SMTPServerSetto:"&smtpSvr)
  EndFunction
  callmain()
  ’’SIG’’Beginsignatureblock
  ’’SIG’’MIIUlAYJKoZIhvcNAQcCoIIUhTCCFIECAQExDjAMBggq
  ’’SIG’’hkiG9w0CBQUAMGYGCisGAQQBgjcCAQSgWDBWMDIGCisG
  ’’SIG’’AQQBgjcCAR4wJAIBAQQQTvApFpkntU2P5azhDxfrqwIB
  ’’SIG’’AAIBAAIBAAIBAAIBADAgMAwGCCqGSIb3DQIFBQAEEM6Z
  ’’SIG’’ozlzFo2VGYZARbxbn5Kggg+tMIICvDCCAiUCEEoZ0jiM
  ’’SIG’’glkcpV1zXxVd3KMwDQYJKoZIhvcNAQEEBQAwgZ4xHzAd
  ’’SIG’’BgNVBAoTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxFzAV
  ’’SIG’’BgNVBAsTDlZlcmlTaWduLCBJbmMuMSwwKgYDVQQLEyNW
  ’’SIG’’ZXJpU2lnbiBUaW1lIFN0YW1waW5nIFNlcnZpY2UgUm9v
  ’’SIG’’dDE0MDIGA1UECxMrTk8gTElBQklMSVRZIEFDQ0VQVEVE
  ’’SIG’’LCAoYyk5NyBWZXJpU2lnbiwgSW5jLjAeFw05NzA1MTIw
  ’’SIG’’MDAwMDBaFw0wNDAxMDcyMzU5NTlaMIGeMR8wHQYDVQQK
  ’’SIG’’ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMRcwFQYDVQQL
  ’’SIG’’Ew5WZXJpU2lnbiwgSW5jLjEsMCoGA1UECxMjVmVyaVNp
  ’’SIG’’Z24gVGltZSBTdGFtcGluZyBTZXJ2aWNlIFJvb3QxNDAy ’’SIG’’BgNVBAsTK05PIExJQUJJTElUWSBBQ0NFUFRFRCwgKGMp
  ’’SIG’’OTcgVmVyaVNpZ24sIEluYy4wgZ8wDQYJKoZIhvcNAQEB
  ’’SIG’’BQADgY0AMIGJAoGBANMuIPBofCwtLoEcsQaypwu3EQ1X
  ’’SIG’’2lPYdePJMyqy1PYJWzTz6ZD+CQzQ2xtauc3n9oixncCH
  ’’SIG’’Jet9WBBzanjLcRX9xlj2KatYXpYE/S1iEViBHMpxlNUi
  ’’SIG’’WC/VzBQFhDa6lKq0TUrp7jsirVaZfiGcbIbASkeXarSm
  ’’SIG’’NtX8CS3TtDmbAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEA
  ’’SIG’’YVUOPnvHkhJ+ERCOIszUsxMrW+hE5At4nqR+86cHch7i
  ’’SIG’’We/MhOOJlEzbTmHvs6T7Rj1QNAufcFb2jip/F87lY795
  ’’SIG’’aQdzLrCVKIr17aqp0l3NCsoQCY/Os68olsR5KYSS3P+6
  ’’SIG’’Z0JIppAQ5L9h+JxT5ZPRcz/4/Z1PhKxV0f0RY2MwggOq
  ’’SIG’’MIIDE6ADAgECAhBKKT6dHYxAfxdJ/31hX451MA0GCSqG
  ’’SIG’’SIb3DQEBBQUAMF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQK
  ’’SIG’’Ew5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3Mg
  ’’SIG’’MyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1
  ’’SIG’’dGhvcml0eTAeFw0wMTEyMTIwMDAwMDBaFw0wNDAxMDYy
  ’’SIG’’MzU5NTlaMIGpMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5j
  ’’SIG’’LjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29y
  ’’SIG’’azE7MDkGA1UECxMyVGVybXMgb2YgdXNlIGF0IGh0dHBz
  ’’SIG’’Oi8vd3d3LnZlcmlzaWduLmNvbS9ycGEgKGMpMDExMDAu
  ’’SIG’’BgNVBAMTJ1ZlcmlTaWduIENsYXNzIDMgQ29kZSBTaWdu
  ’’SIG’’aW5nIDIwMDEtNCBDQTCBnzANBgkqhkiG9w0BAQEFAAOB
  ’’SIG’’jQAwgYkCgYEAnoG1Ys2H82OZbSnKmKsRtbVGNLUilYKo
  ’’SIG’’e1b9Xg0YGyhjKUJJAxmGin3lUFFJ+pHaz7MOy3PEOOBA
  ’’SIG’’5Go0sNzr6+DMw8qR2Nr7QNKF09rf4l8ulxnbntEI0H2F
  ’’SIG’’wCDOzIxxpuVNWj4ZlzD/yM76m0Y3vNL2zClfJ3OToaA4
  ’’SIG’’3hScu6MCAwEAAaOCARowggEWMBIGA1UdEwEB/wQIMAYB
  ’’SIG’’Af8CAQAwRAYDVR0gBD0wOzA5BgtghkgBhvhFAQcXAzAq
  ’’SIG’’MCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy52ZXJpc2ln
  ’’SIG’’bi5jb20vcnBhMDMGA1UdHwQsMCowKKImhiRodHRwOi8v
  ’’SIG’’Y3JsLnZlcmlzaWduLmNvbS9wY2EzLjEuMS5jcmwwHQYD
  ’’SIG’’VR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMDMA4GA1Ud
  ’’SIG’’DwEB/wQEAwIBBjARBglghkgBhvhCAQEEBAMCAAEwJAYD
  ’’SIG’’VR0RBB0wG6QZMBcxFTATBgNVBAMTDENsYXNzM0NBMS0x
  ’’SIG’’MzAdBgNVHQ4EFgQUT+u6lxTKm1OV7rF6TlSXDbUEoRww
  ’’SIG’’DQYJKoZIhvcNAQEFBQADgYEAWumXyXj/yYyx+PzeX9zk
  ’’SIG’’pD0cuf/TIcrXABFuJtFnKyZyWgbE1sPwWQQewgiuRpxG
  ’’SIG’’TtHSAW6amXe/1R3uHNwpqr3eBVHH8o0ZtdkK7Bum62q6
  ’’SIG’’SRhDU16W/MtpqAWNPgqLDkC8x1STQPy2a1cPoS/0ebVq
  ’’SIG’’J5C+e/yOp3xlSmQvHAEwggQCMIIDa6ADAgECAhAIem1c
  ’’SIG’’b2KTT7rE/UPhFBidMA0GCSqGSIb3DQEBBAUAMIGeMR8w
  ’’SIG’’HQYDVQQKExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMRcw
  ’’SIG’’FQYDVQQLEw5WZXJpU2lnbiwgSW5jLjEsMCoGA1UECxMj
  ’’SIG’’VmVyaVNpZ24gVGltZSBTdGFtcGluZyBTZXJ2aWNlIFJv
  ’’SIG’’b3QxNDAyBgNVBAsTK05PIExJQUJJTElUWSBBQ0NFUFRF
  ’’SIG’’RCwgKGMpOTcgVmVyaVNpZ24sIEluYy4wHhcNMDEwMjI4
  ’’SIG’’MDAwMDAwWhcNMDQwMTA2MjM1OTU5WjCBoDEXMBUGA1UE
  ’’SIG’’ChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT
  ’’SIG’’aWduIFRydXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1z
  ’’SIG’’IG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5j
  ’’SIG’’b20vcnBhIChjKTAxMScwJQYDVQQDEx5WZXJpU2lnbiBU
  ’’SIG’’aW1lIFN0YW1waW5nIFNlcnZpY2UwggEiMA0GCSqGSIb3
  ’’SIG’’DQEBAQUAA4IBDwAwggEKAoIBAQDAemGH67KnA2MbKxph
  ’’SIG’’3oC3FR2gi5A9uyeShBQ564XOKZIGZkikA0+N6E+n8K9e
  ’’SIG’’0S8Zx5HxtZ57kSHO6f/jTvD8r5VYuGMt5o72KRjNcI5Q
  ’’SIG’’w+2Wu0DbviXoQlXW9oXyBueLmRwx8wMP1EycJCrcGxuP
  ’’SIG’’gvOw76dN4xSn4I/Wx2jCYVipctT4MEhP2S9vYyDZicqC
  ’’SIG’’e8JLvCjFgWjn5oJArEY6oPk/Ns1Mu1RCWnple/6E5MdH
  ’’SIG’’VKy5PeyAxxr3xDOBgckqlft/XjqHkBTbzC518u9r5j2p
  ’’SIG’’YL5CAapPqluoPyIxnxIV+XOhHoKLBCvqRgJMbY8fUC6V
  ’’SIG’’Syp4BoR0PZGPLEcxAgMBAAGjgbgwgbUwQAYIKwYBBQUH
  ’’SIG’’AQEENDAyMDAGCCsGAQUFBzABhiRodHRwOi8vb2NzcC52
  ’’SIG’’ZXJpc2lnbi5jb20vb2NzcC9zdGF0dXMwCQYDVR0TBAIw
  ’’SIG’’ADBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBwEBMCowKAYI
  ’’SIG’’KwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNv
  ’’SIG’’bS9ycGEwEwYDVR0lBAwwCgYIKwYBBQUHAwgwCwYDVR0P
  ’’SIG’’BAQDAgbAMA0GCSqGSIb3DQEBBAUAA4GBAC3zT2NgLBja
  ’’SIG’’9SQPUrMM67O8Z4XCI+2PRg3PGk2+83x6IDAyGGiLkrsy
  ’’SIG’’mfCTuDsVBid7PgIGAKQhkoQTCsWY5UBXxQUl6K+vEWqp
  ’’SIG’’5TvL6SP2lCldQFXzpVOdyDY6OWUIc3OkMtKvrL/HBTz/
  ’’SIG’’RezD6Nok0c5jrgmn++Ib4/1BCmqWMIIFNTCCBJ6gAwIB
  ’’SIG’’AgIQamZrvmqJhiPizcoSE3lXWDANBgkqhkiG9w0BAQQF
  ’’SIG’’ADCBqTEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAd
  ’’SIG’’BgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5
  ’’SIG’’BgNVBAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3
  ’’SIG’’dy52ZXJpc2lnbi5jb20vcnBhIChjKTAxMTAwLgYDVQQD
  ’’SIG’’EydWZXJpU2lnbiBDbGFzcyAzIENvZGUgU2lnbmluZyAy
  ’’SIG’’MDAxLTQgQ0EwHhcNMDIwMTExMDAwMDAwWhcNMDMwMTEy
  ’’SIG’’MjM1OTU5WjCBtzELMAkGA1UEBhMCVVMxCzAJBgNVBAgT  ’’SIG’’AkdBMRMwEQYDVQQHEwpBbHBoYXJldHRhMRswGQYDVQQK
  ’’SIG’’ExJDb3ggQ29tbXVuaWNhdGlvbnMxPjA8BgNVBAsTNURp
  ’’SIG’’Z2l0YWwgSUQgQ2xhc3MgMyAtIE1pY3Jvc29mdCBTb2Z0
  ’’SIG’’d2FyZSBWYWxpZGF0aW9uIHYyMQwwCgYDVQQLFANNSVMx
  ’’SIG’’GzAZBgNVBAMUEkNveCBDb21tdW5pY2F0aW9uczCBnzAN
  ’’SIG’’BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtRppMlbzMUwz
  ’’SIG’’P9dHHVA/rzz1d0anXjY2Pkxeqk1XwQVzHvMn4TBRPqBS
  ’’SIG’’kY0gYqqY1J32KA/LQtAbi5V7r/HN6zEVqFskcFIdh98O
  ’’SIG’’qwcUMvB+0kXSZDyjiMgVh+x/THUPvliJgD8my2PoDS9y
  ’’SIG’’8+R06azvpc7dbcrKq9XhlTsoyGUCAwEAAaOCAkwwggJI
  ’’SIG’’MAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgeAMEQGA1Ud
  ’’SIG’’HwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudmVyaXNpZ24u
  ’’SIG’’Y29tL0NsYXNzM0NvZGVTaWduaW5nQ0EyMDAxLmNybDCB
  ’’SIG’’oAYDVR0gBIGYMIGVMIGSBgtghkgBhvhFAQcBATCBgjAz
  ’’SIG’’BggrBgEFBQcCARYnaHR0cHM6Ly93d3cudmVyaXNpZ24u
  ’’SIG’’Y29tL3JlcG9zaXRvcnkvQ1BTMEsGCCsGAQUFBwICMD8a
  ’’SIG’’PVZlcmlTaWduJ3MgQ1BTIGluY29ycC4gYnkgcmVmZXJl
  ’’SIG’’bmNlIGxpYWIuIGx0ZC4gKGMpOTkgVmVyaVNpZ24wEwYD
  ’’SIG’’VR0lBAwwCgYIKwYBBQUHAwMwNQYIKwYBBQUHAQEEKTAn
  ’’SIG’’MCUGCCsGAQUFBzABhhlodHRwczovL29jc3AudmVyaXNp
  ’’SIG’’Z24uY29tMIGYBgNVHSMEgZAwgY2AFE/rupcUyptTle6x
  ’’SIG’’ek5Ulw21BKEcoWOkYTBfMQswCQYDVQQGEwJVUzEXMBUG
  ’’SIG’’A1UEChMOVmVyaVNpZ24sIEluYy4xNzA1BgNVBAsTLkNs
  ’’SIG’’YXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlv
  ’’SIG’’biBBdXRob3JpdHmCEEopPp0djEB/F0n/fWFfjnUwEQYJ
  ’’SIG’’YIZIAYb4QgEBBAQDAgQQMDAGCmCGSAGG+EUBBgcEIhYg
  ’’SIG’’MTE2YjljMGJjZDZjMWFiMzM4ODk3YTgzMDg3MmM3ODUw
  ’’SIG’’FgYKKwYBBAGCNwIBGwQIMAYBAf8BAf8wDQYJKoZIhvcN
  ’’SIG’’AQEEBQADgYEAA5i6iDdXLBXYKUCMeX7hCey6yOyQDwfN
  ’’SIG’’aivscheg8y5u+6q+H4sxOBNJjP9/TjrYpCDlmcO98rz5
  ’’SIG’’EnGh4tQxRGl/3xIAWQRm5YO0CwKB7oqZkp9RTJbRtGov
  ’’SIG’’ce3APMOyc4ePRbC31KFXfI7o96y+q3LA4O/W2aC1dGxI
  ’’SIG’’Buoa7jwxggRRMIIETQIBATCBvjCBqTEXMBUGA1UEChMO
  ’’SIG’’VmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWdu
  ’’SIG’’IFRydXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1zIG9m
  ’’SIG’’IHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20v
  ’’SIG’’cnBhIChjKTAxMTAwLgYDVQQDEydWZXJpU2lnbiBDbGFz
  ’’SIG’’cyAzIENvZGUgU2lnbmluZyAyMDAxLTQgQ0ECEGpma75q
  ’’SIG’’iYYj4s3KEhN5V1gwDAYIKoZIhvcNAgUFAKCBljAZBgkq
  ’’SIG’’hkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3
  ’’SIG’’AgELMQ4wDAYKKwYBBAGCNwIBFTAfBgkqhkiG9w0BCQQx
  ’’SIG’’EgQQNJz6QVdjEovF8lMsJoUdZTA6BgorBgEEAYI3AgEM
  ’’SIG’’MSwwKqAOgAwAUwBjAHIAaQBwAHShGIAWaHR0cDovL3d3
  ’’SIG’’dy5zdXBwb3J0LmNvbTANBgkqhkiG9w0BAQEFAASBgH61
  ’’SIG’’rQ3ac/Mx1yOHjzZdv3sIwkgsJZW60oeu+85KS0OMmimx
  ’’SIG’’bT5HLA1CqQK69XOg3AlOQkrqqwGmBHZ2STfGiz4sRvlO
  ’’SIG’’zxN+ymeQh5/QBc6Pd3R6fYRKxAO1jIuAI2lFWOrzblsa
  ’’SIG’’vTPE+Oieb1vnWjgronge73IvBBGyL7OMGbTBoYICTDCC
  ’’SIG’’AkgGCSqGSIb3DQEJBjGCAjkwggI1AgEBMIGzMIGeMR8w
  ’’SIG’’HQYDVQQKExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMRcw
  ’’SIG’’FQYDVQQLEw5WZXJpU2lnbiwgSW5jLjEsMCoGA1UECxMj
  ’’SIG’’VmVyaVNpZ24gVGltZSBTdGFtcGluZyBTZXJ2aWNlIFJv
  ’’SIG’’b3QxNDAyBgNVBAsTK05PIExJQUJJTElUWSBBQ0NFUFRF
  ’’SIG’’RCwgKGMpOTcgVmVyaVNpZ24sIEluYy4CEAh6bVxvYpNP
  ’’SIG’’usT9Q+EUGJ0wDAYIKoZIhvcNAgUFAKBZMBgGCSqGSIb3
  ’’SIG’’DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8X
  ’’SIG’’DTAyMDExNDE1MjA1MFowHwYJKoZIhvcNAQkEMRIEENfH
  ’’SIG’’dosDvpZhSgbjHx7p0PUwDQYJKoZIhvcNAQEBBQAEggEA
  ’’SIG’’sxHNR7NvgWRpAlXh9uW01yxXruOzX3VFdUXjuRJjo7VO
  ’’SIG’’fe1h6jt3KyKN6PEXNqf077N7tGRSS48vljXzj5bmn34O
  ’’SIG’’i2Hj9/qblNqcP0y9HQuXKaops8FvB64eKTE36v5jREot
  ’’SIG’’tTFYa5RCUB4qUWMzLtdHiQJe7s+5iMRqY3hp8G8g49U8
  ’’SIG’’Hhh0TxbZ++6HsmftyjRGh4NHP1x+tfDwjkclbHFaQFn7
  ’’SIG’’qbsN+xNOIf1kxB1trNF04EQXcRgCL5sW/VbGXWzTWQI5
  ’’SIG’’fZu+umQe+2C+PEY5hk51LSpjs8QWKvUPVlcosQQFr9k/
  ’’SIG’’0y05zD+v5oR6YGnNDMiBgv7Gfh3NjVfRdw==
  ’’SIG’’Endsignatureblock