@hpcc-js/comms 2.82.1 → 2.82.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.es6.js +744 -100
- package/dist/index.es6.js.map +1 -1
- package/dist/index.js +745 -99
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/index.node.js +745 -99
- package/dist/index.node.js.map +1 -1
- package/dist/index.node.min.js +1 -1
- package/dist/index.node.min.js.map +1 -1
- package/lib-es6/__package__.js +2 -2
- package/lib-es6/ecl/dfuWorkunit.js +528 -0
- package/lib-es6/ecl/dfuWorkunit.js.map +1 -0
- package/lib-es6/ecl/query.js +30 -2
- package/lib-es6/ecl/query.js.map +1 -1
- package/lib-es6/ecl/workunit.js +2 -2
- package/lib-es6/ecl/workunit.js.map +1 -1
- package/lib-es6/index-common.js +1 -0
- package/lib-es6/index-common.js.map +1 -1
- package/lib-es6/services/fileSpray.js +9 -0
- package/lib-es6/services/fileSpray.js.map +1 -1
- package/lib-es6/services/wsLogaccess.js +151 -81
- package/lib-es6/services/wsLogaccess.js.map +1 -1
- package/lib-es6/services/wsdl/ws_logaccess/v1.04/ws_logaccess.js +85 -0
- package/lib-es6/services/wsdl/ws_logaccess/v1.04/ws_logaccess.js.map +1 -0
- package/package.json +6 -6
- package/src/__package__.ts +2 -2
- package/src/ecl/dfuWorkunit.ts +306 -0
- package/src/ecl/query.ts +17 -1
- package/src/ecl/workunit.ts +2 -2
- package/src/index-common.ts +1 -0
- package/src/services/fileSpray.ts +108 -0
- package/src/services/wsLogaccess.ts +89 -31
- package/src/services/wsdl/ws_logaccess/v1.04/ws_logaccess.ts +215 -0
- package/types/__package__.d.ts +2 -2
- package/types/connection.d.ts +5 -5
- package/types/connection.d.ts.map +1 -1
- package/types/ecl/activity.d.ts +3 -3
- package/types/ecl/activity.d.ts.map +1 -1
- package/types/ecl/dfuWorkunit.d.ts +95 -0
- package/types/ecl/dfuWorkunit.d.ts.map +1 -0
- package/types/ecl/query.d.ts +1 -0
- package/types/ecl/query.d.ts.map +1 -1
- package/types/ecl/result.d.ts +3 -3
- package/types/ecl/result.d.ts.map +1 -1
- package/types/ecl/targetCluster.d.ts +2 -2
- package/types/ecl/targetCluster.d.ts.map +1 -1
- package/types/ecl/workunit.d.ts +4 -4
- package/types/ecl/workunit.d.ts.map +1 -1
- package/types/espConnection.d.ts +1 -1
- package/types/espConnection.d.ts.map +1 -1
- package/types/index-common.d.ts +1 -0
- package/types/index-common.d.ts.map +1 -1
- package/types/services/fileSpray.d.ts +95 -0
- package/types/services/fileSpray.d.ts.map +1 -1
- package/types/services/wsDFU.d.ts +1 -1
- package/types/services/wsDFU.d.ts.map +1 -1
- package/types/services/wsEcl.d.ts +5 -5
- package/types/services/wsEcl.d.ts.map +1 -1
- package/types/services/wsLogaccess.d.ts +3 -3
- package/types/services/wsLogaccess.d.ts.map +1 -1
- package/types/services/wsdl/FileSpray/v1.23/FileSpray.d.ts +5 -5
- package/types/services/wsdl/FileSpray/v1.23/FileSpray.d.ts.map +1 -1
- package/types/services/wsdl/WsDFUXRef/v1.02/WsDFUXRef.d.ts +2 -2
- package/types/services/wsdl/WsDFUXRef/v1.02/WsDFUXRef.d.ts.map +1 -1
- package/types/services/wsdl/WsDfu/v1.62/WsDfu.d.ts +4 -4
- package/types/services/wsdl/WsDfu/v1.62/WsDfu.d.ts.map +1 -1
- package/types/services/wsdl/WsFileIO/v1.01/WsFileIO.d.ts +2 -2
- package/types/services/wsdl/WsFileIO/v1.01/WsFileIO.d.ts.map +1 -1
- package/types/services/wsdl/WsPackageProcess/v1.04/WsPackageProcess.d.ts +1 -1
- package/types/services/wsdl/WsPackageProcess/v1.04/WsPackageProcess.d.ts.map +1 -1
- package/types/services/wsdl/WsResources/v1.01/WsResources.d.ts +1 -1
- package/types/services/wsdl/WsResources/v1.01/WsResources.d.ts.map +1 -1
- package/types/services/wsdl/WsSMC/v1.24/WsSMC.d.ts +3 -3
- package/types/services/wsdl/WsSMC/v1.24/WsSMC.d.ts.map +1 -1
- package/types/services/wsdl/WsTopology/v1.31/WsTopology.d.ts +4 -4
- package/types/services/wsdl/WsTopology/v1.31/WsTopology.d.ts.map +1 -1
- package/types/services/wsdl/WsWorkunits/v1.88/WsWorkunits.d.ts +8 -8
- package/types/services/wsdl/WsWorkunits/v1.88/WsWorkunits.d.ts.map +1 -1
- package/types/services/wsdl/ws_access/v1.16/ws_access.d.ts +4 -4
- package/types/services/wsdl/ws_access/v1.16/ws_access.d.ts.map +1 -1
- package/types/services/wsdl/ws_account/v1.05/ws_account.d.ts +1 -1
- package/types/services/wsdl/ws_account/v1.05/ws_account.d.ts.map +1 -1
- package/types/services/wsdl/ws_codesign/v1.1/ws_codesign.d.ts +1 -1
- package/types/services/wsdl/ws_codesign/v1.1/ws_codesign.d.ts.map +1 -1
- package/types/services/wsdl/ws_logaccess/v1/ws_logaccess.d.ts +3 -3
- package/types/services/wsdl/ws_logaccess/v1/ws_logaccess.d.ts.map +1 -1
- package/types/services/wsdl/ws_logaccess/v1.04/ws_logaccess.d.ts +171 -0
- package/types/services/wsdl/ws_logaccess/v1.04/ws_logaccess.d.ts.map +1 -0
- package/types/services/wsdl/ws_machine/v1.17/ws_machine.d.ts +3 -3
- package/types/services/wsdl/ws_machine/v1.17/ws_machine.d.ts.map +1 -1
- package/types/services/wsdl/wsstore/v1.02/wsstore.d.ts +1 -1
- package/types/services/wsdl/wsstore/v1.02/wsstore.d.ts.map +1 -1
- package/types-3.4/__package__.d.ts +2 -2
- package/types-3.4/connection.d.ts +5 -5
- package/types-3.4/ecl/activity.d.ts +3 -3
- package/types-3.4/ecl/dfuWorkunit.d.ts +95 -0
- package/types-3.4/ecl/query.d.ts +1 -0
- package/types-3.4/ecl/result.d.ts +3 -3
- package/types-3.4/ecl/targetCluster.d.ts +2 -2
- package/types-3.4/ecl/workunit.d.ts +4 -4
- package/types-3.4/espConnection.d.ts +1 -1
- package/types-3.4/index-common.d.ts +1 -0
- package/types-3.4/services/fileSpray.d.ts +95 -0
- package/types-3.4/services/wsDFU.d.ts +1 -1
- package/types-3.4/services/wsEcl.d.ts +5 -5
- package/types-3.4/services/wsLogaccess.d.ts +3 -3
- package/types-3.4/services/wsdl/FileSpray/v1.23/FileSpray.d.ts +5 -5
- package/types-3.4/services/wsdl/WsDFUXRef/v1.02/WsDFUXRef.d.ts +2 -2
- package/types-3.4/services/wsdl/WsDfu/v1.62/WsDfu.d.ts +4 -4
- package/types-3.4/services/wsdl/WsFileIO/v1.01/WsFileIO.d.ts +2 -2
- package/types-3.4/services/wsdl/WsPackageProcess/v1.04/WsPackageProcess.d.ts +1 -1
- package/types-3.4/services/wsdl/WsResources/v1.01/WsResources.d.ts +1 -1
- package/types-3.4/services/wsdl/WsSMC/v1.24/WsSMC.d.ts +3 -3
- package/types-3.4/services/wsdl/WsTopology/v1.31/WsTopology.d.ts +4 -4
- package/types-3.4/services/wsdl/WsWorkunits/v1.88/WsWorkunits.d.ts +8 -8
- package/types-3.4/services/wsdl/ws_access/v1.16/ws_access.d.ts +4 -4
- package/types-3.4/services/wsdl/ws_account/v1.05/ws_account.d.ts +1 -1
- package/types-3.4/services/wsdl/ws_codesign/v1.1/ws_codesign.d.ts +1 -1
- package/types-3.4/services/wsdl/ws_logaccess/v1/ws_logaccess.d.ts +3 -3
- package/types-3.4/services/wsdl/ws_logaccess/v1.04/ws_logaccess.d.ts +171 -0
- package/types-3.4/services/wsdl/ws_machine/v1.17/ws_machine.d.ts +3 -3
- package/types-3.4/services/wsdl/wsstore/v1.02/wsstore.d.ts +1 -1
package/dist/index.es6.js
CHANGED
|
@@ -13,8 +13,8 @@ import * as tmp from 'tmp';
|
|
|
13
13
|
var trustwave = "\nTrustwave Secure Global Extended Validation CA, Level 1\nSecureTrust Corporation\n00F6F61CE4A3635BB0CA8AACEEFCB2D0F0\n-----BEGIN CERTIFICATE-----\nMIIE+DCCA+CgAwIBAgIRAPb2HOSjY1uwyoqs7vyy0PAwDQYJKoZIhvcNAQELBQAw\nSjELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9u\nMRkwFwYDVQQDExBTZWN1cmUgR2xvYmFsIENBMB4XDTE1MDgxMjIwMTcyOVoXDTI1\nMDgwOTIwMTcyOVowgbgxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQ\nMA4GA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJ\nbmMuMUAwPgYDVQQDEzdUcnVzdHdhdmUgU2VjdXJlIEdsb2JhbCBFeHRlbmRlZCBW\nYWxpZGF0aW9uIENBLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdh\ndmUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx6D45slgLGq8\n2G/NPFnuFscv7UM1eRoQyx3h0DdSTfoRvHkkNv4Gf6OudZDOXqwV86v/SjcNEP87\nnjMOEqQ7dKQPtiYzEkK0MOrjbRySFC5dvCTI9T8tnBgFpYA9YXwbpUqXxEi0Ayoq\nhA7UQhS7Q+YGrVwZaJ6LiWrQw+x8ACPLqEvPmMZhrxagKwrsKbylMsAQ1ljk8X74\nJ76TSxi/AZpxos7tHD0XbO8elXFZexfsgPLDRpMs6jREVeQj1jVCWLtg9twiXzcI\naUCchBsTSc92WGkKwBnH70dlL2N8kT/BNe3tAsXuBpZRILANY59jLrLnHEJNfado\nt6ZpougolQIDAQABo4IBaDCCAWQwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4E\nFgQUx33qXRmrVNT6P+ZKc956sjwdbC4wDgYDVR0PAQH/BAQDAgGGMD0GA1UdIAQ2\nMDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUu\nY29tL0NBMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNv\nbS9TR0NBLmNybDBsBggrBgEFBQcBAQRgMF4wJQYIKwYBBQUHMAGGGWh0dHA6Ly9v\nY3NwLnRydXN0d2F2ZS5jb20wNQYIKwYBBQUHMAKGKWh0dHA6Ly9zc2wudHJ1c3R3\nYXZlLmNvbS9pc3N1ZXJzL1NHQ0EuY3J0MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr\nBgEFBQcDATAfBgNVHSMEGDAWgBSvRATCQX5Ig9tOOQLs7IR65s7JpDANBgkqhkiG\n9w0BAQsFAAOCAQEAkn/4wKQRLo41fDRkZtfF+3o8JtUmfQXf2zoo9Ll29hhCiz8k\nBOpIek9MrFd/cdNgUw1nckIi+J3udyFrbO5p64JBvtc0K4kAOPFSKpHssFcnRLPx\nFXgGxXq6ohD4Py+xaEApslYFfMy89N6DKs/v/10/+/xD831RFEUMUoQxBimsmmNf\n+cLoMwF5bpoSz9JcWqCmSlK0Nla1dPphaoA/MObLN2iQPpeM3yF5dTUm1tPxe39W\nOlr6nLU1xO+yRDrlGLXrVDP1l1/qGVuwi+xufIAcdFycLLBjSSNX7LOIK3tbva7A\nWctLUs+qhIlUrbPyFERm7YOY4SttWdozeYFNfg==\n-----END CERTIFICATE-----\n\nSecureTrust Domain Validation CA, Level 1\nSecureTrust Corporation\n06F1EC00E80B1BAF9870A7C4B6CBE401A32D68\n-----BEGIN CERTIFICATE-----\nMIIEfzCCA2egAwIBAgITBvHsAOgLG6+YcKfEtsvkAaMtaDANBgkqhkiG9w0BAQsF\nADBIMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRp\nb24xFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE5MDEyOTEyNTk1OVoXDTI5\nMDEyOTEyNTk1OVowfDEyMDAGA1UEAxMpU2VjdXJlVHJ1c3QgRG9tYWluIFZhbGlk\nYXRpb24gQ0EsIExldmVsIDExFDASBgNVBAoTC1NlY3VyZVRydXN0MRAwDgYDVQQH\nEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCjRHBw8iIivBBrfE6HqexQK0oMt2Y/\nx8jO3fN96KEazZwEoGidwloRBk2Q7VfVvZ0ZDk+qwJZGLZJLS1ntGaZLH4/Iel+r\nPnp36IVF7J5MNDB+K81a/y9svEMfDu0p3FdlBUyhHvizZ/zFNP3tolmQfZ7T0mGL\n7lutlNAzFYoVTUlVeF5cSC8Yca906TEKyizYXuXcY8Diee+t+fQRHmSI5Hk5kyXD\nYFWcf2tXEfdkuFlDjJ7HPdFyfJzrNjD+cbqt8R5rZKnK1GNVP1dXm0cIYS+BMlMa\nCC1yF18oygbnOZLw5fDv9bxs4MOgF8E/Iypw0hLQHVkuD8wAvxVgPsqvAgMBAAGj\nggEsMIIBKDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjATBgNV\nHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4EFgQUYt6tehfefLfDfCMXo7Em5UbXOvQw\nHwYDVR0jBBgwFoAUQjK2FvoE/f5dS3rD/fdMQB1aQ68wQQYDVR0gBDowODA2BgRV\nHSAAMC4wLAYIKwYBBQUHAgEWIGh0dHBzOi8vY2VydHMuc2VjdXJldHJ1c3QuY29t\nL0NBMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9T\nVENBLmNybDA2BggrBgEFBQcBAQQqMCgwJgYIKwYBBQUHMAGGGmh0dHA6Ly9vY3Nw\nLnRydXN0d2F2ZS5jb20vMA0GCSqGSIb3DQEBCwUAA4IBAQAHXPYhl+++o//di2Qm\naWGmC1ijxbGbKA4jOSDRvQfxlWOVkqPF11Dpxz+V8Rxw7QFFVoJ5mHpfoXtQOijV\ntsCFknxTKgzQeArNkZrkXBNpYOJAcuc5v0eX0OllBWgVdIvZRl2TM5L/u1WFrlPr\nqwWdEYTkinQwgAHXVV/7WZi6c4StcqNnlw93mlvN6Vspzaf/mWtcYp+aqT9vrqHt\nyNR1k8Ri5eIRPIU0B8woiXTj3bifLg6/O217SY5cWwQKCMFsa6nGWoRVCJ0JJXa0\nZ+m3mPQD2OcW5YMrynhL2VWohyfZAjB8l/NZaeRT7M+vki56fxbx3Bk2lqy8Z1Zz\nWd5m\n-----END CERTIFICATE-----\n\nSecureTrust Extended Validation CA, Level 1\nSecureTrust Corporation\n06F1EC00E31E46D341B2B2633CE480D915F81D\n-----BEGIN CERTIFICATE-----\nMIIEizCCA3OgAwIBAgITBvHsAOMeRtNBsrJjPOSA2RX4HTANBgkqhkiG9w0BAQsF\nADBIMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRp\nb24xFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE5MDEyOTEyNTk1OVoXDTI5\nMDEyOTEyNTk1OVowfjE0MDIGA1UEAxMrU2VjdXJlVHJ1c3QgRXh0ZW5kZWQgVmFs\naWRhdGlvbiBDQSwgTGV2ZWwgMTEUMBIGA1UEChMLU2VjdXJlVHJ1c3QxEDAOBgNV\nBAcTB0NoaWNhZ28xETAPBgNVBAgTCElsbGlub2lzMQswCQYDVQQGEwJVUzCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANS6vRtFpCJBJ7zJODH07Y3k54Qn\nVIBhnQmmWoqFqzCVMX97GAyAfzjcQrhl/TNiJiRCrVQWPI4n0R8eUd91Ab1Qzfsr\nnp+0NRbagVDa6+nF0KcNxbSZ6/iZQ7Ac3HyhCvJS2rH2CVYlzqdsrxDXcZk69jOO\ndPV8+w+7eNIn34BKpB/ZF7iXApDoAKG81kg1VtpGOxJhxTsKLuJmURT4pQjtZqF+\nF6rN64j5T2DOK0gOA4G7BLoTdOQuXkPS38LXKgZ43lKqEenjmiOaMF/XuLYzaHrW\nGYgCM2wJsykgdB9hCsTTEwsHRZzt2q9mLBDvYYWVhql1/kR4K/RN4JdESEECAwEA\nAaOCATYwggEyMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMB0G\nA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAdBgNVHQ4EFgQUA6uAxlUKKpWh\n4Nf+GubAynjMsJYwHwYDVR0jBBgwFoAUQjK2FvoE/f5dS3rD/fdMQB1aQ68wQQYD\nVR0gBDowODA2BgRVHSAAMC4wLAYIKwYBBQUHAgEWIGh0dHBzOi8vY2VydHMuc2Vj\ndXJldHJ1c3QuY29tL0NBMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwudHJ1\nc3R3YXZlLmNvbS9TVENBLmNybDA2BggrBgEFBQcBAQQqMCgwJgYIKwYBBQUHMAGG\nGmh0dHA6Ly9vY3NwLnRydXN0d2F2ZS5jb20vMA0GCSqGSIb3DQEBCwUAA4IBAQB1\nfzAmGGmtbJyIvOfjq2McCpUoYkXAq6JTN51+nb9NDAihhDoTKMde+801bC1/l54h\nxPPm4HImM6GK6LFckDew/FGwbdRbEznUOJ7uVL5ploNBIjte23kTBUZa9fx3+aXK\nhUTAipSyPtNjnOwVVBVXzrMynfMhdsyRRe7gLXNFYCXIxtks3IkIpuYnc86NAuV9\nnBLFlZzgmbAsW+tMc5QsNvQJ9pQ539K8cqZaM+HFCScreDERxmNtHHbMw+hCa2yL\nOj4ntekgWLO8KQbE0lPUNLIM17QK8aktJavj+GezBztKMmJJwhVYQy9nxS388ApX\nxcZsEgIzOCeH0SOWg4FA\n-----END CERTIFICATE-----\n\nSecureTrust Organization Validation CA, Level 1\nSecureTrust Corporation\n06F1EC00E58E9ADD372C871D25843FDAB852D9\n-----BEGIN CERTIFICATE-----\nMIIEkDCCA3igAwIBAgITBvHsAOWOmt03LIcdJYQ/2rhS2TANBgkqhkiG9w0BAQsF\nADBIMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRp\nb24xFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE5MDEyOTEyNTk1OVoXDTI5\nMDEyOTEyNTk1OVowgYIxODA2BgNVBAMTL1NlY3VyZVRydXN0IE9yZ2FuaXphdGlv\nbiBWYWxpZGF0aW9uIENBLCBMZXZlbCAxMRQwEgYDVQQKEwtTZWN1cmVUcnVzdDEQ\nMA4GA1UEBxMHQ2hpY2FnbzERMA8GA1UECBMISWxsaW5vaXMxCzAJBgNVBAYTAlVT\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4QVBCdYToXFIfzd1SQfi\nTEgg1bwHXM2cE2VsyxwWK8NEFH8zMYdKy2hYOAjbfpm0xE6q4TQzS8KL2vAtCNyY\nVrwX7d3IvKR25H5s1LUDeQXSl1JBBZCtgJf2caJcwaYa6n2pZ0EKt3wBB+QteSFn\n57ENB37T13y7Nn8gCt9ZZaPYqRWxHcPaIWO3CVzQZ3tXjCLqzJMCV2KqhK85DZk3\nwo33Zb6cyYDkerDbWyric+10dJ/wdgE49dkfyZxVxEGpHg1SCSJdHjGb4z85Zx/u\neBpxBS6g3dfrkDjjT3MUxyNS4EaRTZp7o/2EqVCYDWJDM1HcOZL64kyWyi0d9jqA\n7wIDAQABo4IBNjCCATIwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMC\nAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBR/QuNI\nbljpLrlhyGp3tPcDuM1qWjAfBgNVHSMEGDAWgBRCMrYW+gT9/l1LesP990xAHVpD\nrzBBBgNVHSAEOjA4MDYGBFUdIAAwLjAsBggrBgEFBQcCARYgaHR0cHM6Ly9jZXJ0\ncy5zZWN1cmV0cnVzdC5jb20vQ0EwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2Ny\nbC50cnVzdHdhdmUuY29tL1NUQ0EuY3JsMDYGCCsGAQUFBwEBBCowKDAmBggrBgEF\nBQcwAYYaaHR0cDovL29jc3AudHJ1c3R3YXZlLmNvbS8wDQYJKoZIhvcNAQELBQAD\nggEBAIwGM/ejz4Hbjf7Vc11gS8jzf+BwtZq9N4t1Nibj4rIDsW2G2jDE0S7fCN2m\nMhq76xkfnwfXhBbXDEKz6rj/M0G2u1kHw4Y8ZtKSzYEyRtgpeBFm4qU6voCSREpD\nFJXsL+Go2/YLRSE6xkWVSocklxppx4hi5o/RVdMMQept6ooOSFzBpH5XZYUoblKi\n99Yj0FUe8egIa9qSts42TObTpH1YVRMDnH3k2MNX3rcgPf9v/QO9Cf8W6RQ2+X3R\nCaYMPdL5OIKh4RGYjxXe3LpgiTKBWik/ZWTFL5sZSjetrJFl50NONzTc8E+BJtrx\nVCHAI2OcWyloxrYd4zMipw0YjDw=\n-----END CERTIFICATE-----\n\nTrustwave Domain Validation SHA256 CA, Level 1\nSecureTrust Corporation\n00DDEDF6F64298490E694C36EFA422C88F\n-----BEGIN CERTIFICATE-----\nMIIE7jCCA9agAwIBAgIRAN3t9vZCmEkOaUw276QiyI8wDQYJKoZIhvcNAQELBQAw\nSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9u\nMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTAeFw0xNDEwMDExOTIyMzJaFw0yNDA5\nMjgxOTIyMzJaMIGvMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAO\nBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5j\nLjE3MDUGA1UEAxMuVHJ1c3R3YXZlIERvbWFpbiBWYWxpZGF0aW9uIFNIQTI1NiBD\nQSwgTGV2ZWwgMTEfMB0GCSqGSIb3DQEJARYQY2FAdHJ1c3R3YXZlLmNvbTCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALNr4Z91k7AKM+Pz5XXWTIuVeMts\nPU2W/pI4WdEHG9Zab1EOWPLbthB6fzUJLLLBBk1wy2OM9yG1HywB/CwfGHcoKS8Z\n/efGV+ZKTzEpIestriUWx7wUnzxKzGML48Xv7sNuY1Crru5Hgce1Ax5uOfP7OB6t\norbMunvKQC10WcSrqFg6LapZ0UhgGmQzdjYguOBF6WZJR3QLghQaNrSUZuA6neXR\ncUsBgmzrxiEVHyzt+lmnYFMFvKVwGOyIZ2RU2LAFthS6UDDrSLGsJysxc1MK1Sti\n/VP8e8wj9rJdmiWNfA+lz6hDAPzRbv+WVJNoHEGbIx8rai+rVMiLy2HIbPsCAwEA\nAaOCAWkwggFlMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFPQc4jqvtqTk\n2emd/u8cd6VjPe+IMA4GA1UdDwEB/wQEAwIBhjBIBgNVHSAEQTA/MD0GDysGAQQB\nge0YAwMDAwQFAzAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUu\nY29tL0NBMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNv\nbS9TVENBLmNybDBsBggrBgEFBQcBAQRgMF4wJQYIKwYBBQUHMAGGGWh0dHA6Ly9v\nY3NwLnRydXN0d2F2ZS5jb20wNQYIKwYBBQUHMAKGKWh0dHA6Ly9zc2wudHJ1c3R3\nYXZlLmNvbS9pc3N1ZXJzL1NUQ0EuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMBMB8G\nA1UdIwQYMBaAFEIythb6BP3+XUt6w/33TEAdWkOvMA0GCSqGSIb3DQEBCwUAA4IB\nAQAjoDrTysopn7t+onDZ6rZSQW8rYlWZQpSiNHrq9xAAcMExrhcN0bQC9OQ+VRci\noMDascvwum7hVkyh2w2Ad7lC3Ir9gIuA8HycjqQJ4t1eSF3geYyf8lp259ztZ/TO\nxSAwJ9W0Szc8fslOA0SWlyA3lnRVcYVu54Idc1dPXXBxwlQ1NUCYgcsXZs+6QjLL\nYhYL85DhuitQSddoYemGpfVJnaYH9tBiWmwtzwc4qsVqTsKEJ/1zYAy2GrEAv8sB\nFKSfMNMopBmmDA8/aCIW/tH6KTD2DC15QQwL6yAUbSa5mhzFSA9O8zmF881YwBVG\nn+z3isMPClgpNw/eWSbaSLZ+\n-----END CERTIFICATE-----\n\nTrustwave Domain Validation SHA256 CA, Level 1\nSecureTrust Corporation\n390A3F7EECA8FB4347DCAF701861662B\n-----BEGIN CERTIFICATE-----\nMIIE/zCCA+egAwIBAgIQOQo/fuyo+0NH3K9wGGFmKzANBgkqhkiG9w0BAQsFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE2MDkwMTE0MzUzMloXDTI0MDky\nOTE0MzUzMlowga8xCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQMA4G\nA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMu\nMTcwNQYDVQQDEy5UcnVzdHdhdmUgRG9tYWluIFZhbGlkYXRpb24gU0hBMjU2IENB\nLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdhdmUuY29tMIIBIjAN\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs2vhn3WTsAoz4/PlddZMi5V4y2w9\nTZb+kjhZ0Qcb1lpvUQ5Y8tu2EHp/NQksssEGTXDLY4z3IbUfLAH8LB8YdygpLxn9\n58ZX5kpPMSkh6y2uJRbHvBSfPErMYwvjxe/uw25jUKuu7keBx7UDHm458/s4Hq2i\ntsy6e8pALXRZxKuoWDotqlnRSGAaZDN2NiC44EXpZklHdAuCFBo2tJRm4Dqd5dFx\nSwGCbOvGIRUfLO36WadgUwW8pXAY7IhnZFTYsAW2FLpQMOtIsawnKzFzUwrVK2L9\nU/x7zCP2sl2aJY18D6XPqEMA/NFu/5ZUk2gcQZsjHytqL6tUyIvLYchs+wIDAQAB\no4IBezCCAXcwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU9BziOq+2pOTZ\n6Z3+7xx3pWM974gwDgYDVR0PAQH/BAQDAgGGMDIGA1UdHwQrMCkwJ6AloCOGIWh0\ndHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9TVENBLmNybDA9BgNVHSAENjA0MDIGBFUd\nIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9zc2wudHJ1c3R3YXZlLmNvbS9DQTBs\nBggrBgEFBQcBAQRgMF4wJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnRydXN0d2F2\nZS5jb20wNQYIKwYBBQUHMAKGKWh0dHA6Ly9zc2wudHJ1c3R3YXZlLmNvbS9pc3N1\nZXJzL1NUQ0EuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMBMB8GA1UdIwQYMBaAFEIy\nthb6BP3+XUt6w/33TEAdWkOvMBsGA1UdEQQUMBKBEGNhQHRydXN0d2F2ZS5jb20w\nDQYJKoZIhvcNAQELBQADggEBAFcdG0/3P/CkeGb76tz/mn1viDZiftD05i9Jw70k\nH9ulRwdCHgzhSZVN5zHvG919oHA9WHbxH04J+iAnVl1+FjoDNN+A+2icy2WXqH9w\ngaNUGyUwLdo0JCfgUeGbrCF6WUYCj47pS7zAY02CdGlstZZsqouXK3RnOMKOD3Dq\nf5kiSh56KvhW/F0OZY7PAbdV79LVAiSTiAFdoe/jMjmj8fqXOiCIjllqH/O9/DAm\nRwQStFpauwR+nBbFhq4sYwlZQvJ0NvIxN5JOTECTkMM+X21kf8mrwRdxBfw0YEPa\nUTeZhFr48Fwvnt4jpo7gqpJzt7jjsbWPd1FHtey2Q8zmSHY=\n-----END CERTIFICATE-----\n\nTrustwave Extended Validation SHA256 CA, Level 1\nSecureTrust Corporation\n00C1BD27B383958D0D8BCA5E4F08D009D9\n-----BEGIN CERTIFICATE-----\nMIIFGDCCBACgAwIBAgIRAMG9J7ODlY0Ni8peTwjQCdkwDQYJKoZIhvcNAQELBQAw\nSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9u\nMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTAeFw0xNDEwMTMxODE3MzlaFw0yNDEw\nMTAxODE3MzlaMIGxMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAO\nBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5j\nLjE5MDcGA1UEAxMwVHJ1c3R3YXZlIEV4dGVuZGVkIFZhbGlkYXRpb24gU0hBMjU2\nIENBLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdhdmUuY29tMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAre9mHLqiv689FWIk7PaeQLuW\nos8ldRX4rNLHeD7/X7JrTfaXuIQaLfrUODtyRaZs0LtJsEHgpr7dUonDIH69PjBP\nrHg+hBLu7ob4udEx3J03NQSdnR/fqPY0ZMH2NP7e9TFSKKctZ/SmzA8jGclVmdiT\nGg1bTx6xgWuPWq9OprIQSgkP5NRe1GeTQ7U/E1zxLqaw6PeQWjESHPGeilyw0jr6\nqVyHM5ack9ps60sN3CKNGushyaQe3w2bYxRJ9RRH/sILCAmmTbjc/cXrGQMGdaYt\naiGnXbc45r39cqfbynZ71hPPNEtFbOdqk3C7I8vrhIHiKaAtFkTMRSWmHHk4HwID\nAQABo4IBkTCCAY0wEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU5eQkWRUy\nJ8kgs0ICbLDvMt6bIFowDgYDVR0PAQH/BAQDAgGGMGYGA1UdIARfMF0wDAYKKwYB\nBAGB7RgDADAOBgxghkgBhv1kAQECBAEwPQYPKwYBBAGB7RgDAwMDBAMDMCowKAYI\nKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0d2F2ZS5jb20vQ0EwMgYDVR0fBCsw\nKTAnoCWgI4YhaHR0cDovL2NybC50cnVzdHdhdmUuY29tL1NUQ0EuY3JsMGwGCCsG\nAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudHJ1c3R3YXZlLmNv\nbTA1BggrBgEFBQcwAoYpaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL2lzc3VlcnMv\nU1RDQS5jcnQwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB8GA1UdIwQY\nMBaAFEIythb6BP3+XUt6w/33TEAdWkOvMA0GCSqGSIb3DQEBCwUAA4IBAQCly1p1\nrvcOlRS+ODBLb2kYHd4q+cXDl65X+IQ7hOlXg9dpa7CzSAGNNpzhyYMbE48mB/RE\nBXxbZkMzEhWPFj+4jdGNsmX0zjEWatJWsnNVxpA7hDR0iZssezu86oDQ/sbVoaXj\n0a5jB2cZsnMS5287CNDk5i+ImruhbMAYV9sadliXoDy3y01Sv+FLMx39C5UhYhWU\ngvoT9igbSCoc/DPOukEDqsnKMmDqTf3JzuFI1CbJcR6M8R1hAda4mZrxIdGcbT8R\nXp8JQ8Vuv/+plPMcAiZ2Bzed0hPVr5A1Mz8K8w9OyORGlRwjWS65jsr26bjMCcfj\npvuAANrc0Alu4nJC\n-----END CERTIFICATE-----\n\nTrustwave Extended Validation SHA256 CA, Level 1\nSecureTrust Corporation\n35962F305C5A0BEC400D4E9877528C65\n-----BEGIN CERTIFICATE-----\nMIIFCzCCA/OgAwIBAgIQNZYvMFxaC+xADU6Yd1KMZTANBgkqhkiG9w0BAQsFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE2MDkwMTE0MzUzNFoXDTI0MDky\nOTE0MzUzNFowgbExCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQMA4G\nA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMu\nMTkwNwYDVQQDEzBUcnVzdHdhdmUgRXh0ZW5kZWQgVmFsaWRhdGlvbiBTSEEyNTYg\nQ0EsIExldmVsIDExHzAdBgkqhkiG9w0BCQEWEGNhQHRydXN0d2F2ZS5jb20wggEi\nMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCt72YcuqK/rz0VYiTs9p5Au5ai\nzyV1Ffis0sd4Pv9fsmtN9pe4hBot+tQ4O3JFpmzQu0mwQeCmvt1SicMgfr0+ME+s\neD6EEu7uhvi50THcnTc1BJ2dH9+o9jRkwfY0/t71MVIopy1n9KbMDyMZyVWZ2JMa\nDVtPHrGBa49ar06mshBKCQ/k1F7UZ5NDtT8TXPEuprDo95BaMRIc8Z6KXLDSOvqp\nXIczlpyT2mzrSw3cIo0a6yHJpB7fDZtjFEn1FEf+wgsICaZNuNz9xesZAwZ1pi1q\nIaddtzjmvf1yp9vKdnvWE880S0Vs52qTcLsjy+uEgeIpoC0WRMxFJaYceTgfAgMB\nAAGjggGFMIIBgTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBTl5CRZFTIn\nySCzQgJssO8y3psgWjAOBgNVHQ8BAf8EBAMCAYYwMgYDVR0fBCswKTAnoCWgI4Yh\naHR0cDovL2NybC50cnVzdHdhdmUuY29tL1NUQ0EuY3JsMD0GA1UdIAQ2MDQwMgYE\nVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUuY29tL0NB\nMGwGCCsGAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudHJ1c3R3\nYXZlLmNvbTA1BggrBgEFBQcwAoYpaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL2lz\nc3VlcnMvU1RDQS5jcnQwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB8G\nA1UdIwQYMBaAFEIythb6BP3+XUt6w/33TEAdWkOvMBsGA1UdEQQUMBKBEGNhQHRy\ndXN0d2F2ZS5jb20wDQYJKoZIhvcNAQELBQADggEBAGUMIDkrvlMJ0wHLuP3lkneC\nwGU6mZ3g17jyU2RJwhRinYctraryG7Jh20DQ9/ppTHoxTIADw2JDsC5ByplabteQ\nnLghrl17K1b6PO+rzWA/NFKVwo6u8Gh7Lz0iUuit7ZBD4eKcRedxRZcPQlnD9KTR\nIs94SRpootsuCv/Y5b+1FMPV1KrYtbco9yEVlaNEWLpmiEsqvLjxiWEmt71rzz+0\nS59OtA/ihnbGP9Xrnhe7wf1ybCNOO5gZQMKr/OszfLZ7oVKACGOPLlcSZRRW98gA\nszE+1ZvlHkdjamfTSs4yMvUorYn9NhXnjAWl28NuD9m3FPiE2O50ezEDnHTiaOQ=\n-----END CERTIFICATE-----\n\nTrustwave Organization Validation SHA256 CA, Level 1\nSecureTrust Corporation\n4B2C6646F434775B67DF34A04DD504E6\n-----BEGIN CERTIFICATE-----\nMIIE/TCCA+WgAwIBAgIQSyxmRvQ0d1tn3zSgTdUE5jANBgkqhkiG9w0BAQsFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE0MTAwMTE5MjIzNloXDTI0MDky\nODE5MjIzNlowgbUxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQMA4G\nA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMu\nMT0wOwYDVQQDEzRUcnVzdHdhdmUgT3JnYW5pemF0aW9uIFZhbGlkYXRpb24gU0hB\nMjU2IENBLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdhdmUuY29t\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA49OohlJHBJ/juiQTmibO\nS28pHvCCp1bPOc6elQ62DCYE/A14JXUtI8yaUc9nFjh6dNzR7KjFPEq/qDplQl7f\n1Tvh5ifBNNP2wQ6e820TWlPO4HhR/5g4+3iFmJ1N7kFrxDp1/P8e3+9lcJsXckXC\ntfFkQ9slogJqnaCsipgdrH4gQhicFAL5YqHw2AKfctZLSPpxhI3xISMV/lIQwZPW\nI2221v9ALckokh5pW6dTK8x8yNUUye1zt5msWzqunfBjVYVUj5/LXu46hS99Mfxu\n80ARJRyHsXIuHbMzwVXGqKVPZfKAdHBl5e3ElCjNwNy+Hgi09vS7PoAUhjCf/wbO\nnQIDAQABo4IBczCCAW8wEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUys4d\nGAN3HhzzfFiymnCoCIAW9K4wDgYDVR0PAQH/BAQDAgGGMEgGA1UdIARBMD8wPQYP\nKwYBBAGB7RgDAwMDBAQDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0\nd2F2ZS5jb20vQ0EwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2NybC50cnVzdHdh\ndmUuY29tL1NUQ0EuY3JsMGwGCCsGAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZaHR0\ncDovL29jc3AudHJ1c3R3YXZlLmNvbTA1BggrBgEFBQcwAoYpaHR0cDovL3NzbC50\ncnVzdHdhdmUuY29tL2lzc3VlcnMvU1RDQS5jcnQwHQYDVR0lBBYwFAYIKwYBBQUH\nAwIGCCsGAQUFBwMBMB8GA1UdIwQYMBaAFEIythb6BP3+XUt6w/33TEAdWkOvMA0G\nCSqGSIb3DQEBCwUAA4IBAQBN/Qb6x5VSQHIt/FqvXAkjfCI7jwXGzRoxThavUqv0\npJr1azXKv2L2ye9Sl4OCqiDHZ8ZJZ/Z19Ae1yvGTpG++0O5dWTHZ8qy/JSj17Mg1\nvWiefVpJKtkYflzhC9B9/eB3QuKVTRKDqm1ZC9kbm3MWOwtnEOw4WURWS1X2v4Hv\n2AJaXe11ZRqjx7/c6U50tYp3eVpRDCw7bOIXRffLG0oibhjHiEu8dgq7KkTSrx9m\nQFS6T2x9GLiJKhj2mEfPuGr73TfBPyKsRBymOpG67LThKVnwoUfH3pghA6VkZp5Z\n1Vm6AcDm+eelf5XPvZtNve4evLVPYueA3TmGyxXh1m2d\n-----END CERTIFICATE-----\n\nTrustwave Organization Validation SHA256 CA, Level 1\nSecureTrust Corporation\n0092B8744F71CED0E26C72A3D8D5D925B2\n-----BEGIN CERTIFICATE-----\nMIIFEDCCA/igAwIBAgIRAJK4dE9xztDibHKj2NXZJbIwDQYJKoZIhvcNAQELBQAw\nSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9u\nMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTAeFw0xNjA5MDExNDM1MzVaFw0yNDA5\nMjkxNDM1MzVaMIG1MQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAO\nBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5j\nLjE9MDsGA1UEAxM0VHJ1c3R3YXZlIE9yZ2FuaXphdGlvbiBWYWxpZGF0aW9uIFNI\nQTI1NiBDQSwgTGV2ZWwgMTEfMB0GCSqGSIb3DQEJARYQY2FAdHJ1c3R3YXZlLmNv\nbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOPTqIZSRwSf47okE5om\nzktvKR7wgqdWzznOnpUOtgwmBPwNeCV1LSPMmlHPZxY4enTc0eyoxTxKv6g6ZUJe\n39U74eYnwTTT9sEOnvNtE1pTzuB4Uf+YOPt4hZidTe5Ba8Q6dfz/Ht/vZXCbF3JF\nwrXxZEPbJaICap2grIqYHax+IEIYnBQC+WKh8NgCn3LWS0j6cYSN8SEjFf5SEMGT\n1iNtttb/QC3JKJIeaVunUyvMfMjVFMntc7eZrFs6rp3wY1WFVI+fy17uOoUvfTH8\nbvNAESUch7FyLh2zM8FVxqilT2XygHRwZeXtxJQozcDcvh4ItPb0uz6AFIYwn/8G\nzp0CAwEAAaOCAYUwggGBMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFMrO\nHRgDdx4c83xYsppwqAiAFvSuMA4GA1UdDwEB/wQEAwIBhjAyBgNVHR8EKzApMCeg\nJaAjhiFodHRwOi8vY3JsLnRydXN0d2F2ZS5jb20vU1RDQS5jcmwwPQYDVR0gBDYw\nNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0d2F2ZS5j\nb20vQ0EwbAYIKwYBBQUHAQEEYDBeMCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC50\ncnVzdHdhdmUuY29tMDUGCCsGAQUFBzAChilodHRwOi8vc3NsLnRydXN0d2F2ZS5j\nb20vaXNzdWVycy9TVENBLmNydDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwHwYDVR0jBBgwFoAUQjK2FvoE/f5dS3rD/fdMQB1aQ68wGwYDVR0RBBQwEoEQ\nY2FAdHJ1c3R3YXZlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAC0OvN7/UJBcRDXch\nA4b2qJo7mBD05+XR96N7vucMaanz26CnUxs1o8DcBckpqyEXCxdOanIr+/UJNbBL\nXLJCzNLJEJcgV9TjbVu33eQR23yMuXD+cZsqLMF+L5IIM47W8dlwKJvMy0xs7Jb1\nS3NOIhcoVu+XPzRsgKv8Yi2B6l278RfzegiCx4vYJv0pBjFzizEiFH9bWTYIOlIJ\nJSM57hoICgjCTS8BoEgndwWIyc/nEmlYaUwmCo9QynY+UmW1WPWmVITEJPMdMK6A\nZqvvaWmuHJ6/vURaz+Hoc5D3z0yJDDCkv52bXV04ZoF6cbcWry7JvNA+djvay/4B\nRR4SZQ==\n-----END CERTIFICATE-----\n\nSecureTrust TWG Secure Email CA, Level 2\nTrustwave Holdings, Inc.\n072F30E9C25181828DAC4F5F7DE4AFC87AD132\n-----BEGIN CERTIFICATE-----\nMIIG2zCCBMOgAwIBAgITBy8w6cJRgYKNrE9ffeSvyHrRMjANBgkqhkiG9w0BAQsF\nADCBiDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdD\naGljYWdvMSEwHwYDVQQKDBhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xMTAvBgNV\nBAMMKFRydXN0d2F2ZSBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN\nMjAxMDA4MDY0OTQwWhcNMzAxMDA4MDY0ODQwWjBWMQswCQYDVQQGEwJVUzEUMBIG\nA1UEChMLU2VjdXJlVHJ1c3QxMTAvBgNVBAMTKFNlY3VyZVRydXN0IFRXRyBTZWN1\ncmUgRW1haWwgQ0EsIExldmVsIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK\nAoICAQCcD5Wc7H480gOv3ae6SELBls0oNOvpw1ZFjK55nLw+W6PhgqTGNEHlO/Ga\nWt13yS1iO1/WzRaUc2XsFRGcjv3QIfDZb+6UzhL1LL9ZE8zcs0B6fepn4smQg1yK\ngtAWGoD70Z9kEBtypkG23sO5xIiRACJWgRWVZ/891pQBBz+ElCxUnIyDGghHlWCD\nzn5dLoBIVic69Pfpi384uNoNfHV/WATUQEEnwY+5yMMUALAWrRD6Jeh5R4m9qKxG\nUlrO9ObDebK9mFEJvrCPtkTIWT1He4ZD58Lt0NIkaItQ7KsKF9wgwH7BTsRGwQXb\nP6/0LvfO8UDRKNE/4C39u9dwUw/Zpu2iNXTadVWBtaSDsrPFVb5rBu+pvn4l4Hw5\njtySyHAOWn4mhuxDXMuKBtaoTi/qF94d7N0CbqPdN9WSN79Cy2O0BexTGHSJVndX\nEbKyn96b5STPshKVpG9DmUekfnDtnHR9dmH74a05X/A8k/XeSJWXphM6NvyZap2A\nWiIkrS7MsfwnCdZlX+9WGY2qHxnm4Y6JdNah0qxozBbQHkqHsSN4k8O7zr2lfZhC\nuarm0Q1t6tjsmp7PUh26u6PCe0m+MctIrD6ZckUzZeuPduRb55K2p8MxjQSVNH1S\nJ2aaHp77qOYV+rvHXIL7le4OR5lDWyzYtXLc8u17/kLbUtgnmQIDAQABo4IBbTCC\nAWkwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAww\nCgYIKwYBBQUHAwQwHQYDVR0OBBYEFKpD9MNsQCriSoEcg6nez7XhG7bOMB8GA1Ud\nIwQYMBaAFJngGWcNYtt2s9o9uFvo/ULSMQ6HMEEGA1UdIAQ6MDgwNgYEVR0gADAu\nMCwGCCsGAQUFBwIBFiBodHRwczovL2NlcnRzLnNlY3VyZXRydXN0LmNvbS9DQTA1\nBgNVHR8ELjAsMCqgKKAmhiRodHRwOi8vY3JsLnNlY3VyZXRydXN0LmNvbS9UV0dD\nQS5jcmwwdAYIKwYBBQUHAQEEaDBmMCgGCCsGAQUFBzABhhxodHRwOi8vb2NzcC5z\nZWN1cmV0cnVzdC5jb20vMDoGCCsGAQUFBzAChi5odHRwOi8vY2VydHMuc2VjdXJl\ndHJ1c3QuY29tL2lzc3VlcnMvVFdHQ0EuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQBb\ntCXryLFewOafyNENB3NzgAQVVztwaWSyvF5FYSqav95JKcoHZzy3wG7aKlTPtGnq\n1QzJst03qPmZJ3j63obz2AvfEEzLEMlsPmOTy3B9oIrNzd2QhpGW1oF6pIgGB/VP\n5zh7U2ibUC+zRLmihwt+j2+7NBbuLbPozgxDTWh2f9O4rJb5bv98Q8RdbGrypBb9\nhOhDvmNCCfjSe+Q8myqsvawEG5p7s8gsIK/V3xbyqDihXjsGc7xeEWNftlU91jBL\nKPRbrLmXhhWnHJjYs4y5IHu735HA3aAT4TqURS9dGHOMVDRumkFpLqR2W7ptpDki\nOtIFZjO5smU29OD4AlcNUXqQuKEFasyTtkRlORnWhU37c36HB8dc57xWQKOf8pMq\n7lK+ublO9G4mO1Aqr9mioTN4oMONFJG4W5dWwG9baNg682ZACkvPaw45MqSztL3A\nKb4s2cDTWu/D34hV3oafkTwu8B7B2mFZnWRJ9q4akPmZF45uw4RZx2ALaYGGGs67\n+r5qS300As9ONg8hxfVkFQSHOc00IiBkgi3OpoCofEKTgDwZwHVqOJyyPjk6H9Sh\nZANmUOT2mGDLwl86Ar5bTu8ipzlsyDYQMFjho7WaVs8I5OXyVdONXDYLIOtpITGT\n1fRcXFzxYHhrNuFwrdj2zBVyvVD4O6xV97/9nv2Eng==\n-----END CERTIFICATE-----\n\nTrustwave Global Domain Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9AD30465CF22697F246B101EC92953B\n-----BEGIN CERTIFICATE-----\nMIIHCDCCBPCgAwIBAgITBs6C2a0wRlzyJpfyRrEB7JKVOzANBgkqhkiG9w0BAQsF\nADCBiDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdD\naGljYWdvMSEwHwYDVQQKDBhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xMTAvBgNV\nBAMMKFRydXN0d2F2ZSBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN\nMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBjjE3MDUGA1UEAxMuVHJ1c3R3\nYXZlIEdsb2JhbCBEb21haW4gVmFsaWRhdGlvbiBDQSwgTGV2ZWwgMTEhMB8GA1UE\nChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMuMRAwDgYDVQQHEwdDaGljYWdvMREw\nDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMwggIiMA0GCSqGSIb3DQEBAQUA\nA4ICDwAwggIKAoICAQChh5brvvk/kFUZwhlUhqdsUmsMCBjzYqBBLnTyNrKPr4nd\nS9s2h2JvA+9TY7NnJc/Mq1eN5V6zqvbn/LN3c8W06f76xrVvFEKs5SzCefUS/V3Z\nC18dgwXXFrP+RgfK2kqfTHGIPrWoRSnUiLn3iUNEBtJ06oXjAqAMnAyL5AzD+eHm\nZzRK/yCw/gMPnVp2S7Dstka607fS4fW9Sl33mOMNwJRxEjQWHHR25PAb4muP6wjN\nvmoLMgiDMKseHSFVtC7SpmO89PsrUV6MahKJrZcAfquAyoO1zR2c2eGaCI/m8oSx\n3B7KiMZJ3NZims/siMp/5szemsutf36WJ31nmr7PqLJGJdVpoxbLckWIhZnNYSFm\n/pTutpNONqpyYC2gGSXdw5LuxU61913SbAPpk8DZiHi3WslHBo26ghXG++sgJUGj\nhtKZhiYlp8uD21WTP6/60wngpXyCtt9cpHxW1lXmqcxwe2J4/2S3xjHz1dC6BKxb\nr61HCPVrbTD90CZUpMI8JPdsVbz5eegv+SIyybHxZe4S0D9Kv5pgWfqdXf0BAiJC\nTbGwYmFr4uisKhkfMThyOgWEH+CRBzQqdZREQ5lTIlVyzi3jGPuu9Q6brAS9U9Ue\nQhUwX8TtY8Igfo8HlhjugDpy6WvDYQ9i+tG3AC6v8sJLdOOU83Lr+2C1LEF5ZwID\nAQABo4IBYTCCAV0wEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYw\nEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYEFIaZQQzOP7aMcEnlkwfwhgcd\nLXqVMB8GA1UdIwQYMBaAFJngGWcNYtt2s9o9uFvo/ULSMQ6HMD0GA1UdIAQ2MDQw\nMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUuY29t\nL0NBMDMGA1UdHwQsMCowKKAmoCSGImh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9U\nV0dDQS5jcmwwbgYIKwYBBQUHAQEEYjBgMCYGCCsGAQUFBzABhhpodHRwOi8vb2Nz\ncC50cnVzdHdhdmUuY29tLzA2BggrBgEFBQcwAoYqaHR0cDovL3NzbC50cnVzdHdh\ndmUuY29tL2lzc3VlcnMvVFdHQ0EuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQAmn0jp\n+lNp188KxjKQZtpJ3mixLmuqGdH6SVpRs40BYQg/68xOPH3C6AJ17tqE6IwZMW9s\nlgiO4B7khR3ESA6Sct3zmkA8woR/KJVzzegjscHhtQUifQ+Eb9Gi0ORNnetGV+5g\n5vlrFZMptBRGUxXMo2xa+Z/NTyimpMopfXj7qCW/nQWQbzvkQGchK9IokyqV2wra\ntX68/P3zleG+LLwzoJd5AhHYSXWrIRJpClZHN+LQKkbI3MYW7+upo/1e9HEmFKxu\n5SFV3nuQm5wSOsz/ZtIL1AS8IoZYxcSe1Q/yuV9GjnxtL1jkPbzsBx4eBGxUrcIe\nsBat6SI8G58uHTpIPpqUxRYsg8w0FdjK3kNBB5QWDeXiDxzqIRzA0iE1kHeTXRZ3\n7qgGXUcce7ciW5KqeRApjQbD5BSZG2EKkQ7aaOhvxK0LiuxHZnjPW4/fdEcaCuku\nMT5qMDiF2U85V9BvanEy/xkYn4I2UeK4EdSXe7q6j+CIJz9WnoLQDbIS04GqIWe0\nVRQUlx3idUWYSJU/SG8KrEHhlJLmgSjshCwtT6qo4vHwT5WcWDLIbjMqgL1iQ6JS\n4gxXuOGia3d0I4/wec5x23EWwx9V8BtDJ8N7NDeRNmZ8RXOHSYJsVQYIQuFUEXE1\nv3WMSIxuyQMyR5FYSCG9xnKRFzNmiPngDil5IA==\n-----END CERTIFICATE-----\n\nTrustwave Global Extended Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D99FB3B180C281020314A2D1C7640017\n-----BEGIN CERTIFICATE-----\nMIIHFDCCBPygAwIBAgITBs6C2Z+zsYDCgQIDFKLRx2QAFzANBgkqhkiG9w0BAQsF\nADCBiDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdD\naGljYWdvMSEwHwYDVQQKDBhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xMTAvBgNV\nBAMMKFRydXN0d2F2ZSBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN\nMTgwMjA2MTIyMTIwWhcNMjgwMjI0MDUwMTIwWjCBkDE5MDcGA1UEAxMwVHJ1c3R3\nYXZlIEdsb2JhbCBFeHRlbmRlZCBWYWxpZGF0aW9uIENBLCBMZXZlbCAxMSEwHwYD\nVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xEDAOBgNVBAcTB0NoaWNhZ28x\nETAPBgNVBAgTCElsbGlub2lzMQswCQYDVQQGEwJVUzCCAiIwDQYJKoZIhvcNAQEB\nBQADggIPADCCAgoCggIBAMRO7orfWjfmz6Y6qoAmDp2lqCJcdvbRQ8w18rl1JE3j\nf/1CScZLrnLg4RDm8JiRcvFuvoMXn/XNUWy5ICG57tjG2nO7jvBuXfvbdkGA+foN\n3yJKMTX/PmmGlN4qpzFtsB0kLrP14/0TRGeJB7qDfAFH0ReFk0ftQobLBGBOpEca\n+bv+LhcTe40/uNUSK2yQ9GpIw200mcsD3B9c29Im4tSZFuA2o1vnEeizYW5M4sPX\nHu7p5ZCxjJrXVNqWUPM38rShhMUNL5uaVYWoi7TG5JXbg0Lmt2nq1k5nnig9Yp/W\nlAFooWXjKQzHf/z+XZ57bqPe7SzLW5pzpZdSmY2VRybAwEmzMjCXgHiP2ru3TpAD\n+giakPDoz3ZmbKjwYKZ5PmnOmXx0Z2GloO37MjamjPor/+fZohfyma7VAQE8znJt\nI9MVoRN3G3gW/tuT3jXfzYdFBlfGoO7OYyLN1LK5YBKH2qXrCHD8rG2DauBt7U+w\nfOvwfkp8FcdTnfQ92Xe65U3Xdu0eCgQJbChxZtWhhLnbY6xhmwAWyJ1my+Im72Kx\nGP/XcA8SH2sz6/k0782BjRckDuFpVVpTNYl9wqe/tuOrZhWPapOsRlfsDTuhgGu5\n2inM9sU3CAzmFE85zoRQFZQSof3kFN2rUZF20bmTak99cBNLli6/ja3+KntpZ08d\nAgMBAAGjggFrMIIBZzASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIB\nhjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwHQYDVR0OBBYEFHM4IMZH\nbabGL3tQ4EDe3sedR958MB8GA1UdIwQYMBaAFJngGWcNYtt2s9o9uFvo/ULSMQ6H\nMD0GA1UdIAQ2MDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50\ncnVzdHdhdmUuY29tL0NBMDMGA1UdHwQsMCowKKAmoCSGImh0dHA6Ly9jcmwudHJ1\nc3R3YXZlLmNvbS9UV0dDQS5jcmwwbgYIKwYBBQUHAQEEYjBgMCYGCCsGAQUFBzAB\nhhpodHRwOi8vb2NzcC50cnVzdHdhdmUuY29tLzA2BggrBgEFBQcwAoYqaHR0cDov\nL3NzbC50cnVzdHdhdmUuY29tL2lzc3VlcnMvVFdHQ0EuY3J0MA0GCSqGSIb3DQEB\nCwUAA4ICAQBwnSHECaf+hfGrm3Cg+aRr57ytoOSzI1DjlTNcM7k4uSt6kJRPHJ4c\nldIujMaETV52RgE6ykaMGkuIwQOIsLI6SXwjU1f5gXFUbDTS3KTWc/jwQeyLmdOe\nhvc+wBSFv8d10Sx/Qiti8mqsTqr0+N94Cx01+SkiWxWWoSZOAPkz8DMQGlD4yndK\nceTMGtQ03cLnD/36Mv6tz/Ds9l/OExrJGGxHD0tmYwYwBZpPHm7BBY2ZzycVxLcg\n+uuggcX1pg5MhJ1rDyod+7X+ilvTgH7ftHCmxvR7viMLwSUuytZ05zb2teRQgU+8\niWnPEHO/ADm5VD1Zb5Rx0579/YEENBJtGUPPJzo+JEpiZIOIlwZ69ETWWNCLZr0V\nvoi+SDl65cr+dgR9JreJ2I4W9FzS45ruxYEC8LGKEmV46sAk1YLbnIBmhehAKy9t\nP8RVz3QXYJ6rLOAuXF7R2eVV0SqfivW9bVzvBZTUTFsbdSMBAAF1BJjdRqYR63DI\ncQASY7CRoUiak1NTgPkzeV8VcNJmUt8c2eKJIifqBAjquH6+6UXs9Ol0aMPn6v0y\nB+TSuxhX2sSrpna9QcOh/QyoR5Hvcd81rZSbMc7yasKoUMXviotV1SfEqs3RU5Ts\nwnU4NHPn5ITRiuh5VMuvB/VnjnPC953u5uqAGtZ8BkC7X9cu5E0rMQ==\n-----END CERTIFICATE-----\n\nTrustwave Global Organization Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A69703AEFE5D37D18858C74026B004\n-----BEGIN CERTIFICATE-----\nMIIHGDCCBQCgAwIBAgITBs6C2aaXA67+XTfRiFjHQCawBDANBgkqhkiG9w0BAQsF\nADCBiDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdD\naGljYWdvMSEwHwYDVQQKDBhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xMTAvBgNV\nBAMMKFRydXN0d2F2ZSBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN\nMTgwMjA2MTIyMTIwWhcNMjgwMjI0MDUwMTIwWjCBlDE9MDsGA1UEAxM0VHJ1c3R3\nYXZlIEdsb2JhbCBPcmdhbml6YXRpb24gVmFsaWRhdGlvbiBDQSwgTGV2ZWwgMTEh\nMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMuMRAwDgYDVQQHEwdDaGlj\nYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMwggIiMA0GCSqGSIb3\nDQEBAQUAA4ICDwAwggIKAoICAQC8BzZtA3eWejFOGHc2DLgex6P471dLWIIHSlrF\nY4a2BCtzAd/VlpQ3gslWnTgthOmK2/hCc+WSaOLPVZzZf3lGnxbb0+Y87Kx+nS1m\nIfJ/4OR6o8XLMLoCTAI1jsWxggiB4NBMqsW2xXQ5VAvBb66KEQYbshNlRpTbtBFq\nEed4YIvCdjbnCUOy1zubgVHUVyCFHzN4XPjEQCtT5vZM576Lt10Je9COnqG0CtPU\nQNP2tjnSmOOYdWcVRZ0UqXUl2fMBfmSDHd8902foigjpP04AYYbq6AetqEgqdvQP\nxz5pVbZqzy8UrE/s/raJLFyTuIAYVt18M0whSgWzGgUWkq2xRqbfn7b1hd56dwRb\nR7pKc51FyTbeocnKlYLC+Dlzp7iKQ3Pb7WHRwLhaJB7u4CzwqhUxHc0xplMYsq92\nMbZ6WN5L5mI7hxY8gLMOR7vNX9CKz9XcYRS01iCDe5Y/9muW8bzGyNXLX1YaHAy4\n+6ncksb3Y3RUKj3f0+T4nbiRISmGazravJKSssBLP3kPa9h5aX+Vd00eL+Q7sXrh\nFO7xz+oWtOL5rfVszyc87JQvjw1sDHA710nViqzUE1bJZNe61EXdCb/RV+Wsu+rO\ncAMSr5x2j/wW875sh+U3EJmTzdEBUBxHnBD2mDTyonT7wL47TRXTEO1IaS4mVbnv\no0jWvQIDAQABo4IBazCCAWcwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8E\nBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBS3\n/VNzOCaKcKuTyoupCOrH07fj/TAfBgNVHSMEGDAWgBSZ4BlnDWLbdrPaPbhb6P1C\n0jEOhzA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9z\nc2wudHJ1c3R3YXZlLmNvbS9DQTAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3Js\nLnRydXN0d2F2ZS5jb20vVFdHQ0EuY3JsMG4GCCsGAQUFBwEBBGIwYDAmBggrBgEF\nBQcwAYYaaHR0cDovL29jc3AudHJ1c3R3YXZlLmNvbS8wNgYIKwYBBQUHMAKGKmh0\ndHA6Ly9zc2wudHJ1c3R3YXZlLmNvbS9pc3N1ZXJzL1RXR0NBLmNydDANBgkqhkiG\n9w0BAQsFAAOCAgEAFXwfmELpEGKUguzVTMix79XbUnkfLa7IXcqBOrwOWEF1V8F1\nxGY6jLlUTtoEXRYZwCpqOK/i4m4nmWCYE45O7URR8nqeFffceTi62t4Yvh6LkC9g\nUnj3aChLiO/Zdxilq6vfsXO0mKafrGtZXwjyskS250Pj9DsANs57QqvYN4hqbplJ\nzc95p09OUvEhPiyRyx6FyY28U+3X6+mSNMJWd4Nhr+3HtvmItLIXP2JCLxuYtu/K\n6nKcpFCFFKeF8K3PWpjsAb0hfXL4vc3WfyCYsQnvJeisyAh7yEuge2iDwl1/xXIo\nEOAyyYAxvy5UnzcAa0Z2lwjptve+jZ4gQ+A1ioYUavR3pSfBNzuJW30nZCWFadKc\nNXOPoAPkK8JLxgRBH3JboeBCXG6xgy/pXrTjyhW7/SS+Z+7eKkp9jgdTVQ12yUtc\nCiYWUuM4l240D/z+s03WOEcLTluESwFkJhzs3D9i5crTL72uSkDDmlh8HXoPAyYO\nl3Mn9cGWhd8M8IeQRXmb6O7gvvQZDoSXDVDbjBKcW1lFpi0wBxIBzLaOi4CX4OhI\nJHJ/H3duOMaltuzXLSLkc26jwHzMeq8seQRSXraXJi1t5oBKlmEWFEgq6xlH7mLW\n3TOqS19cuiSWl/CsnlLGaW8MH5YHmk+MJxQE1BcLBs6ciapvHlhLEd9EUpU=\n-----END CERTIFICATE-----\n\nSecureTrust TWG ECDSA P-256 Secure Email CA, Level 2\nTrustwave Holdings, Inc.\n072F30E9C4627001DECFEBF6BF5D3B1066D7E3\n-----BEGIN CERTIFICATE-----\nMIIDbTCCAxKgAwIBAgITBy8w6cRicAHez+v2v107EGbX4zAKBggqhkjOPQQDAjCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAyNTYgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMjAxMDA4MDY0OTQxWhcNMzAxMDA4MDY0ODQxWjBiMQswCQYDVQQGEwJV\nUzEUMBIGA1UEChMLU2VjdXJlVHJ1c3QxPTA7BgNVBAMTNFNlY3VyZVRydXN0IFRX\nRyBFQ0RTQSBQLTI1NiBTZWN1cmUgRW1haWwgQ0EsIExldmVsIDIwWTATBgcqhkjO\nPQIBBggqhkjOPQMBBwNCAAT4KazLm94aiykBGkNQVkBrjmK77RlP627D2n3EwK3s\n49ljRkN6wiTWXHx3jPD5BBE/7mWhGWnphzGu1Deb6yzco4IBdTCCAXEwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUH\nAwQwHQYDVR0OBBYEFHMQ2nwjQr8tFHfBImxM7ct8lbBYMB8GA1UdIwQYMBaAFKNB\nBqyQbdFK63WlShCZs7Ghi0r3MEEGA1UdIAQ6MDgwNgYEVR0gADAuMCwGCCsGAQUF\nBwIBFiBodHRwczovL2NlcnRzLnNlY3VyZXRydXN0LmNvbS9DQTA5BgNVHR8EMjAw\nMC6gLKAqhihodHRwOi8vY3JsLnNlY3VyZXRydXN0LmNvbS9UV0dQMjU2Q0EuY3Js\nMHgGCCsGAQUFBwEBBGwwajAoBggrBgEFBQcwAYYcaHR0cDovL29jc3Auc2VjdXJl\ndHJ1c3QuY29tLzA+BggrBgEFBQcwAoYyaHR0cDovL2NlcnRzLnNlY3VyZXRydXN0\nLmNvbS9pc3N1ZXJzL1RXR1AyNTZDQS5jcnQwCgYIKoZIzj0EAwIDSQAwRgIhAN8G\nPwKUpMgV3LZjq7fuKS96f15BrwBjmTlKhOwgX83BAiEA9WpWhzRRoKeJGAqqXrMk\nZ8RE9xRtOFBqYdv9H5CeTVk=\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-256 Domain Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9AF531423847B85FB677932AAF80508\n-----BEGIN CERTIFICATE-----\nMIIDmDCCAz+gAwIBAgITBs6C2a9TFCOEe4X7Z3kyqvgFCDAKBggqhkjOPQQDAjCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAyNTYgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBmjFDMEEGA1UEAxM6\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTI1NiBEb21haW4gVmFsaWRhdGlvbiBD\nQSwgTGV2ZWwgMTEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMuMRAw\nDgYDVQQHEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMw\nWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATWpfTIQFPkZIoXXMDN9utRU+AbLGcg\nBmLA06x2qqdcpCMlYFoJhuRWzYCiqz1mKrAvNlQYkgoHfemk92sf8iaro4IBaTCC\nAWUwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAww\nCgYIKwYBBQUHAwEwHQYDVR0OBBYEFA/DUGGZflb1xtmcOeiDWJAHuhq0MB8GA1Ud\nIwQYMBaAFKNBBqyQbdFK63WlShCZs7Ghi0r3MD0GA1UdIAQ2MDQwMgYEVR0gADAq\nMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUuY29tL0NBMDcGA1Ud\nHwQwMC4wLKAqoCiGJmh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9UV0dQMjU2Q0Eu\nY3JsMHIGCCsGAQUFBwEBBGYwZDAmBggrBgEFBQcwAYYaaHR0cDovL29jc3AudHJ1\nc3R3YXZlLmNvbS8wOgYIKwYBBQUHMAKGLmh0dHA6Ly9zc2wudHJ1c3R3YXZlLmNv\nbS9pc3N1ZXJzL1RXR1AyNTZDQS5jcnQwCgYIKoZIzj0EAwIDRwAwRAIgICvA5ttD\n0oeUcd37iYvoQ7iMIpZINp4e1j5NrlI3UnYCIEZhimm9+1dUWAfx9ZkGmIu0HiHR\nzEZifAHbPM3SJbRu\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-256 Extended Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A20A3797CD878EB3DAA41D08680AF7\n-----BEGIN CERTIFICATE-----\nMIIDpjCCA0ugAwIBAgITBs6C2aIKN5fNh46z2qQdCGgK9zAKBggqhkjOPQQDAjCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAyNTYgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIwWhcNMjgwMjI0MDUwMTIwWjCBnDFFMEMGA1UEAxM8\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTI1NiBFeHRlbmRlZCBWYWxpZGF0aW9u\nIENBLCBMZXZlbCAxMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4x\nEDAOBgNVBAcTB0NoaWNhZ28xETAPBgNVBAgTCElsbGlub2lzMQswCQYDVQQGEwJV\nUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKXHfFxFDVI6uYWZlWciFFKtYzuJ\n+IBhot3PQGikE3sjU8d9dARkZCkInqmDyP/+XiLzgrYPMy7NS8lZcRsE5p2jggFz\nMIIBbzASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUE\nFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwHQYDVR0OBBYEFAwlVqqzYgakv+7gGxtX\nzC8s9g1QMB8GA1UdIwQYMBaAFKNBBqyQbdFK63WlShCZs7Ghi0r3MD0GA1UdIAQ2\nMDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUu\nY29tL0NBMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNv\nbS9UV0dQMjU2Q0EuY3JsMHIGCCsGAQUFBwEBBGYwZDAmBggrBgEFBQcwAYYaaHR0\ncDovL29jc3AudHJ1c3R3YXZlLmNvbS8wOgYIKwYBBQUHMAKGLmh0dHA6Ly9zc2wu\ndHJ1c3R3YXZlLmNvbS9pc3N1ZXJzL1RXR1AyNTZDQS5jcnQwCgYIKoZIzj0EAwID\nSQAwRgIhALahroq1NScrFeCvG5uMgMKH/bo190D+Mkh2ZIojrUOfAiEAosFXFE73\n0WLRPjX2uOkLhXuA4cQEb1R1oeGDH4MNVOo=\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-256 Organization Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A8B57C104843994DACD79E28633E5F\n-----BEGIN CERTIFICATE-----\nMIIDqDCCA0+gAwIBAgITBs6C2ai1fBBIQ5lNrNeeKGM+XzAKBggqhkjOPQQDAjCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAyNTYgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBoDFJMEcGA1UEAxNA\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTI1NiBPcmdhbml6YXRpb24gVmFsaWRh\ndGlvbiBDQSwgTGV2ZWwgMTEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJ\nbmMuMRAwDgYDVQQHEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UE\nBhMCVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQmHWo0mogvX1J61xysTqsn\n6qV06wxUH68/QJ2aDIka6beTrDoTZv3mIkyPxFTPy+9idjgSAERlBsDirgO2/NiY\no4IBczCCAW8wEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwHQYD\nVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBSv+Ju8XTSl3tA+\nFCldDY4lrbClhTAfBgNVHSMEGDAWgBSjQQaskG3RSut1pUoQmbOxoYtK9zA9BgNV\nHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9zc2wudHJ1c3R3\nYXZlLmNvbS9DQTA3BgNVHR8EMDAuMCygKqAohiZodHRwOi8vY3JsLnRydXN0d2F2\nZS5jb20vVFdHUDI1NkNBLmNybDByBggrBgEFBQcBAQRmMGQwJgYIKwYBBQUHMAGG\nGmh0dHA6Ly9vY3NwLnRydXN0d2F2ZS5jb20vMDoGCCsGAQUFBzAChi5odHRwOi8v\nc3NsLnRydXN0d2F2ZS5jb20vaXNzdWVycy9UV0dQMjU2Q0EuY3J0MAoGCCqGSM49\nBAMCA0cAMEQCIGa3JyBYlXxRN5GIIulLaDxnANNRnY4j1Et166CCC5h+AiAVUlzJ\nIJTfUDBU7jnSTKSw/F+bLIPvaC6frMZv0h+RTA==\n-----END CERTIFICATE-----\n\nSecureTrust TWG ECDSA P-384 Secure Email CA, Level 2\nTrustwave Holdings, Inc.\n072F30E9C58D91DEF98A7F9EB2666CFE7BE1EE\n-----BEGIN CERTIFICATE-----\nMIIDqjCCAy+gAwIBAgITBy8w6cWNkd75in+esmZs/nvh7jAKBggqhkjOPQQDAzCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAzODQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMjAxMDA4MDY0OTQxWhcNMzAxMDA4MDY0ODQxWjBiMQswCQYDVQQGEwJV\nUzEUMBIGA1UEChMLU2VjdXJlVHJ1c3QxPTA7BgNVBAMTNFNlY3VyZVRydXN0IFRX\nRyBFQ0RTQSBQLTM4NCBTZWN1cmUgRW1haWwgQ0EsIExldmVsIDIwdjAQBgcqhkjO\nPQIBBgUrgQQAIgNiAAR4nTJ6MvtPBb7+L3tklhdDw0tr5FNY5Q1hsp6NR5OzZVeG\nx/X3VrCvkOsae1OEZHNqWCnnI1s/ix9qn/2+q0pPpXrT6wkN/HOQzpQaJWzCF7yX\nIfIB0o+x1Pr17UOX2qGjggF1MIIBcTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1Ud\nDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcDBDAdBgNVHQ4EFgQUJd3xyUp6\n6EP6L9hCmkRrWAcU2mwwHwYDVR0jBBgwFoAUVamEidLBMr0Yy2ymB07I552+gpAw\nQQYDVR0gBDowODA2BgRVHSAAMC4wLAYIKwYBBQUHAgEWIGh0dHBzOi8vY2VydHMu\nc2VjdXJldHJ1c3QuY29tL0NBMDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu\nc2VjdXJldHJ1c3QuY29tL1RXR1AzODRDQS5jcmwweAYIKwYBBQUHAQEEbDBqMCgG\nCCsGAQUFBzABhhxodHRwOi8vb2NzcC5zZWN1cmV0cnVzdC5jb20vMD4GCCsGAQUF\nBzAChjJodHRwOi8vY2VydHMuc2VjdXJldHJ1c3QuY29tL2lzc3VlcnMvVFdHUDM4\nNENBLmNydDAKBggqhkjOPQQDAwNpADBmAjEA8X5zwZHtdHjLIn60rwG3Z3NAa6cU\n6gOFxyF+ksTCXvWCUP0oFUqsRPMKMYE2mtdQAjEA2diuEHTPUgCQ0ynhLjged8BO\nFyzL3UlFieGGp90v58gUpfjoFq0BReAw7MPYo/Qa\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-384 Domain Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9B07A17CC5376157813389A2930A44A\n-----BEGIN CERTIFICATE-----\nMIID1TCCA1ygAwIBAgITBs6C2bB6F8xTdhV4EziaKTCkSjAKBggqhkjOPQQDAzCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAzODQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBmjFDMEEGA1UEAxM6\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTM4NCBEb21haW4gVmFsaWRhdGlvbiBD\nQSwgTGV2ZWwgMTEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMuMRAw\nDgYDVQQHEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMw\ndjAQBgcqhkjOPQIBBgUrgQQAIgNiAASxlBEflNumTKsypgdOscM2x6ZRpQGSyB4B\nhJScRQI81UhZvzYSwxPWcxNZwFQoV457HfqR51pviJnHltRS8MJhJ9Q9Rf1sSmy4\nW6SPsM9qnBjwfBRxghByIsEIaTW/PKyjggFpMIIBZTASBgNVHRMBAf8ECDAGAQH/\nAgEAMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4E\nFgQUp6etGGS1u/oGGEfIwJ68Zf9pAWAwHwYDVR0jBBgwFoAUVamEidLBMr0Yy2ym\nB07I552+gpAwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBz\nOi8vc3NsLnRydXN0d2F2ZS5jb20vQ0EwNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDov\nL2NybC50cnVzdHdhdmUuY29tL1RXR1AzODRDQS5jcmwwcgYIKwYBBQUHAQEEZjBk\nMCYGCCsGAQUFBzABhhpodHRwOi8vb2NzcC50cnVzdHdhdmUuY29tLzA6BggrBgEF\nBQcwAoYuaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL2lzc3VlcnMvVFdHUDM4NENB\nLmNydDAKBggqhkjOPQQDAwNnADBkAjA6fS1jRjt+DvnWSI58v4lX+8DCXbdEhDaB\nbBOS/rXwS/ntsFXqTf0B90GPv3AWlFMCMBbz6nXMwX0jKRkaFZOZx9tvwUapdq7M\n6jYpT/NnAzH68x1t3/7ysZ8lPuKIqAwdKQ==\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-384 Extended Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A331594530006781829387E40DBCB6\n-----BEGIN CERTIFICATE-----\nMIID4zCCA2igAwIBAgITBs6C2aMxWUUwAGeBgpOH5A28tjAKBggqhkjOPQQDAzCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAzODQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIwWhcNMjgwMjI0MDUwMTIwWjCBnDFFMEMGA1UEAxM8\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTM4NCBFeHRlbmRlZCBWYWxpZGF0aW9u\nIENBLCBMZXZlbCAxMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4x\nEDAOBgNVBAcTB0NoaWNhZ28xETAPBgNVBAgTCElsbGlub2lzMQswCQYDVQQGEwJV\nUzB2MBAGByqGSM49AgEGBSuBBAAiA2IABKcVGieqBjW3BuVza9VhkBlpGLHLZqQg\nI0GXaTpt5CogNWz6BmlZ1yAPjRnDUVfVwl57ATRtV7u+5TPFzKZ+RheFVc0iA8vl\nQ2JINGRz8XLDaivvuygQtFKSzCWn4e66cKOCAXMwggFvMBIGA1UdEwEB/wQIMAYB\nAf8CAQAwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF\nBQcDATAdBgNVHQ4EFgQUMFfit09gayJACkNfT/oNzXO8JCcwHwYDVR0jBBgwFoAU\nVamEidLBMr0Yy2ymB07I552+gpAwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYB\nBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0d2F2ZS5jb20vQ0EwNwYDVR0fBDAwLjAs\noCqgKIYmaHR0cDovL2NybC50cnVzdHdhdmUuY29tL1RXR1AzODRDQS5jcmwwcgYI\nKwYBBQUHAQEEZjBkMCYGCCsGAQUFBzABhhpodHRwOi8vb2NzcC50cnVzdHdhdmUu\nY29tLzA6BggrBgEFBQcwAoYuaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL2lzc3Vl\ncnMvVFdHUDM4NENBLmNydDAKBggqhkjOPQQDAwNpADBmAjEA6pScrGT+SruK7iON\n7iDJZfhQsjfQIhaq9sHiEXd89B8ibWOb57no/K265dPxeuALAjEA27NTMZM344eT\nX3df9B22dY5ZshsUMIiRcMo1K4B/GBO8SIA0jParkHS5g4WO5K7O\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-384 Organization Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A9D8E29837EF90BEAF59DC6551BED6\n-----BEGIN CERTIFICATE-----\nMIID5jCCA2ygAwIBAgITBs6C2anY4pg375C+r1ncZVG+1jAKBggqhkjOPQQDAzCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAzODQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBoDFJMEcGA1UEAxNA\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTM4NCBPcmdhbml6YXRpb24gVmFsaWRh\ndGlvbiBDQSwgTGV2ZWwgMTEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJ\nbmMuMRAwDgYDVQQHEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UE\nBhMCVVMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATvG09PrsO8UQZhH5Zw54rwgcUw\nKjC9D2V3myjD5WOa8uxdTL8PzdwPk4TCcSf6UUG1Tt74j/I+vBOi2tgMcDt68Zld\nvTj+jZT1BBYTQtYh6/dOUjmiapQU5XqoFMRNubGjggFzMIIBbzASBgNVHRMBAf8E\nCDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAgYI\nKwYBBQUHAwEwHQYDVR0OBBYEFDoXwH5iO1eguEDKzDRHzZZ+/AmIMB8GA1UdIwQY\nMBaAFFWphInSwTK9GMtspgdOyOedvoKQMD0GA1UdIAQ2MDQwMgYEVR0gADAqMCgG\nCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUuY29tL0NBMDcGA1UdHwQw\nMC4wLKAqoCiGJmh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9UV0dQMzg0Q0EuY3Js\nMHIGCCsGAQUFBwEBBGYwZDAmBggrBgEFBQcwAYYaaHR0cDovL29jc3AudHJ1c3R3\nYXZlLmNvbS8wOgYIKwYBBQUHMAKGLmh0dHA6Ly9zc2wudHJ1c3R3YXZlLmNvbS9p\nc3N1ZXJzL1RXR1AzODRDQS5jcnQwCgYIKoZIzj0EAwMDaAAwZQIwMyHlVCVMacxP\nO0fC+uc4M7Eq1F9woaWBmLSSNC6EWe3nShMqsR9HrNWrOHBHucNWAjEArwrzEM8g\nJkR4iZxbyYNIn2sNEkNZt2pxqJn4G2cDDDFfOarykKVzP1aJ9OMdYUvs\n-----END CERTIFICATE-----\n\nTrustwave S/MIME SHA256 CA, Level 1\nXRamp Security Services Inc\n3A83B71EE02C3CCA1CE1A2643E9B66EA\n-----BEGIN CERTIFICATE-----\nMIIFHTCCBAWgAwIBAgIQOoO3HuAsPMoc4aJkPptm6jANBgkqhkiG9w0BAQsFADCB\ngjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk\nMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY\nUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQxMDAxMTky\nMjM4WhcNMjQwOTI4MTkyMjM4WjCBpDELMAkGA1UEBhMCVVMxETAPBgNVBAgTCEls\nbGlub2lzMRAwDgYDVQQHEwdDaGljYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9s\nZGluZ3MsIEluYy4xLDAqBgNVBAMTI1RydXN0d2F2ZSBTL01JTUUgU0hBMjU2IENB\nLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdhdmUuY29tMIIBIjAN\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4c5I5giD0wEh+RuoLIJkD7a6mBlm\n+YzTtXSefGejVVYtpjclkUl4C4hEfQMCUcrBnU3ORHVprXi/Q82dKNFPac8FI9bj\n8mtq0cjdSDfXJKfdf52wPXnTjASwKyhJt+CoJik+Fz72KAkjxi+OUSpWdQBeAQra\ndbtu4UGFTgPcuU/cwpF8J0g4CGk/saVKkkJNpq5wqpfQRYl025FyKbzmRjqhB/Ta\npoHlbHMQ7aeoZ+qtDC+eWnE3AqTUHx14Z5fegjLQRmPWqqdeZafthouglbEuHt4A\neyzefTDNwyXjUiRD/n0kaNNW+lcsLpw7ouw1OU8mwQ0C7LoPJljpXRjvOwIDAQAB\no4IBaTCCAWUwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUDDOjV6rjq9ZL\ncBs2nqPtYVDmr3QwDgYDVR0PAQH/BAQDAgGGMEgGA1UdIARBMD8wPQYPKwYBBAGB\n7RgDAwMFBAMDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0d2F2ZS5j\nb20vQ0EwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2NybC50cnVzdHdhdmUuY29t\nL1hHQ0EuY3JsMGwGCCsGAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZaHR0cDovL29j\nc3AudHJ1c3R3YXZlLmNvbTA1BggrBgEFBQcwAoYpaHR0cDovL3NzbC50cnVzdHdh\ndmUuY29tL2lzc3VlcnMvWEdDQS5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwQwHwYD\nVR0jBBgwFoAUxk+iPQZjhAmczmLkBKyNXLXpthswDQYJKoZIhvcNAQELBQADggEB\nAIdGLHufUegzFKVBQVWs3YAIFqCcJvdak14TMRImxJsnQWLz+jIW0olC0JATY6Ng\nxAbjIJA4wtW/tA+rgE6WcA5y3bLN3bRMQVDSu6X26hkVjvwo4/VYykOp3e9Cqlfe\ngJAsrqBQKXkUpEbYEmmorXxj6/74e//xwXTz0XS0BS9cXhONlTQffyJnMeLaunzQ\nS1x/MvALfPCHCZCTOfLDmwylKtHHu+V2Ks0HV+ZrzCBRR5W3MhGTU7PpNEMQwyGF\n+MG5eZTd0jyxOSOjaXQm7iDh0tG/iKZZegn5AhNdaHE74QEHTjK+teLQlo60QGBk\necyzakgVYZ/Ezalz8nQwhCA=\n-----END CERTIFICATE-----\n\nTrustwave XRamp Global Extended Validation CA, Level 1\nXRamp Security Services Inc\n00D3D519C2B2EB5C7040F64CBC957BBD2C\n-----BEGIN CERTIFICATE-----\nMIIFMDCCBBigAwIBAgIRANPVGcKy61xwQPZMvJV7vSwwDQYJKoZIhvcNAQELBQAw\ngYIxCzAJBgNVBAYTAlVTMR4wHAYDVQQLExV3d3cueHJhbXBzZWN1cml0eS5jb20x\nJDAiBgNVBAoTG1hSYW1wIFNlY3VyaXR5IFNlcnZpY2VzIEluYzEtMCsGA1UEAxMk\nWFJhbXAgR2xvYmFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTE1MDgxMjIw\nMTczMVoXDTI1MDgwOTIwMTczMVowgbcxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJ\nbGxpbm9pczEQMA4GA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhv\nbGRpbmdzLCBJbmMuMT8wPQYDVQQDEzZUcnVzdHdhdmUgWFJhbXAgR2xvYmFsIEV4\ndGVuZGVkIFZhbGlkYXRpb24gQ0EsIExldmVsIDExHzAdBgkqhkiG9w0BCQEWEGNh\nQHRydXN0d2F2ZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9\nAAbj9SknrNJT9pDatGvlR386KRi0SkqIOGr+C5W91+8E8PqydEHwjrnrWt/MTLGO\n+2kfEO3TEJlWxQQqbHy8SdhjCANefLzOT1cfTfjroWBIS9yiHpBIQytAaz/td95Y\n+JKrRBVCnIR/wB5qMMQ982RWwqggD763XLma0c1AIndsZL+dXp1zET4KBreoxn3q\nRYzMIsZIL2mAJoiCOTYuOGrOMVuaQn0HSu3K7bU+CpkdLQ/j+ikcQiI10IL9oOcO\nU9Gnt/hRyUX66Gk91RIpYXhla2tIYrg7ezrAnFoZIZCb891JjFtbSEOvAAK9F5d6\nfkkjPx0432o/v1c5GRFPAgMBAAGjggFoMIIBZDASBgNVHRMBAf8ECDAGAQH/AgEA\nMB0GA1UdDgQWBBTFzrk7QkXAzQnlaOhIOoNdbI6rGDAOBgNVHQ8BAf8EBAMCAYYw\nPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRy\ndXN0d2F2ZS5jb20vQ0EwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2NybC50cnVz\ndHdhdmUuY29tL1hHQ0EuY3JsMGwGCCsGAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZ\naHR0cDovL29jc3AudHJ1c3R3YXZlLmNvbTA1BggrBgEFBQcwAoYpaHR0cDovL3Nz\nbC50cnVzdHdhdmUuY29tL2lzc3VlcnMvWEdDQS5jcnQwHQYDVR0lBBYwFAYIKwYB\nBQUHAwIGCCsGAQUFBwMBMB8GA1UdIwQYMBaAFMZPoj0GY4QJnM5i5ASsjVy16bYb\nMA0GCSqGSIb3DQEBCwUAA4IBAQCA2N/WVTGYRGNTuvF2qKWPrQUx0/6pKmGqELl6\nNXs1bwRXCci98SkeNjiaa2dHEwcGR43/M1Y0nekXP8QCEFVqGOwaY0pnTb8wL+CI\n/HTp1zfmoCYNvtzt1fIq/+9ynLYEjX8rsrf51HIEjJJK8K3k/Ub3cFT+yJKNN2YN\nJS0IvJYlbpqS6VbcInwLcW7WvJmXUuL7t0Vtt0d2q1h5UdnJQP+skiOmN/B0zPut\nbRC4v5pNGJJmwbk58UlOSeviH2qzDGutamOJ6dFNWqQFoZorAT7fUsr3WDA4HKtx\neraYdCIRJX7weW9xpdMNsVO7Wy/Ma7Fz9fzKnOH5mnInBOof\n-----END CERTIFICATE-----\n\nSecure Global CA\nSecureTrust Corporation\n075622A4E8D48A894DF413C8F0F8EAA5\n-----BEGIN CERTIFICATE-----\nMIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx\nMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg\nQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ\niQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa\n/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ\njnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI\nHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7\nsFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w\ngZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF\nMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw\nKaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG\nAQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L\nURYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO\nH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm\nI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY\niNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc\nf8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW\n-----END CERTIFICATE-----\n\nSecureTrust CA\nSecureTrust Corporation\n0CF08E5C0816A5AD427FF0EB271859D0\n-----BEGIN CERTIFICATE-----\nMIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz\nMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv\ncnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN\nAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz\nZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO\n0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao\nwW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj\n7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS\n8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT\nBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB\n/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg\nJYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC\nNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3\n6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/\n3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm\nD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS\nCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR\n3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=\n-----END CERTIFICATE-----\n\nTrustwave Global Certification Authority\nTrustwave Holdings, Inc.\n05F70E86DA49F346352EBAB2\n-----BEGIN CERTIFICATE-----\nMIIF2jCCA8KgAwIBAgIMBfcOhtpJ80Y1LrqyMA0GCSqGSIb3DQEBCwUAMIGIMQsw\nCQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28x\nITAfBgNVBAoMGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1\nc3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMx\nOTM0MTJaFw00MjA4MjMxOTM0MTJaMIGIMQswCQYDVQQGEwJVUzERMA8GA1UECAwI\nSWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2ZSBI\nb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZp\nY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB\nALldUShLPDeS0YLOvR29zd24q88KPuFd5dyqCblXAj7mY2Hf8g+CY66j96xz0Xzn\nswuvCAAJWX/NKSqIk4cXGIDtiLK0thAfLdZfVaITXdHG6wZWiYj+rDKd/VzDBcdu\n7oaJuogDnXIhhpCujwOl3J+IKMujkkkP7NAP4m1ET4BqstTnoApTAbqOl5F2brz8\n1Ws25kCI1nsvXwXoLG0R8+eyvpJETNKXpP7ScoFDB5zpET71ixpZfR9oWN0EACyW\n80OzfpgZdNmcc9kYvkHHNHnZ9GLCQ7mzJ7Aiy/k9UscwR7PJPrhq4ufogXBeQotP\nJqX+OsIgbrv4Fo7NDKm0G2x2EOFYeUY+VM6AqFcJNykbmROPDMjWLBz7BegIlT1l\nRtzuzWniTY+HKE40Cz7PFNm73bZQmq131BnW2hqIyE4bJ3XYsgjxroMwuREOzYfw\nhI0Vcnyh78zyiGG69Gm7DIwLdVcEuE4qFC49DxweMqZiNu5m4iK4BUBjECLzMx10\ncoos9TkpoNPnG4CELcU9402x/RpvumUHO1jsQkUm+9jaJXLE9gCxInm943xZYkqc\nBW89zubWR2OZxiRvchLIrH+QtAuRcOi35hYQcRfO3gZPSEF9NUqjifLJS3tBEW1n\ntwiYTOURGa5CgNz7kAXU+FDKvuStx8KU1xad5hePrzb7AgMBAAGjQjBAMA8GA1Ud\nEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJngGWcNYtt2s9o9uFvo/ULSMQ6HMA4GA1Ud\nDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAmHNw4rDT7TnsTGDZqRKGFx6W\n0OhUKDtkLSGm+J1WE2pIPU/HPinbbViDVD2HfSMF1OQc3Og4ZYbFdada2zUFvXfe\nuyk3QAUHw5RSn8pk3fEbK9xGChACMf1KaA0HZJDmHvUqoai7PF35owgLEQzxPy0Q\nlG/+4jSHg9bP5Rs1bdID4bANqKCqRieCNqcVtgimQlRXtpla4gt5kNdXElE1GYhB\naCXUNxeEFfsBctyV3lImIJgm4nb1J2/6ADtKYdkNy1GTKv0WBpanI5ojSP5RvbbE\nsLFUzt5sQa0WZ37b/TjNuThOssFgy50X31ieemKyJo90lZvkWx3SD92YHJtZuSPT\nMaCm/zjdzyBP6VhWOmfD0faZmZ26NraAL4hHT4a/RDqA5Dccprrql5gR0IRiR2Qe\nqu5AvzSxnI9O4fKSTx+O856X3vOmeWqJcU9LJxdI/uz0UA9PSX3MReO9ekDFQdxh\nVicGaeVyQYHTtgGJoC86cnn+OjC/QezHYj6RS8fZMXZC+fc8Y+wmjHMMfRod6qh8\nh6jCJ3zhM0EPz8/8AKAigJ5Kp28AsEFFtyLKaEjFQqKu3R3y4G5OBVixwJAWKqQ9\nEEC+j2Jjg6mcgn0tAumDMHzLJ8n9HmYAsC7TIS+OMxZsmO0QqAfWzJPP29FpHOTK\nyeC2nOnOcXHebD8WpHk=\n-----END CERTIFICATE-----\n\nTrustwave Global ECC P256 Certification Authority\nTrustwave Holdings, Inc.\n0D6A5F083F285C3E5195DF5D\n-----BEGIN CERTIFICATE-----\nMIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYD\nVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf\nBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3\nYXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x\nNzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYDVQQGEwJVUzERMA8G\nA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0\nd2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF\nQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqG\nSM49AwEHA0IABH77bOYj43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoN\nFWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqmP62jQzBBMA8GA1UdEwEB/wQFMAMBAf8w\nDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt0UrrdaVKEJmzsaGLSvcw\nCgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjzRM4q3wgh\nDDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7\n-----END CERTIFICATE-----\n\nTrustwave Global ECC P384 Certification Authority\nTrustwave Holdings, Inc.\n08BD85976C9927A48068473B\n-----BEGIN CERTIFICATE-----\nMIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYD\nVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf\nBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3\nYXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x\nNzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYDVQQGEwJVUzERMA8G\nA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0\nd2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF\nQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuB\nBAAiA2IABGvaDXU1CDFHBa5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJ\nj9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr/TklZvFe/oyujUF5nQlgziip04pt89ZF\n1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G\nA1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNnADBkAjA3\nAZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsC\nMGclCrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVu\nSw==\n-----END CERTIFICATE-----\n";
|
|
14
14
|
|
|
15
15
|
var PKG_NAME = "@hpcc-js/comms";
|
|
16
|
-
var PKG_VERSION = "2.82.
|
|
17
|
-
var BUILD_VERSION = "2.104.
|
|
16
|
+
var PKG_VERSION = "2.82.3";
|
|
17
|
+
var BUILD_VERSION = "2.104.21";
|
|
18
18
|
|
|
19
19
|
/******************************************************************************
|
|
20
20
|
Copyright (c) Microsoft Corporation.
|
|
@@ -106,7 +106,7 @@ function __spreadArray(to, from, pack) {
|
|
|
106
106
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
var logger$
|
|
109
|
+
var logger$4 = scopedLogger("comms/connection.ts");
|
|
110
110
|
function instanceOfIOptions(object) {
|
|
111
111
|
return "baseUrl" in object;
|
|
112
112
|
}
|
|
@@ -208,12 +208,12 @@ function jsonp(opts, action, request, responseType, header) {
|
|
|
208
208
|
respondedTimeout -= respondedTick;
|
|
209
209
|
if (respondedTimeout <= 0) {
|
|
210
210
|
clearInterval(progress);
|
|
211
|
-
logger$
|
|
211
|
+
logger$4.error("Request timeout: " + script.src);
|
|
212
212
|
doCallback();
|
|
213
213
|
reject(Error("Request timeout: " + script.src));
|
|
214
214
|
}
|
|
215
215
|
else {
|
|
216
|
-
logger$
|
|
216
|
+
logger$4.debug("Request pending (" + respondedTimeout / 1000 + " sec): " + script.src);
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
219
|
}, respondedTick);
|
|
@@ -603,6 +603,15 @@ var FileSprayService = /** @class */ (function (_super) {
|
|
|
603
603
|
function FileSprayService() {
|
|
604
604
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
605
605
|
}
|
|
606
|
+
FileSprayService.prototype.SprayFixedEx = function (request) {
|
|
607
|
+
return this._connection.send("SprayFixed", request);
|
|
608
|
+
};
|
|
609
|
+
FileSprayService.prototype.SprayVariableEx = function (request) {
|
|
610
|
+
return this._connection.send("SprayVariable", request, "json", false, null, "SprayResponse");
|
|
611
|
+
};
|
|
612
|
+
FileSprayService.prototype.DesprayEx = function (request) {
|
|
613
|
+
return this._connection.send("Despray", request);
|
|
614
|
+
};
|
|
606
615
|
return FileSprayService;
|
|
607
616
|
}(FileSprayServiceBase));
|
|
608
617
|
|
|
@@ -1303,6 +1312,26 @@ var ElkService = /** @class */ (function (_super) {
|
|
|
1303
1312
|
|
|
1304
1313
|
var WsLogaccess;
|
|
1305
1314
|
(function (WsLogaccess) {
|
|
1315
|
+
(function (LogColumnType) {
|
|
1316
|
+
LogColumnType["global"] = "global";
|
|
1317
|
+
LogColumnType["workunits"] = "workunits";
|
|
1318
|
+
LogColumnType["components"] = "components";
|
|
1319
|
+
LogColumnType["audience"] = "audience";
|
|
1320
|
+
LogColumnType["class"] = "class";
|
|
1321
|
+
LogColumnType["instance"] = "instance";
|
|
1322
|
+
LogColumnType["node"] = "node";
|
|
1323
|
+
LogColumnType["message"] = "message";
|
|
1324
|
+
LogColumnType["logid"] = "logid";
|
|
1325
|
+
LogColumnType["processid"] = "processid";
|
|
1326
|
+
LogColumnType["threadid"] = "threadid";
|
|
1327
|
+
LogColumnType["timestamp"] = "timestamp";
|
|
1328
|
+
})(WsLogaccess.LogColumnType || (WsLogaccess.LogColumnType = {}));
|
|
1329
|
+
(function (LogColumnValueType) {
|
|
1330
|
+
LogColumnValueType["string"] = "string";
|
|
1331
|
+
LogColumnValueType["numeric"] = "numeric";
|
|
1332
|
+
LogColumnValueType["datetime"] = "datetime";
|
|
1333
|
+
LogColumnValueType["enum"] = "enum";
|
|
1334
|
+
})(WsLogaccess.LogColumnValueType || (WsLogaccess.LogColumnValueType = {}));
|
|
1306
1335
|
(function (LogAccessType) {
|
|
1307
1336
|
LogAccessType[LogAccessType["All"] = 0] = "All";
|
|
1308
1337
|
LogAccessType[LogAccessType["ByJobID"] = 1] = "ByJobID";
|
|
@@ -1342,7 +1371,7 @@ var WsLogaccess;
|
|
|
1342
1371
|
var LogaccessServiceBase = /** @class */ (function (_super) {
|
|
1343
1372
|
__extends(LogaccessServiceBase, _super);
|
|
1344
1373
|
function LogaccessServiceBase(optsConnection) {
|
|
1345
|
-
return _super.call(this, optsConnection, "ws_logaccess", "1.
|
|
1374
|
+
return _super.call(this, optsConnection, "ws_logaccess", "1.04") || this;
|
|
1346
1375
|
}
|
|
1347
1376
|
LogaccessServiceBase.prototype.GetLogAccessInfo = function (request) {
|
|
1348
1377
|
return this._connection.send("GetLogAccessInfo", request, "json", false, undefined, "GetLogAccessInfoResponse");
|
|
@@ -1356,7 +1385,7 @@ var LogaccessServiceBase = /** @class */ (function (_super) {
|
|
|
1356
1385
|
return LogaccessServiceBase;
|
|
1357
1386
|
}(Service));
|
|
1358
1387
|
|
|
1359
|
-
var logger$
|
|
1388
|
+
var logger$3 = scopedLogger("@hpcc-js/comms/services/wsLogaccess.ts");
|
|
1360
1389
|
var ElasticKnownColumns;
|
|
1361
1390
|
(function (ElasticKnownColumns) {
|
|
1362
1391
|
ElasticKnownColumns["audience"] = "hpcc.log.audience";
|
|
@@ -1425,87 +1454,157 @@ var LogaccessService = /** @class */ (function (_super) {
|
|
|
1425
1454
|
return _super.prototype.GetLogs.call(this, request);
|
|
1426
1455
|
};
|
|
1427
1456
|
LogaccessService.prototype.GetLogsEx = function (request) {
|
|
1428
|
-
var _a, _b;
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1457
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
1458
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
1459
|
+
var logInfo, getLogsRequest, filters, _loop_1, key, binaryLogFilter_1;
|
|
1460
|
+
return __generator(this, function (_l) {
|
|
1461
|
+
switch (_l.label) {
|
|
1462
|
+
case 0: return [4 /*yield*/, this.GetLogAccessInfo()];
|
|
1463
|
+
case 1:
|
|
1464
|
+
logInfo = _l.sent();
|
|
1465
|
+
getLogsRequest = {
|
|
1466
|
+
Filter: {
|
|
1467
|
+
leftBinaryFilter: {
|
|
1468
|
+
BinaryLogFilter: [{
|
|
1469
|
+
leftFilter: {
|
|
1470
|
+
LogCategory: WsLogaccess.LogAccessType.All,
|
|
1471
|
+
},
|
|
1472
|
+
}]
|
|
1473
|
+
}
|
|
1435
1474
|
},
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1475
|
+
Range: {
|
|
1476
|
+
StartDate: new Date(0).toISOString(),
|
|
1477
|
+
},
|
|
1478
|
+
LogLineStartFrom: (_a = request.LogLineStartFrom) !== null && _a !== void 0 ? _a : 0,
|
|
1479
|
+
LogLineLimit: (_b = request.LogLineLimit) !== null && _b !== void 0 ? _b : 100,
|
|
1480
|
+
SelectColumnMode: WsLogaccess.LogSelectColumnMode.DEFAULT,
|
|
1481
|
+
Format: "JSON"
|
|
1482
|
+
};
|
|
1483
|
+
filters = [];
|
|
1484
|
+
_loop_1 = function (key) {
|
|
1485
|
+
var searchField;
|
|
1486
|
+
switch (logInfo.RemoteLogManagerType) {
|
|
1487
|
+
case "azureloganalyticscurl":
|
|
1488
|
+
if (key in AzureKnownColumns) {
|
|
1489
|
+
searchField = AzureKnownColumns[key];
|
|
1490
|
+
}
|
|
1491
|
+
break;
|
|
1492
|
+
case "elasticstack":
|
|
1493
|
+
if (key in ElasticKnownColumns) {
|
|
1494
|
+
searchField = ElasticKnownColumns[key];
|
|
1495
|
+
}
|
|
1496
|
+
break;
|
|
1497
|
+
}
|
|
1498
|
+
if (searchField) {
|
|
1499
|
+
if (Array.isArray(request[key])) {
|
|
1500
|
+
request[key].forEach(function (value) {
|
|
1501
|
+
filters.push({
|
|
1502
|
+
LogCategory: WsLogaccess.LogAccessType.ByFieldName,
|
|
1503
|
+
SearchField: searchField,
|
|
1504
|
+
SearchByValue: value
|
|
1505
|
+
});
|
|
1506
|
+
});
|
|
1507
|
+
}
|
|
1508
|
+
else {
|
|
1509
|
+
filters.push({
|
|
1510
|
+
LogCategory: WsLogaccess.LogAccessType.ByFieldName,
|
|
1511
|
+
SearchField: searchField,
|
|
1512
|
+
SearchByValue: request[key]
|
|
1513
|
+
});
|
|
1514
|
+
}
|
|
1515
|
+
}
|
|
1516
|
+
};
|
|
1517
|
+
for (key in request) {
|
|
1518
|
+
_loop_1(key);
|
|
1519
|
+
}
|
|
1520
|
+
if (filters.length > 2) {
|
|
1521
|
+
binaryLogFilter_1 = getLogsRequest.Filter.leftBinaryFilter.BinaryLogFilter[0];
|
|
1522
|
+
filters.forEach(function (filter, i) {
|
|
1523
|
+
var operator = WsLogaccess.LogAccessFilterOperator.AND;
|
|
1524
|
+
if (i > 0) {
|
|
1525
|
+
if (filters[i - 1].SearchField === filter.SearchField) {
|
|
1526
|
+
operator = WsLogaccess.LogAccessFilterOperator.OR;
|
|
1527
|
+
}
|
|
1528
|
+
if (i === filters.length - 1) {
|
|
1529
|
+
binaryLogFilter_1.Operator = operator;
|
|
1530
|
+
binaryLogFilter_1.rightFilter = filter;
|
|
1531
|
+
}
|
|
1532
|
+
else {
|
|
1533
|
+
binaryLogFilter_1.Operator = operator;
|
|
1534
|
+
binaryLogFilter_1.rightBinaryFilter = {
|
|
1535
|
+
BinaryLogFilter: [{
|
|
1536
|
+
leftFilter: filter
|
|
1537
|
+
}]
|
|
1538
|
+
};
|
|
1539
|
+
binaryLogFilter_1 = binaryLogFilter_1.rightBinaryFilter.BinaryLogFilter[0];
|
|
1540
|
+
}
|
|
1541
|
+
}
|
|
1542
|
+
else {
|
|
1543
|
+
binaryLogFilter_1.leftFilter = filter;
|
|
1544
|
+
}
|
|
1545
|
+
});
|
|
1546
|
+
}
|
|
1547
|
+
else {
|
|
1548
|
+
delete getLogsRequest.Filter.leftBinaryFilter;
|
|
1549
|
+
getLogsRequest.Filter.leftFilter = {
|
|
1550
|
+
LogCategory: WsLogaccess.LogAccessType.All
|
|
1551
|
+
};
|
|
1552
|
+
if ((_c = filters[0]) === null || _c === void 0 ? void 0 : _c.SearchField) {
|
|
1553
|
+
getLogsRequest.Filter.leftFilter = {
|
|
1554
|
+
LogCategory: (_d = filters[0]) === null || _d === void 0 ? void 0 : _d.LogCategory,
|
|
1555
|
+
SearchField: (_e = filters[0]) === null || _e === void 0 ? void 0 : _e.SearchField,
|
|
1556
|
+
SearchByValue: (_f = filters[0]) === null || _f === void 0 ? void 0 : _f.SearchByValue
|
|
1557
|
+
};
|
|
1558
|
+
}
|
|
1559
|
+
if ((_g = filters[1]) === null || _g === void 0 ? void 0 : _g.SearchField) {
|
|
1560
|
+
getLogsRequest.Filter.Operator = WsLogaccess.LogAccessFilterOperator.AND;
|
|
1561
|
+
if (filters[0].SearchField === filters[1].SearchField) {
|
|
1562
|
+
getLogsRequest.Filter.Operator = WsLogaccess.LogAccessFilterOperator.OR;
|
|
1563
|
+
}
|
|
1564
|
+
getLogsRequest.Filter.rightFilter = {
|
|
1565
|
+
LogCategory: (_h = filters[0]) === null || _h === void 0 ? void 0 : _h.LogCategory,
|
|
1566
|
+
SearchField: (_j = filters[1]) === null || _j === void 0 ? void 0 : _j.SearchField,
|
|
1567
|
+
SearchByValue: (_k = filters[1]) === null || _k === void 0 ? void 0 : _k.SearchByValue
|
|
1568
|
+
};
|
|
1569
|
+
}
|
|
1570
|
+
}
|
|
1571
|
+
if (request.StartDate) {
|
|
1572
|
+
getLogsRequest.Range.StartDate = request.StartDate.toISOString();
|
|
1573
|
+
}
|
|
1574
|
+
if (request.EndDate) {
|
|
1575
|
+
getLogsRequest.Range.EndDate = request.EndDate.toISOString();
|
|
1576
|
+
}
|
|
1577
|
+
return [2 /*return*/, this.GetLogs(getLogsRequest).then(function (response) {
|
|
1578
|
+
var _a, _b, _c, _d, _e;
|
|
1579
|
+
try {
|
|
1580
|
+
var logLines = JSON.parse(response.LogLines);
|
|
1581
|
+
var lines = [];
|
|
1582
|
+
switch (logInfo.RemoteLogManagerType) {
|
|
1583
|
+
case "azureloganalyticscurl":
|
|
1584
|
+
lines = (_b = (_a = logLines.lines) === null || _a === void 0 ? void 0 : _a.map(azureToLogLine)) !== null && _b !== void 0 ? _b : [];
|
|
1585
|
+
break;
|
|
1586
|
+
case "elasticstack":
|
|
1587
|
+
lines = (_d = (_c = logLines.lines) === null || _c === void 0 ? void 0 : _c.map(elasticToLogLine)) !== null && _d !== void 0 ? _d : [];
|
|
1588
|
+
break;
|
|
1589
|
+
default:
|
|
1590
|
+
logger$3.warning("Unknown RemoteLogManagerType: ".concat(logInfo.RemoteLogManagerType));
|
|
1591
|
+
lines = [];
|
|
1592
|
+
}
|
|
1593
|
+
return {
|
|
1594
|
+
lines: lines,
|
|
1595
|
+
total: (_e = response.TotalLogLinesAvailable) !== null && _e !== void 0 ? _e : 10000
|
|
1596
|
+
};
|
|
1597
|
+
}
|
|
1598
|
+
catch (e) {
|
|
1599
|
+
logger$3.error(e);
|
|
1600
|
+
}
|
|
1601
|
+
return {
|
|
1602
|
+
lines: [],
|
|
1603
|
+
total: 0
|
|
1604
|
+
};
|
|
1605
|
+
})];
|
|
1496
1606
|
}
|
|
1497
|
-
|
|
1498
|
-
lines: lines,
|
|
1499
|
-
total: response.TotalLogLinesAvailable || 10000
|
|
1500
|
-
};
|
|
1501
|
-
}
|
|
1502
|
-
catch (e) {
|
|
1503
|
-
logger$2.error(e);
|
|
1504
|
-
}
|
|
1505
|
-
return {
|
|
1506
|
-
lines: [],
|
|
1507
|
-
total: 0
|
|
1508
|
-
};
|
|
1607
|
+
});
|
|
1509
1608
|
});
|
|
1510
1609
|
};
|
|
1511
1610
|
return LogaccessService;
|
|
@@ -4563,7 +4662,7 @@ var Timer = /** @class */ (function (_super) {
|
|
|
4563
4662
|
|
|
4564
4663
|
var formatter = utcFormat("%Y-%m-%dT%H:%M:%S.%LZ");
|
|
4565
4664
|
var parser = utcParse("%Y-%m-%dT%H:%M:%S.%LZ");
|
|
4566
|
-
var logger$
|
|
4665
|
+
var logger$2 = scopedLogger("workunit.ts");
|
|
4567
4666
|
var WUStateID = WUStateID$1;
|
|
4568
4667
|
var WorkunitCache = /** @class */ (function (_super) {
|
|
4569
4668
|
__extends(WorkunitCache, _super);
|
|
@@ -4574,7 +4673,7 @@ var WorkunitCache = /** @class */ (function (_super) {
|
|
|
4574
4673
|
}
|
|
4575
4674
|
return WorkunitCache;
|
|
4576
4675
|
}(Cache));
|
|
4577
|
-
var _workunits = new WorkunitCache();
|
|
4676
|
+
var _workunits$1 = new WorkunitCache();
|
|
4578
4677
|
var Workunit = /** @class */ (function (_super) {
|
|
4579
4678
|
__extends(Workunit, _super);
|
|
4580
4679
|
// --- --- ---
|
|
@@ -5056,13 +5155,13 @@ var Workunit = /** @class */ (function (_super) {
|
|
|
5056
5155
|
Workunit.create = function (optsConnection) {
|
|
5057
5156
|
var retVal = new Workunit(optsConnection);
|
|
5058
5157
|
return retVal.connection.WUCreate().then(function (response) {
|
|
5059
|
-
_workunits.set(retVal);
|
|
5158
|
+
_workunits$1.set(retVal);
|
|
5060
5159
|
retVal.set(response.Workunit);
|
|
5061
5160
|
return retVal;
|
|
5062
5161
|
});
|
|
5063
5162
|
};
|
|
5064
5163
|
Workunit.attach = function (optsConnection, wuid, state) {
|
|
5065
|
-
var retVal = _workunits.get({ BaseUrl: optsConnection.baseUrl, Wuid: wuid }, function () {
|
|
5164
|
+
var retVal = _workunits$1.get({ BaseUrl: optsConnection.baseUrl, Wuid: wuid }, function () {
|
|
5066
5165
|
return new Workunit(optsConnection, wuid);
|
|
5067
5166
|
});
|
|
5068
5167
|
if (state) {
|
|
@@ -5071,7 +5170,7 @@ var Workunit = /** @class */ (function (_super) {
|
|
|
5071
5170
|
return retVal;
|
|
5072
5171
|
};
|
|
5073
5172
|
Workunit.existsLocal = function (baseUrl, wuid) {
|
|
5074
|
-
return _workunits.has({ BaseUrl: baseUrl, Wuid: wuid });
|
|
5173
|
+
return _workunits$1.has({ BaseUrl: baseUrl, Wuid: wuid });
|
|
5075
5174
|
};
|
|
5076
5175
|
Workunit.submit = function (server, target, ecl, compileOnly) {
|
|
5077
5176
|
if (compileOnly === void 0) { compileOnly = false; }
|
|
@@ -5590,8 +5689,8 @@ var Workunit = /** @class */ (function (_super) {
|
|
|
5590
5689
|
}
|
|
5591
5690
|
_super.prototype._monitor.call(this);
|
|
5592
5691
|
};
|
|
5593
|
-
Workunit.prototype.
|
|
5594
|
-
var retVal = _super.prototype.
|
|
5692
|
+
Workunit.prototype._monitorTimeoutDuration = function () {
|
|
5693
|
+
var retVal = _super.prototype._monitorTimeoutDuration.call(this);
|
|
5595
5694
|
if (this._monitorTickCount <= 1) { // Once
|
|
5596
5695
|
return 1000;
|
|
5597
5696
|
}
|
|
@@ -5679,7 +5778,7 @@ var Workunit = /** @class */ (function (_super) {
|
|
|
5679
5778
|
return false;
|
|
5680
5779
|
});
|
|
5681
5780
|
if (!wuMissing) {
|
|
5682
|
-
logger$
|
|
5781
|
+
logger$2.warning("Unexpected exception: ");
|
|
5683
5782
|
throw e;
|
|
5684
5783
|
}
|
|
5685
5784
|
return {};
|
|
@@ -5689,7 +5788,7 @@ var Workunit = /** @class */ (function (_super) {
|
|
|
5689
5788
|
var _this = this;
|
|
5690
5789
|
return this.connection.WUCreate().then(function (response) {
|
|
5691
5790
|
_this.set(response.Workunit);
|
|
5692
|
-
_workunits.set(_this);
|
|
5791
|
+
_workunits$1.set(_this);
|
|
5693
5792
|
return response;
|
|
5694
5793
|
});
|
|
5695
5794
|
};
|
|
@@ -5716,7 +5815,7 @@ var Workunit = /** @class */ (function (_super) {
|
|
|
5716
5815
|
return false;
|
|
5717
5816
|
});
|
|
5718
5817
|
if (!wuMissing) {
|
|
5719
|
-
logger$
|
|
5818
|
+
logger$2.warning("Unexpected exception: ");
|
|
5720
5819
|
throw e;
|
|
5721
5820
|
}
|
|
5722
5821
|
return {};
|
|
@@ -5805,7 +5904,7 @@ var Workunit = /** @class */ (function (_super) {
|
|
|
5805
5904
|
}
|
|
5806
5905
|
return new XMLNode(command);
|
|
5807
5906
|
}).catch(function (_) {
|
|
5808
|
-
logger$
|
|
5907
|
+
logger$2.error(_);
|
|
5809
5908
|
return Promise.resolve(new XMLNode(command));
|
|
5810
5909
|
});
|
|
5811
5910
|
};
|
|
@@ -6786,6 +6885,27 @@ var Query = /** @class */ (function (_super) {
|
|
|
6786
6885
|
});
|
|
6787
6886
|
return retVal;
|
|
6788
6887
|
};
|
|
6888
|
+
Query.prototype.fetchDetails = function () {
|
|
6889
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
6890
|
+
var queryDetails;
|
|
6891
|
+
return __generator(this, function (_a) {
|
|
6892
|
+
switch (_a.label) {
|
|
6893
|
+
case 0: return [4 /*yield*/, this._wsWorkunits.WUQueryDetails({
|
|
6894
|
+
QuerySet: this.QuerySet,
|
|
6895
|
+
QueryId: this.QueryId,
|
|
6896
|
+
IncludeStateOnClusters: false,
|
|
6897
|
+
IncludeSuperFiles: false,
|
|
6898
|
+
IncludeWsEclAddresses: false,
|
|
6899
|
+
CheckAllNodes: false
|
|
6900
|
+
})];
|
|
6901
|
+
case 1:
|
|
6902
|
+
queryDetails = _a.sent();
|
|
6903
|
+
this.set(__assign({}, queryDetails));
|
|
6904
|
+
return [2 /*return*/];
|
|
6905
|
+
}
|
|
6906
|
+
});
|
|
6907
|
+
});
|
|
6908
|
+
};
|
|
6789
6909
|
Query.prototype.fetchRequestSchema = function () {
|
|
6790
6910
|
return __awaiter(this, void 0, void 0, function () {
|
|
6791
6911
|
var _a;
|
|
@@ -6841,9 +6961,16 @@ var Query = /** @class */ (function (_super) {
|
|
|
6841
6961
|
};
|
|
6842
6962
|
Query.prototype.refresh = function () {
|
|
6843
6963
|
return __awaiter(this, void 0, void 0, function () {
|
|
6844
|
-
var _this = this;
|
|
6845
6964
|
return __generator(this, function (_a) {
|
|
6846
|
-
|
|
6965
|
+
switch (_a.label) {
|
|
6966
|
+
case 0: return [4 /*yield*/, Promise.all([
|
|
6967
|
+
this.fetchDetails(),
|
|
6968
|
+
this.fetchSchema()
|
|
6969
|
+
])];
|
|
6970
|
+
case 1:
|
|
6971
|
+
_a.sent();
|
|
6972
|
+
return [2 /*return*/, this];
|
|
6973
|
+
}
|
|
6847
6974
|
});
|
|
6848
6975
|
});
|
|
6849
6976
|
};
|
|
@@ -7367,6 +7494,523 @@ var Topology = /** @class */ (function (_super) {
|
|
|
7367
7494
|
return Topology;
|
|
7368
7495
|
}(StateObject));
|
|
7369
7496
|
|
|
7497
|
+
var logger$1 = scopedLogger("@hpcc-js/comms/dfuWorkunit.ts");
|
|
7498
|
+
var States;
|
|
7499
|
+
(function (States) {
|
|
7500
|
+
States[States["Unknown"] = 0] = "Unknown";
|
|
7501
|
+
States[States["Scheduled"] = 1] = "Scheduled";
|
|
7502
|
+
States[States["Queued"] = 2] = "Queued";
|
|
7503
|
+
States[States["Started"] = 3] = "Started";
|
|
7504
|
+
States[States["Aborted"] = 4] = "Aborted";
|
|
7505
|
+
States[States["Failed"] = 5] = "Failed";
|
|
7506
|
+
States[States["Finished"] = 6] = "Finished";
|
|
7507
|
+
States[States["Monitoring"] = 7] = "Monitoring";
|
|
7508
|
+
States[States["Aborting"] = 8] = "Aborting";
|
|
7509
|
+
States[States["NotFound"] = 999] = "NotFound";
|
|
7510
|
+
})(States || (States = {}));
|
|
7511
|
+
var DFUWorkunitCache = /** @class */ (function (_super) {
|
|
7512
|
+
__extends(DFUWorkunitCache, _super);
|
|
7513
|
+
function DFUWorkunitCache() {
|
|
7514
|
+
return _super.call(this, function (obj) {
|
|
7515
|
+
return "".concat(obj.BaseUrl, "-").concat(obj.ID);
|
|
7516
|
+
}) || this;
|
|
7517
|
+
}
|
|
7518
|
+
return DFUWorkunitCache;
|
|
7519
|
+
}(Cache));
|
|
7520
|
+
var _workunits = new DFUWorkunitCache();
|
|
7521
|
+
var DFUWorkunit = /** @class */ (function (_super) {
|
|
7522
|
+
__extends(DFUWorkunit, _super);
|
|
7523
|
+
// --- --- ---
|
|
7524
|
+
function DFUWorkunit(optsConnection, wuid) {
|
|
7525
|
+
var _this = _super.call(this) || this;
|
|
7526
|
+
_this.connection = new FileSprayService(optsConnection);
|
|
7527
|
+
_this.topologyConnection = new TopologyService(optsConnection);
|
|
7528
|
+
_this.clearState(wuid);
|
|
7529
|
+
return _this;
|
|
7530
|
+
}
|
|
7531
|
+
Object.defineProperty(DFUWorkunit.prototype, "BaseUrl", {
|
|
7532
|
+
get: function () { return this.connection.baseUrl; },
|
|
7533
|
+
enumerable: false,
|
|
7534
|
+
configurable: true
|
|
7535
|
+
});
|
|
7536
|
+
Object.defineProperty(DFUWorkunit.prototype, "properties", {
|
|
7537
|
+
// Accessors ---
|
|
7538
|
+
get: function () { return this.get(); },
|
|
7539
|
+
enumerable: false,
|
|
7540
|
+
configurable: true
|
|
7541
|
+
});
|
|
7542
|
+
Object.defineProperty(DFUWorkunit.prototype, "ID", {
|
|
7543
|
+
get: function () { return this.get("ID"); },
|
|
7544
|
+
enumerable: false,
|
|
7545
|
+
configurable: true
|
|
7546
|
+
});
|
|
7547
|
+
Object.defineProperty(DFUWorkunit.prototype, "DFUServerName", {
|
|
7548
|
+
get: function () { return this.get("DFUServerName"); },
|
|
7549
|
+
enumerable: false,
|
|
7550
|
+
configurable: true
|
|
7551
|
+
});
|
|
7552
|
+
Object.defineProperty(DFUWorkunit.prototype, "ClusterName", {
|
|
7553
|
+
get: function () { return this.get("ClusterName"); },
|
|
7554
|
+
enumerable: false,
|
|
7555
|
+
configurable: true
|
|
7556
|
+
});
|
|
7557
|
+
Object.defineProperty(DFUWorkunit.prototype, "JobName", {
|
|
7558
|
+
get: function () { return this.get("JobName"); },
|
|
7559
|
+
enumerable: false,
|
|
7560
|
+
configurable: true
|
|
7561
|
+
});
|
|
7562
|
+
Object.defineProperty(DFUWorkunit.prototype, "Queue", {
|
|
7563
|
+
get: function () { return this.get("Queue"); },
|
|
7564
|
+
enumerable: false,
|
|
7565
|
+
configurable: true
|
|
7566
|
+
});
|
|
7567
|
+
Object.defineProperty(DFUWorkunit.prototype, "User", {
|
|
7568
|
+
get: function () { return this.get("User"); },
|
|
7569
|
+
enumerable: false,
|
|
7570
|
+
configurable: true
|
|
7571
|
+
});
|
|
7572
|
+
Object.defineProperty(DFUWorkunit.prototype, "isProtected", {
|
|
7573
|
+
get: function () { return this.get("isProtected"); },
|
|
7574
|
+
enumerable: false,
|
|
7575
|
+
configurable: true
|
|
7576
|
+
});
|
|
7577
|
+
Object.defineProperty(DFUWorkunit.prototype, "Command", {
|
|
7578
|
+
get: function () { return this.get("Command"); },
|
|
7579
|
+
enumerable: false,
|
|
7580
|
+
configurable: true
|
|
7581
|
+
});
|
|
7582
|
+
Object.defineProperty(DFUWorkunit.prototype, "CommandMessage", {
|
|
7583
|
+
get: function () { return this.get("CommandMessage"); },
|
|
7584
|
+
enumerable: false,
|
|
7585
|
+
configurable: true
|
|
7586
|
+
});
|
|
7587
|
+
Object.defineProperty(DFUWorkunit.prototype, "PercentDone", {
|
|
7588
|
+
get: function () { return this.get("PercentDone"); },
|
|
7589
|
+
enumerable: false,
|
|
7590
|
+
configurable: true
|
|
7591
|
+
});
|
|
7592
|
+
Object.defineProperty(DFUWorkunit.prototype, "SecsLeft", {
|
|
7593
|
+
get: function () { return this.get("SecsLeft"); },
|
|
7594
|
+
enumerable: false,
|
|
7595
|
+
configurable: true
|
|
7596
|
+
});
|
|
7597
|
+
Object.defineProperty(DFUWorkunit.prototype, "ProgressMessage", {
|
|
7598
|
+
get: function () { return this.get("ProgressMessage"); },
|
|
7599
|
+
enumerable: false,
|
|
7600
|
+
configurable: true
|
|
7601
|
+
});
|
|
7602
|
+
Object.defineProperty(DFUWorkunit.prototype, "SummaryMessage", {
|
|
7603
|
+
get: function () { return this.get("SummaryMessage"); },
|
|
7604
|
+
enumerable: false,
|
|
7605
|
+
configurable: true
|
|
7606
|
+
});
|
|
7607
|
+
Object.defineProperty(DFUWorkunit.prototype, "State", {
|
|
7608
|
+
get: function () { return this.get("State", States.Unknown); },
|
|
7609
|
+
enumerable: false,
|
|
7610
|
+
configurable: true
|
|
7611
|
+
});
|
|
7612
|
+
Object.defineProperty(DFUWorkunit.prototype, "SourceLogicalName", {
|
|
7613
|
+
get: function () { return this.get("SourceLogicalName"); },
|
|
7614
|
+
enumerable: false,
|
|
7615
|
+
configurable: true
|
|
7616
|
+
});
|
|
7617
|
+
Object.defineProperty(DFUWorkunit.prototype, "SourceIP", {
|
|
7618
|
+
get: function () { return this.get("SourceIP"); },
|
|
7619
|
+
enumerable: false,
|
|
7620
|
+
configurable: true
|
|
7621
|
+
});
|
|
7622
|
+
Object.defineProperty(DFUWorkunit.prototype, "SourceFilePath", {
|
|
7623
|
+
get: function () { return this.get("SourceFilePath"); },
|
|
7624
|
+
enumerable: false,
|
|
7625
|
+
configurable: true
|
|
7626
|
+
});
|
|
7627
|
+
Object.defineProperty(DFUWorkunit.prototype, "SourceDali", {
|
|
7628
|
+
get: function () { return this.get("SourceDali"); },
|
|
7629
|
+
enumerable: false,
|
|
7630
|
+
configurable: true
|
|
7631
|
+
});
|
|
7632
|
+
Object.defineProperty(DFUWorkunit.prototype, "SourceRecordSize", {
|
|
7633
|
+
get: function () { return this.get("SourceRecordSize"); },
|
|
7634
|
+
enumerable: false,
|
|
7635
|
+
configurable: true
|
|
7636
|
+
});
|
|
7637
|
+
Object.defineProperty(DFUWorkunit.prototype, "SourceFormat", {
|
|
7638
|
+
get: function () { return this.get("SourceFormat"); },
|
|
7639
|
+
enumerable: false,
|
|
7640
|
+
configurable: true
|
|
7641
|
+
});
|
|
7642
|
+
Object.defineProperty(DFUWorkunit.prototype, "RowTag", {
|
|
7643
|
+
get: function () { return this.get("RowTag"); },
|
|
7644
|
+
enumerable: false,
|
|
7645
|
+
configurable: true
|
|
7646
|
+
});
|
|
7647
|
+
Object.defineProperty(DFUWorkunit.prototype, "SourceNumParts", {
|
|
7648
|
+
get: function () { return this.get("SourceNumParts"); },
|
|
7649
|
+
enumerable: false,
|
|
7650
|
+
configurable: true
|
|
7651
|
+
});
|
|
7652
|
+
Object.defineProperty(DFUWorkunit.prototype, "SourceDirectory", {
|
|
7653
|
+
get: function () { return this.get("SourceDirectory"); },
|
|
7654
|
+
enumerable: false,
|
|
7655
|
+
configurable: true
|
|
7656
|
+
});
|
|
7657
|
+
Object.defineProperty(DFUWorkunit.prototype, "DestLogicalName", {
|
|
7658
|
+
get: function () { return this.get("DestLogicalName"); },
|
|
7659
|
+
enumerable: false,
|
|
7660
|
+
configurable: true
|
|
7661
|
+
});
|
|
7662
|
+
Object.defineProperty(DFUWorkunit.prototype, "DestGroupName", {
|
|
7663
|
+
get: function () { return this.get("DestGroupName"); },
|
|
7664
|
+
enumerable: false,
|
|
7665
|
+
configurable: true
|
|
7666
|
+
});
|
|
7667
|
+
Object.defineProperty(DFUWorkunit.prototype, "DestDirectory", {
|
|
7668
|
+
get: function () { return this.get("DestDirectory"); },
|
|
7669
|
+
enumerable: false,
|
|
7670
|
+
configurable: true
|
|
7671
|
+
});
|
|
7672
|
+
Object.defineProperty(DFUWorkunit.prototype, "DestIP", {
|
|
7673
|
+
get: function () { return this.get("DestIP"); },
|
|
7674
|
+
enumerable: false,
|
|
7675
|
+
configurable: true
|
|
7676
|
+
});
|
|
7677
|
+
Object.defineProperty(DFUWorkunit.prototype, "DestFilePath", {
|
|
7678
|
+
get: function () { return this.get("DestFilePath"); },
|
|
7679
|
+
enumerable: false,
|
|
7680
|
+
configurable: true
|
|
7681
|
+
});
|
|
7682
|
+
Object.defineProperty(DFUWorkunit.prototype, "DestFormat", {
|
|
7683
|
+
get: function () { return this.get("DestFormat"); },
|
|
7684
|
+
enumerable: false,
|
|
7685
|
+
configurable: true
|
|
7686
|
+
});
|
|
7687
|
+
Object.defineProperty(DFUWorkunit.prototype, "DestNumParts", {
|
|
7688
|
+
get: function () { return this.get("DestNumParts"); },
|
|
7689
|
+
enumerable: false,
|
|
7690
|
+
configurable: true
|
|
7691
|
+
});
|
|
7692
|
+
Object.defineProperty(DFUWorkunit.prototype, "DestRecordSize", {
|
|
7693
|
+
get: function () { return this.get("DestRecordSize"); },
|
|
7694
|
+
enumerable: false,
|
|
7695
|
+
configurable: true
|
|
7696
|
+
});
|
|
7697
|
+
Object.defineProperty(DFUWorkunit.prototype, "Replicate", {
|
|
7698
|
+
get: function () { return this.get("Replicate"); },
|
|
7699
|
+
enumerable: false,
|
|
7700
|
+
configurable: true
|
|
7701
|
+
});
|
|
7702
|
+
Object.defineProperty(DFUWorkunit.prototype, "Overwrite", {
|
|
7703
|
+
get: function () { return this.get("Overwrite"); },
|
|
7704
|
+
enumerable: false,
|
|
7705
|
+
configurable: true
|
|
7706
|
+
});
|
|
7707
|
+
Object.defineProperty(DFUWorkunit.prototype, "Compress", {
|
|
7708
|
+
get: function () { return this.get("Compress"); },
|
|
7709
|
+
enumerable: false,
|
|
7710
|
+
configurable: true
|
|
7711
|
+
});
|
|
7712
|
+
Object.defineProperty(DFUWorkunit.prototype, "SourceCsvSeparate", {
|
|
7713
|
+
get: function () { return this.get("SourceCsvSeparate"); },
|
|
7714
|
+
enumerable: false,
|
|
7715
|
+
configurable: true
|
|
7716
|
+
});
|
|
7717
|
+
Object.defineProperty(DFUWorkunit.prototype, "SourceCsvQuote", {
|
|
7718
|
+
get: function () { return this.get("SourceCsvQuote"); },
|
|
7719
|
+
enumerable: false,
|
|
7720
|
+
configurable: true
|
|
7721
|
+
});
|
|
7722
|
+
Object.defineProperty(DFUWorkunit.prototype, "SourceCsvTerminate", {
|
|
7723
|
+
get: function () { return this.get("SourceCsvTerminate"); },
|
|
7724
|
+
enumerable: false,
|
|
7725
|
+
configurable: true
|
|
7726
|
+
});
|
|
7727
|
+
Object.defineProperty(DFUWorkunit.prototype, "SourceCsvEscape", {
|
|
7728
|
+
get: function () { return this.get("SourceCsvEscape"); },
|
|
7729
|
+
enumerable: false,
|
|
7730
|
+
configurable: true
|
|
7731
|
+
});
|
|
7732
|
+
Object.defineProperty(DFUWorkunit.prototype, "TimeStarted", {
|
|
7733
|
+
get: function () { return this.get("TimeStarted"); },
|
|
7734
|
+
enumerable: false,
|
|
7735
|
+
configurable: true
|
|
7736
|
+
});
|
|
7737
|
+
Object.defineProperty(DFUWorkunit.prototype, "TimeStopped", {
|
|
7738
|
+
get: function () { return this.get("TimeStopped"); },
|
|
7739
|
+
enumerable: false,
|
|
7740
|
+
configurable: true
|
|
7741
|
+
});
|
|
7742
|
+
Object.defineProperty(DFUWorkunit.prototype, "StateMessage", {
|
|
7743
|
+
get: function () { return this.get("StateMessage"); },
|
|
7744
|
+
enumerable: false,
|
|
7745
|
+
configurable: true
|
|
7746
|
+
});
|
|
7747
|
+
Object.defineProperty(DFUWorkunit.prototype, "MonitorEventName", {
|
|
7748
|
+
get: function () { return this.get("MonitorEventName"); },
|
|
7749
|
+
enumerable: false,
|
|
7750
|
+
configurable: true
|
|
7751
|
+
});
|
|
7752
|
+
Object.defineProperty(DFUWorkunit.prototype, "MonitorSub", {
|
|
7753
|
+
get: function () { return this.get("MonitorSub"); },
|
|
7754
|
+
enumerable: false,
|
|
7755
|
+
configurable: true
|
|
7756
|
+
});
|
|
7757
|
+
Object.defineProperty(DFUWorkunit.prototype, "MonitorShotLimit", {
|
|
7758
|
+
get: function () { return this.get("MonitorShotLimit"); },
|
|
7759
|
+
enumerable: false,
|
|
7760
|
+
configurable: true
|
|
7761
|
+
});
|
|
7762
|
+
Object.defineProperty(DFUWorkunit.prototype, "SourceDiffKeyName", {
|
|
7763
|
+
get: function () { return this.get("SourceDiffKeyName"); },
|
|
7764
|
+
enumerable: false,
|
|
7765
|
+
configurable: true
|
|
7766
|
+
});
|
|
7767
|
+
Object.defineProperty(DFUWorkunit.prototype, "DestDiffKeyName", {
|
|
7768
|
+
get: function () { return this.get("DestDiffKeyName"); },
|
|
7769
|
+
enumerable: false,
|
|
7770
|
+
configurable: true
|
|
7771
|
+
});
|
|
7772
|
+
Object.defineProperty(DFUWorkunit.prototype, "Archived", {
|
|
7773
|
+
get: function () { return this.get("Archived"); },
|
|
7774
|
+
enumerable: false,
|
|
7775
|
+
configurable: true
|
|
7776
|
+
});
|
|
7777
|
+
Object.defineProperty(DFUWorkunit.prototype, "encrypt", {
|
|
7778
|
+
get: function () { return this.get("encrypt"); },
|
|
7779
|
+
enumerable: false,
|
|
7780
|
+
configurable: true
|
|
7781
|
+
});
|
|
7782
|
+
Object.defineProperty(DFUWorkunit.prototype, "decrypt", {
|
|
7783
|
+
get: function () { return this.get("decrypt"); },
|
|
7784
|
+
enumerable: false,
|
|
7785
|
+
configurable: true
|
|
7786
|
+
});
|
|
7787
|
+
Object.defineProperty(DFUWorkunit.prototype, "failIfNoSourceFile", {
|
|
7788
|
+
get: function () { return this.get("failIfNoSourceFile"); },
|
|
7789
|
+
enumerable: false,
|
|
7790
|
+
configurable: true
|
|
7791
|
+
});
|
|
7792
|
+
Object.defineProperty(DFUWorkunit.prototype, "recordStructurePresent", {
|
|
7793
|
+
get: function () { return this.get("recordStructurePresent"); },
|
|
7794
|
+
enumerable: false,
|
|
7795
|
+
configurable: true
|
|
7796
|
+
});
|
|
7797
|
+
Object.defineProperty(DFUWorkunit.prototype, "quotedTerminator", {
|
|
7798
|
+
get: function () { return this.get("quotedTerminator"); },
|
|
7799
|
+
enumerable: false,
|
|
7800
|
+
configurable: true
|
|
7801
|
+
});
|
|
7802
|
+
Object.defineProperty(DFUWorkunit.prototype, "preserveCompression", {
|
|
7803
|
+
get: function () { return this.get("preserveCompression"); },
|
|
7804
|
+
enumerable: false,
|
|
7805
|
+
configurable: true
|
|
7806
|
+
});
|
|
7807
|
+
Object.defineProperty(DFUWorkunit.prototype, "expireDays", {
|
|
7808
|
+
get: function () { return this.get("expireDays"); },
|
|
7809
|
+
enumerable: false,
|
|
7810
|
+
configurable: true
|
|
7811
|
+
});
|
|
7812
|
+
Object.defineProperty(DFUWorkunit.prototype, "PreserveFileParts", {
|
|
7813
|
+
get: function () { return this.get("PreserveFileParts"); },
|
|
7814
|
+
enumerable: false,
|
|
7815
|
+
configurable: true
|
|
7816
|
+
});
|
|
7817
|
+
Object.defineProperty(DFUWorkunit.prototype, "FileAccessCost", {
|
|
7818
|
+
get: function () { return this.get("FileAccessCost"); },
|
|
7819
|
+
enumerable: false,
|
|
7820
|
+
configurable: true
|
|
7821
|
+
});
|
|
7822
|
+
// Factories ---
|
|
7823
|
+
DFUWorkunit.create = function (optsConnection, dfuServerQueue) {
|
|
7824
|
+
var retVal = new DFUWorkunit(optsConnection);
|
|
7825
|
+
return retVal.connection.CreateDFUWorkunit({ DFUServerQueue: dfuServerQueue }).then(function (response) {
|
|
7826
|
+
_workunits.set(retVal);
|
|
7827
|
+
retVal.set(response.result);
|
|
7828
|
+
return retVal;
|
|
7829
|
+
});
|
|
7830
|
+
};
|
|
7831
|
+
DFUWorkunit.attach = function (optsConnection, wuid, state) {
|
|
7832
|
+
var retVal = _workunits.get({ BaseUrl: optsConnection.baseUrl, ID: wuid }, function () {
|
|
7833
|
+
return new DFUWorkunit(optsConnection, wuid);
|
|
7834
|
+
});
|
|
7835
|
+
if (state) {
|
|
7836
|
+
retVal.set(state);
|
|
7837
|
+
}
|
|
7838
|
+
return retVal;
|
|
7839
|
+
};
|
|
7840
|
+
DFUWorkunit.sprayFixed = function (server, request) {
|
|
7841
|
+
var service = new FileSprayService(server);
|
|
7842
|
+
return service.SprayFixedEx(__assign({}, request)).then(function (response) {
|
|
7843
|
+
var wuid = response.wuid;
|
|
7844
|
+
return service.GetDFUWorkunit({ wuid: wuid }).then(function (response) {
|
|
7845
|
+
return DFUWorkunit.attach(server, wuid, response.result);
|
|
7846
|
+
});
|
|
7847
|
+
});
|
|
7848
|
+
};
|
|
7849
|
+
DFUWorkunit.sprayVariable = function (server, request) {
|
|
7850
|
+
var service = new FileSprayService(server);
|
|
7851
|
+
return service.SprayVariableEx(__assign({}, request)).then(function (response) {
|
|
7852
|
+
var wuid = response.wuid;
|
|
7853
|
+
return service.GetDFUWorkunit({ wuid: wuid }).then(function (response) {
|
|
7854
|
+
return DFUWorkunit.attach(server, wuid, response.result);
|
|
7855
|
+
});
|
|
7856
|
+
});
|
|
7857
|
+
};
|
|
7858
|
+
DFUWorkunit.despray = function (server, request) {
|
|
7859
|
+
var service = new FileSprayService(server);
|
|
7860
|
+
return service.DesprayEx(__assign({}, request)).then(function (response) {
|
|
7861
|
+
var wuid = response.wuid;
|
|
7862
|
+
return service.GetDFUWorkunit({ wuid: wuid }).then(function (response) {
|
|
7863
|
+
return DFUWorkunit.attach(server, wuid, response.result);
|
|
7864
|
+
});
|
|
7865
|
+
});
|
|
7866
|
+
};
|
|
7867
|
+
DFUWorkunit.prototype.isComplete = function () {
|
|
7868
|
+
switch (this.State) {
|
|
7869
|
+
case States.Finished:
|
|
7870
|
+
case States.Failed:
|
|
7871
|
+
case States.Aborted:
|
|
7872
|
+
case States.NotFound:
|
|
7873
|
+
return true;
|
|
7874
|
+
}
|
|
7875
|
+
return false;
|
|
7876
|
+
};
|
|
7877
|
+
DFUWorkunit.prototype.isFailed = function () {
|
|
7878
|
+
if (this.isComplete() && this.State !== States.Finished) {
|
|
7879
|
+
return true;
|
|
7880
|
+
}
|
|
7881
|
+
return false;
|
|
7882
|
+
};
|
|
7883
|
+
DFUWorkunit.prototype.isDeleted = function () {
|
|
7884
|
+
switch (this.State) {
|
|
7885
|
+
case States.NotFound:
|
|
7886
|
+
return true;
|
|
7887
|
+
}
|
|
7888
|
+
return false;
|
|
7889
|
+
};
|
|
7890
|
+
DFUWorkunit.prototype.isRunning = function () {
|
|
7891
|
+
return !this.isComplete();
|
|
7892
|
+
};
|
|
7893
|
+
DFUWorkunit.prototype.refresh = function (full) {
|
|
7894
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
7895
|
+
return __generator(this, function (_a) {
|
|
7896
|
+
switch (_a.label) {
|
|
7897
|
+
case 0: return [4 /*yield*/, this.GetDFUWorkunit()];
|
|
7898
|
+
case 1:
|
|
7899
|
+
_a.sent();
|
|
7900
|
+
return [2 /*return*/, this];
|
|
7901
|
+
}
|
|
7902
|
+
});
|
|
7903
|
+
});
|
|
7904
|
+
};
|
|
7905
|
+
// Monitoring ---
|
|
7906
|
+
DFUWorkunit.prototype._monitor = function () {
|
|
7907
|
+
if (this.isComplete()) {
|
|
7908
|
+
this._monitorTickCount = 0;
|
|
7909
|
+
return;
|
|
7910
|
+
}
|
|
7911
|
+
_super.prototype._monitor.call(this);
|
|
7912
|
+
};
|
|
7913
|
+
DFUWorkunit.prototype._monitorTimeoutDuration = function () {
|
|
7914
|
+
var retVal = _super.prototype._monitorTimeoutDuration.call(this);
|
|
7915
|
+
if (this._monitorTickCount <= 1) { // Once
|
|
7916
|
+
return 3000;
|
|
7917
|
+
}
|
|
7918
|
+
else if (this._monitorTickCount <= 5) { // Twice
|
|
7919
|
+
return 6000;
|
|
7920
|
+
}
|
|
7921
|
+
else if (this._monitorTickCount <= 7) { // Twice
|
|
7922
|
+
return 12000;
|
|
7923
|
+
}
|
|
7924
|
+
return retVal;
|
|
7925
|
+
};
|
|
7926
|
+
// Events ---
|
|
7927
|
+
DFUWorkunit.prototype.on = function (eventID, propIDorCallback, callback) {
|
|
7928
|
+
var _this = this;
|
|
7929
|
+
if (this.isCallback(propIDorCallback)) {
|
|
7930
|
+
switch (eventID) {
|
|
7931
|
+
case "finished":
|
|
7932
|
+
_super.prototype.on.call(this, "propChanged", "State", function (changeInfo) {
|
|
7933
|
+
if (_this.isComplete()) {
|
|
7934
|
+
propIDorCallback([changeInfo]);
|
|
7935
|
+
}
|
|
7936
|
+
});
|
|
7937
|
+
break;
|
|
7938
|
+
case "changed":
|
|
7939
|
+
_super.prototype.on.call(this, eventID, propIDorCallback);
|
|
7940
|
+
break;
|
|
7941
|
+
}
|
|
7942
|
+
}
|
|
7943
|
+
else {
|
|
7944
|
+
switch (eventID) {
|
|
7945
|
+
case "changed":
|
|
7946
|
+
_super.prototype.on.call(this, eventID, propIDorCallback, callback);
|
|
7947
|
+
break;
|
|
7948
|
+
}
|
|
7949
|
+
}
|
|
7950
|
+
this._monitor();
|
|
7951
|
+
return this;
|
|
7952
|
+
};
|
|
7953
|
+
DFUWorkunit.prototype.watchUntilComplete = function (callback) {
|
|
7954
|
+
var _this = this;
|
|
7955
|
+
return new Promise(function (resolve, _) {
|
|
7956
|
+
var watchHandle = _this.watch(function (changes) {
|
|
7957
|
+
if (callback) {
|
|
7958
|
+
callback(changes);
|
|
7959
|
+
}
|
|
7960
|
+
if (_this.isComplete()) {
|
|
7961
|
+
watchHandle.release();
|
|
7962
|
+
resolve(_this);
|
|
7963
|
+
}
|
|
7964
|
+
});
|
|
7965
|
+
});
|
|
7966
|
+
};
|
|
7967
|
+
DFUWorkunit.prototype.watchUntilRunning = function (callback) {
|
|
7968
|
+
var _this = this;
|
|
7969
|
+
return new Promise(function (resolve, _) {
|
|
7970
|
+
var watchHandle = _this.watch(function (changes) {
|
|
7971
|
+
if (callback) {
|
|
7972
|
+
callback(changes);
|
|
7973
|
+
}
|
|
7974
|
+
if (_this.isComplete() || _this.isRunning()) {
|
|
7975
|
+
watchHandle.release();
|
|
7976
|
+
resolve(_this);
|
|
7977
|
+
}
|
|
7978
|
+
});
|
|
7979
|
+
});
|
|
7980
|
+
};
|
|
7981
|
+
DFUWorkunit.prototype.clearState = function (wuid) {
|
|
7982
|
+
this.clear({
|
|
7983
|
+
ID: wuid,
|
|
7984
|
+
State: States.Unknown
|
|
7985
|
+
});
|
|
7986
|
+
};
|
|
7987
|
+
// FileSpray passthroughs ---
|
|
7988
|
+
DFUWorkunit.prototype.GetDFUWorkunit = function (_request) {
|
|
7989
|
+
var _this = this;
|
|
7990
|
+
if (_request === void 0) { _request = {}; }
|
|
7991
|
+
return this.connection.GetDFUWorkunit(__assign(__assign({}, _request), { wuid: this.ID })).then(function (response) {
|
|
7992
|
+
_this.set(response.result);
|
|
7993
|
+
return response;
|
|
7994
|
+
}).catch(function (e) {
|
|
7995
|
+
// deleted ---
|
|
7996
|
+
var wuMissing = e.Exception.some(function (exception) {
|
|
7997
|
+
if (exception.Code === 20081) {
|
|
7998
|
+
_this.clearState(_this.ID);
|
|
7999
|
+
_this.set("State", States.NotFound);
|
|
8000
|
+
return true;
|
|
8001
|
+
}
|
|
8002
|
+
return false;
|
|
8003
|
+
});
|
|
8004
|
+
if (!wuMissing) {
|
|
8005
|
+
logger$1.warning("Unexpected exception: ");
|
|
8006
|
+
throw e;
|
|
8007
|
+
}
|
|
8008
|
+
return {};
|
|
8009
|
+
});
|
|
8010
|
+
};
|
|
8011
|
+
return DFUWorkunit;
|
|
8012
|
+
}(StateObject));
|
|
8013
|
+
|
|
7370
8014
|
scopedLogger("clienttools/eclmeta");
|
|
7371
8015
|
var Attr = /** @class */ (function () {
|
|
7372
8016
|
function Attr(xmlAttr) {
|
|
@@ -8402,5 +9046,5 @@ if (typeof root.btoa === "undefined") {
|
|
|
8402
9046
|
};
|
|
8403
9047
|
}
|
|
8404
9048
|
|
|
8405
|
-
export { AccessService, AccountService, Activity, Attr, Attribute, BUILD_VERSION, BaseScope, ClientTools, CloudService, CodesignService, Connection, DFUArrayActions, DFUChangeProtection, DFUChangeRestriction, DFUDefFileFormat, DFUService, DFUXRefService, DaliService, Definition, ECLGraph, ECLScope, ESPConnection, ESPExceptions, EclService, EclccErrors, ElkService, EnvchkErrors, Errors, Field, File, FileSprayService, Folder, GlobalResultCache, GraphCache, Import, LocalWorkunit, LogaccessService, LogicalFile, LogicalFileCache, Machine, MachineCache, MachineService, PKG_NAME, PKG_VERSION, PackageProcessService, Query, Resource, ResourcesService, Result, ResultCache, SMCService, Scope, ScopeEdge, ScopeGraph, ScopeSubgraph, ScopeVertex, Service, Source, SourceFile, Store, StoreCache, StoreService, TargetCluster, TargetClusterCache, Timer, Topology, TopologyCache, TopologyService, TpLogicalClusterQuery, ValueChangedMessage, Version, WUStateID$1 as WUStateID, WUUpdate, Workspace, Workunit, WorkunitCache, WorkunitsService, WorkunitsServiceEx, WsDfu, WsLogaccess, XGMMLEdge, XGMMLGraph, XGMMLSubgraph, XGMMLVertex, XSDNode, XSDSchema, XSDSimpleType, XSDXMLNode, attachWorkspace, clearAllClientToolsCache, createConnection, createGraph, createXGMMLGraph, defaultTargetCluster, deserializeResponse, get, hookSend, instanceOfIConnection, instanceOfIOptions, isArray, isECLResult, isExceptions, isWUInfoWorkunit, isWUQueryECLWorkunit, jsonp, locateAllClientTools, locateClientTools, parseXSD, parseXSD2, post, qualifiedIDBoundary, send, serializeRequest, setTransportFactory, targetClusters, walkXmlJson };
|
|
9049
|
+
export { AccessService, AccountService, Activity, Attr, Attribute, BUILD_VERSION, BaseScope, ClientTools, CloudService, CodesignService, Connection, DFUArrayActions, DFUChangeProtection, DFUChangeRestriction, DFUDefFileFormat, DFUService, DFUWorkunit, DFUWorkunitCache, DFUXRefService, DaliService, Definition, ECLGraph, ECLScope, ESPConnection, ESPExceptions, EclService, EclccErrors, ElkService, EnvchkErrors, Errors, Field, File, FileSprayService, Folder, GlobalResultCache, GraphCache, Import, LocalWorkunit, LogaccessService, LogicalFile, LogicalFileCache, Machine, MachineCache, MachineService, PKG_NAME, PKG_VERSION, PackageProcessService, Query, Resource, ResourcesService, Result, ResultCache, SMCService, Scope, ScopeEdge, ScopeGraph, ScopeSubgraph, ScopeVertex, Service, Source, SourceFile, Store, StoreCache, StoreService, TargetCluster, TargetClusterCache, Timer, Topology, TopologyCache, TopologyService, TpLogicalClusterQuery, ValueChangedMessage, Version, WUStateID$1 as WUStateID, WUUpdate, Workspace, Workunit, WorkunitCache, WorkunitsService, WorkunitsServiceEx, WsDfu, WsLogaccess, XGMMLEdge, XGMMLGraph, XGMMLSubgraph, XGMMLVertex, XSDNode, XSDSchema, XSDSimpleType, XSDXMLNode, attachWorkspace, clearAllClientToolsCache, createConnection, createGraph, createXGMMLGraph, defaultTargetCluster, deserializeResponse, get, hookSend, instanceOfIConnection, instanceOfIOptions, isArray, isECLResult, isExceptions, isWUInfoWorkunit, isWUQueryECLWorkunit, jsonp, locateAllClientTools, locateClientTools, parseXSD, parseXSD2, post, qualifiedIDBoundary, send, serializeRequest, setTransportFactory, targetClusters, walkXmlJson };
|
|
8406
9050
|
//# sourceMappingURL=index.es6.js.map
|