@hpcc-js/comms 2.70.0 → 2.73.5

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.
Files changed (112) hide show
  1. package/dist/index.es6.js +485 -234
  2. package/dist/index.es6.js.map +1 -1
  3. package/dist/index.js +408 -134
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.js +1 -1
  6. package/dist/index.min.js.map +1 -1
  7. package/dist/index.node.js +505 -212
  8. package/dist/index.node.js.map +1 -1
  9. package/dist/index.node.min.js +1 -1
  10. package/dist/index.node.min.js.map +1 -1
  11. package/lib-es6/__package__.js +2 -2
  12. package/lib-es6/clienttools/eclMeta.js +4 -4
  13. package/lib-es6/clienttools/eclMeta.js.map +1 -1
  14. package/lib-es6/clienttools/eclcc.js +18 -18
  15. package/lib-es6/clienttools/eclcc.js.map +1 -1
  16. package/lib-es6/connection.js +6 -6
  17. package/lib-es6/connection.js.map +1 -1
  18. package/lib-es6/ecl/graph.js +5 -5
  19. package/lib-es6/ecl/graph.js.map +1 -1
  20. package/lib-es6/ecl/logicalFile.js +2 -2
  21. package/lib-es6/ecl/logicalFile.js.map +1 -1
  22. package/lib-es6/ecl/machine.js +10 -0
  23. package/lib-es6/ecl/machine.js.map +1 -1
  24. package/lib-es6/ecl/result.js +1 -1
  25. package/lib-es6/ecl/result.js.map +1 -1
  26. package/lib-es6/ecl/scope.js +5 -5
  27. package/lib-es6/ecl/scope.js.map +1 -1
  28. package/lib-es6/ecl/store.js +4 -4
  29. package/lib-es6/ecl/store.js.map +1 -1
  30. package/lib-es6/ecl/targetCluster.js +2 -2
  31. package/lib-es6/ecl/targetCluster.js.map +1 -1
  32. package/lib-es6/ecl/topology.js +1 -1
  33. package/lib-es6/ecl/topology.js.map +1 -1
  34. package/lib-es6/ecl/workunit.js +4 -4
  35. package/lib-es6/ecl/workunit.js.map +1 -1
  36. package/lib-es6/espConnection.js +1 -1
  37. package/lib-es6/espConnection.js.map +1 -1
  38. package/lib-es6/index-common.js +1 -0
  39. package/lib-es6/index-common.js.map +1 -1
  40. package/lib-es6/services/wsAccess.js +11 -0
  41. package/lib-es6/services/wsAccess.js.map +1 -0
  42. package/lib-es6/services/wsEcl.js +3 -3
  43. package/lib-es6/services/wsEcl.js.map +1 -1
  44. package/lib-es6/services/wsLogaccess.js +7 -7
  45. package/lib-es6/services/wsLogaccess.js.map +1 -1
  46. package/lib-es6/services/wsMachine.js +9 -16
  47. package/lib-es6/services/wsMachine.js.map +1 -1
  48. package/lib-es6/services/wsResources.js +7 -7
  49. package/lib-es6/services/wsResources.js.map +1 -1
  50. package/lib-es6/services/wsdl/WsResources/v1.01/WsResources.js +8 -8
  51. package/lib-es6/services/wsdl/WsResources/v1.01/WsResources.js.map +1 -1
  52. package/lib-es6/services/wsdl/ws_access/v1.16/ws_access.js +203 -0
  53. package/lib-es6/services/wsdl/ws_access/v1.16/ws_access.js.map +1 -0
  54. package/lib-es6/services/wsdl/{WsLogaccess/v1/WsLogaccess.js → ws_logaccess/v1/ws_logaccess.js} +10 -10
  55. package/lib-es6/services/wsdl/ws_logaccess/v1/ws_logaccess.js.map +1 -0
  56. package/lib-es6/services/wsdl/ws_machine/v1.17/ws_machine.js +41 -0
  57. package/lib-es6/services/wsdl/ws_machine/v1.17/ws_machine.js.map +1 -0
  58. package/package.json +15 -34
  59. package/src/__package__.ts +2 -2
  60. package/src/ecl/machine.ts +11 -9
  61. package/src/ecl/targetCluster.ts +6 -6
  62. package/src/ecl/topology.ts +1 -1
  63. package/src/index-common.ts +1 -0
  64. package/src/services/wsAccess.ts +8 -0
  65. package/src/services/wsLogaccess.ts +2 -2
  66. package/src/services/wsMachine.ts +16 -289
  67. package/src/services/wsResources.ts +2 -2
  68. package/src/services/wsdl/WsResources/v1.01/WsResources.ts +1 -1
  69. package/src/services/wsdl/ws_access/v1.16/ws_access.ts +1086 -0
  70. package/src/services/wsdl/{WsLogaccess/v1/WsLogaccess.ts → ws_logaccess/v1/ws_logaccess.ts} +3 -3
  71. package/src/services/wsdl/ws_machine/v1.17/ws_machine.ts +567 -0
  72. package/types/__package__.d.ts +2 -2
  73. package/types/ecl/activity.d.ts +1 -1
  74. package/types/ecl/activity.d.ts.map +1 -1
  75. package/types/ecl/machine.d.ts +11 -9
  76. package/types/ecl/machine.d.ts.map +1 -1
  77. package/types/ecl/targetCluster.d.ts +5 -5
  78. package/types/ecl/targetCluster.d.ts.map +1 -1
  79. package/types/ecl/topology.d.ts.map +1 -1
  80. package/types/index-common.d.ts +1 -0
  81. package/types/index-common.d.ts.map +1 -1
  82. package/types/services/wsAccess.d.ts +5 -0
  83. package/types/services/wsAccess.d.ts.map +1 -0
  84. package/types/services/wsLogaccess.d.ts +2 -2
  85. package/types/services/wsLogaccess.d.ts.map +1 -1
  86. package/types/services/wsMachine.d.ts +9 -235
  87. package/types/services/wsMachine.d.ts.map +1 -1
  88. package/types/services/wsResources.d.ts +2 -2
  89. package/types/services/wsResources.d.ts.map +1 -1
  90. package/types/services/wsdl/WsResources/v1.01/WsResources.d.ts +1 -1
  91. package/types/services/wsdl/WsResources/v1.01/WsResources.d.ts.map +1 -1
  92. package/types/services/wsdl/ws_access/v1.16/ws_access.d.ts +778 -0
  93. package/types/services/wsdl/ws_access/v1.16/ws_access.d.ts.map +1 -0
  94. package/types/services/wsdl/{WsLogaccess/v1/WsLogaccess.d.ts → ws_logaccess/v1/ws_logaccess.d.ts} +3 -3
  95. package/types/services/wsdl/ws_logaccess/v1/ws_logaccess.d.ts.map +1 -0
  96. package/types/services/wsdl/ws_machine/v1.17/ws_machine.d.ts +470 -0
  97. package/types/services/wsdl/ws_machine/v1.17/ws_machine.d.ts.map +1 -0
  98. package/types-3.4/__package__.d.ts +2 -2
  99. package/types-3.4/ecl/activity.d.ts +1 -1
  100. package/types-3.4/ecl/machine.d.ts +11 -9
  101. package/types-3.4/ecl/targetCluster.d.ts +5 -5
  102. package/types-3.4/index-common.d.ts +1 -0
  103. package/types-3.4/services/wsAccess.d.ts +5 -0
  104. package/types-3.4/services/wsLogaccess.d.ts +2 -2
  105. package/types-3.4/services/wsMachine.d.ts +9 -235
  106. package/types-3.4/services/wsResources.d.ts +2 -2
  107. package/types-3.4/services/wsdl/WsResources/v1.01/WsResources.d.ts +1 -1
  108. package/types-3.4/services/wsdl/ws_access/v1.16/ws_access.d.ts +778 -0
  109. package/types-3.4/services/wsdl/{WsLogaccess/v1/WsLogaccess.d.ts → ws_logaccess/v1/ws_logaccess.d.ts} +3 -3
  110. package/types-3.4/services/wsdl/ws_machine/v1.17/ws_machine.d.ts +470 -0
  111. package/lib-es6/services/wsdl/WsLogaccess/v1/WsLogaccess.js.map +0 -1
  112. package/types/services/wsdl/WsLogaccess/v1/WsLogaccess.d.ts.map +0 -1
@@ -2,12 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
-
7
5
  var util = require('@hpcc-js/util');
8
6
  var xmldom = require('@xmldom/xmldom');
9
- var fetch$1 = _interopDefault(require('node-fetch'));
10
- var AbortController = _interopDefault(require('abort-controller'));
7
+ var fetch$1 = require('node-fetch');
8
+ var AbortController = require('abort-controller');
11
9
  var https = require('https');
12
10
  var safeBuffer = require('safe-buffer');
13
11
  var cp = require('child_process');
@@ -16,11 +14,40 @@ var os = require('os');
16
14
  var path = require('path');
17
15
  var tmp = require('tmp');
18
16
 
17
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
+
19
+ function _interopNamespace(e) {
20
+ if (e && e.__esModule) return e;
21
+ var n = Object.create(null);
22
+ if (e) {
23
+ Object.keys(e).forEach(function (k) {
24
+ if (k !== 'default') {
25
+ var d = Object.getOwnPropertyDescriptor(e, k);
26
+ Object.defineProperty(n, k, d.get ? d : {
27
+ enumerable: true,
28
+ get: function () { return e[k]; }
29
+ });
30
+ }
31
+ });
32
+ }
33
+ n["default"] = e;
34
+ return Object.freeze(n);
35
+ }
36
+
37
+ var fetch__default = /*#__PURE__*/_interopDefaultLegacy(fetch$1);
38
+ var AbortController__default = /*#__PURE__*/_interopDefaultLegacy(AbortController);
39
+ var https__namespace = /*#__PURE__*/_interopNamespace(https);
40
+ var cp__namespace = /*#__PURE__*/_interopNamespace(cp);
41
+ var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
42
+ var os__namespace = /*#__PURE__*/_interopNamespace(os);
43
+ var path__namespace = /*#__PURE__*/_interopNamespace(path);
44
+ var tmp__namespace = /*#__PURE__*/_interopNamespace(tmp);
45
+
19
46
  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";
20
47
 
21
48
  var PKG_NAME = "@hpcc-js/comms";
22
- var PKG_VERSION = "2.70.0";
23
- var BUILD_VERSION = "2.101.0";
49
+ var PKG_VERSION = "2.73.5";
50
+ var BUILD_VERSION = "2.102.7";
24
51
 
25
52
  /*! *****************************************************************************
26
53
  Copyright (c) Microsoft Corporation.
@@ -109,10 +136,10 @@ function __spreadArray(to, from, pack) {
109
136
  ar[i] = from[i];
110
137
  }
111
138
  }
112
- return to.concat(ar || from);
139
+ return to.concat(ar || Array.prototype.slice.call(from));
113
140
  }
114
141
 
115
- var logger = util.scopedLogger("comms/connection.ts");
142
+ var logger$2 = util.scopedLogger("comms/connection.ts");
116
143
  function instanceOfIOptions(object) {
117
144
  return "baseUrl" in object;
118
145
  }
@@ -151,20 +178,20 @@ function serializeRequest(obj, encodeRequest, prefix) {
151
178
  obj[key].forEach(function (row, i) {
152
179
  if (typeof row === "object") {
153
180
  includeItemCount_1 = true;
154
- str.push(serializeRequest(row, encodeRequest, prefix + encode(key + "." + i, encodeRequest)));
181
+ str.push(serializeRequest(row, encodeRequest, prefix + encode("".concat(key, ".").concat(i), encodeRequest)));
155
182
  }
156
183
  else {
157
- str.push(prefix + encode(key + "_i" + i, encodeRequest) + "=" + serializeRequest(row, encodeRequest));
184
+ str.push(prefix + encode("".concat(key, "_i").concat(i), encodeRequest) + "=" + serializeRequest(row, encodeRequest));
158
185
  }
159
186
  });
160
187
  if (includeItemCount_1) {
161
- str.push(prefix + encode(key + ".itemcount", encodeRequest) + "=" + obj[key].length);
188
+ str.push(prefix + encode("".concat(key, ".itemcount"), encodeRequest) + "=" + obj[key].length);
162
189
  }
163
190
  }
164
191
  else if (typeof obj[key] === "object") {
165
192
  if (obj[key] && obj[key]["Item"] instanceof Array) { // Specific to ws_machine.GetTargetClusterInfo?
166
193
  str.push(serializeRequest(obj[key]["Item"], encodeRequest, prefix + encode(key, encodeRequest)));
167
- str.push(prefix + encode(key + ".itemcount", encodeRequest) + "=" + obj[key]["Item"].length);
194
+ str.push(prefix + encode("".concat(key, ".itemcount"), encodeRequest) + "=" + obj[key]["Item"].length);
168
195
  }
169
196
  else {
170
197
  str.push(serializeRequest(obj[key], encodeRequest, prefix + encode(key, encodeRequest)));
@@ -214,12 +241,12 @@ function jsonp(opts, action, request, responseType, header) {
214
241
  respondedTimeout -= respondedTick;
215
242
  if (respondedTimeout <= 0) {
216
243
  clearInterval(progress);
217
- logger.error("Request timeout: " + script.src);
244
+ logger$2.error("Request timeout: " + script.src);
218
245
  doCallback();
219
246
  reject(Error("Request timeout: " + script.src));
220
247
  }
221
248
  else {
222
- logger.debug("Request pending (" + respondedTimeout / 1000 + " sec): " + script.src);
249
+ logger$2.debug("Request pending (" + respondedTimeout / 1000 + " sec): " + script.src);
223
250
  }
224
251
  }
225
252
  }, respondedTick);
@@ -230,7 +257,7 @@ function jsonp(opts, action, request, responseType, header) {
230
257
  });
231
258
  }
232
259
  function authHeader(opts) {
233
- return opts.userID ? { Authorization: "Basic " + btoa(opts.userID + ":" + opts.password) } : {};
260
+ return opts.userID ? { Authorization: "Basic ".concat(btoa("".concat(opts.userID, ":").concat(opts.password))) } : {};
234
261
  }
235
262
  // _omitMap is a workaround for older HPCC-Platform instances without credentials ---
236
263
  var _omitMap = {};
@@ -289,7 +316,7 @@ function get(opts, action, request, responseType, header) {
289
316
  abortSignal = request.abortSignal_;
290
317
  delete request.abortSignal_;
291
318
  }
292
- return doFetch(opts, action + "?" + serializeRequest(request, opts.encodeRequest), {
319
+ return doFetch(opts, "".concat(action, "?").concat(serializeRequest(request, opts.encodeRequest)), {
293
320
  method: "get",
294
321
  signal: abortSignal
295
322
  }, __assign({}, header), responseType);
@@ -368,7 +395,7 @@ var ESPExceptions = /** @class */ (function (_super) {
368
395
  _this.Source = exceptions.Source;
369
396
  _this.Exception = exceptions.Exception;
370
397
  if (exceptions.Exception.length) {
371
- _this.message = exceptions.Exception[0].Code + ": " + exceptions.Exception[0].Message;
398
+ _this.message = "".concat(exceptions.Exception[0].Code, ": ").concat(exceptions.Exception[0].Message);
372
399
  }
373
400
  else {
374
401
  _this.message = "";
@@ -497,6 +524,214 @@ var Service = /** @class */ (function () {
497
524
  return Service;
498
525
  }());
499
526
 
527
+ var ViewMemberType;
528
+ (function (ViewMemberType) {
529
+ ViewMemberType["User"] = "User";
530
+ ViewMemberType["Group"] = "Group";
531
+ })(ViewMemberType || (ViewMemberType = {}));
532
+ var UserSortBy;
533
+ (function (UserSortBy) {
534
+ UserSortBy["Username"] = "Username";
535
+ UserSortBy["Fullname"] = "Fullname";
536
+ UserSortBy["Passwordexpiration"] = "Passwordexpiration";
537
+ UserSortBy["EmployeeID"] = "EmployeeID";
538
+ UserSortBy["EmployeeNumber"] = "EmployeeNumber";
539
+ })(UserSortBy || (UserSortBy = {}));
540
+ var GroupSortBy;
541
+ (function (GroupSortBy) {
542
+ GroupSortBy["Name"] = "Name";
543
+ GroupSortBy["ManagedBy"] = "ManagedBy";
544
+ })(GroupSortBy || (GroupSortBy = {}));
545
+ var AccountTypeReq;
546
+ (function (AccountTypeReq) {
547
+ AccountTypeReq["Any"] = "Any";
548
+ AccountTypeReq["User"] = "User";
549
+ AccountTypeReq["Group"] = "Group";
550
+ })(AccountTypeReq || (AccountTypeReq = {}));
551
+ var ResourcePermissionSortBy;
552
+ (function (ResourcePermissionSortBy) {
553
+ ResourcePermissionSortBy["Name"] = "Name";
554
+ ResourcePermissionSortBy["Type"] = "Type";
555
+ })(ResourcePermissionSortBy || (ResourcePermissionSortBy = {}));
556
+ var ResourceSortBy;
557
+ (function (ResourceSortBy) {
558
+ ResourceSortBy["Name"] = "Name";
559
+ })(ResourceSortBy || (ResourceSortBy = {}));
560
+ var AccessServiceBase = /** @class */ (function (_super) {
561
+ __extends(AccessServiceBase, _super);
562
+ function AccessServiceBase(optsConnection) {
563
+ return _super.call(this, optsConnection, "ws_access", "1.16") || this;
564
+ }
565
+ AccessServiceBase.prototype.AccountPermissions = function (request) {
566
+ return this._connection.send("AccountPermissions", request);
567
+ };
568
+ AccessServiceBase.prototype.AddUser = function (request) {
569
+ return this._connection.send("AddUser", request);
570
+ };
571
+ AccessServiceBase.prototype.AddView = function (request) {
572
+ return this._connection.send("AddView", request);
573
+ };
574
+ AccessServiceBase.prototype.AddViewColumn = function (request) {
575
+ return this._connection.send("AddViewColumn", request);
576
+ };
577
+ AccessServiceBase.prototype.AddViewMember = function (request) {
578
+ return this._connection.send("AddViewMember", request);
579
+ };
580
+ AccessServiceBase.prototype.ClearPermissionsCache = function (request) {
581
+ return this._connection.send("ClearPermissionsCache", request);
582
+ };
583
+ AccessServiceBase.prototype.DeleteView = function (request) {
584
+ return this._connection.send("DeleteView", request);
585
+ };
586
+ AccessServiceBase.prototype.DeleteViewColumn = function (request) {
587
+ return this._connection.send("DeleteViewColumn", request);
588
+ };
589
+ AccessServiceBase.prototype.DeleteViewMember = function (request) {
590
+ return this._connection.send("DeleteViewMember", request);
591
+ };
592
+ AccessServiceBase.prototype.DisableScopeScans = function (request) {
593
+ return this._connection.send("DisableScopeScans", request);
594
+ };
595
+ AccessServiceBase.prototype.EnableScopeScans = function (request) {
596
+ return this._connection.send("EnableScopeScans", request);
597
+ };
598
+ AccessServiceBase.prototype.FilePermission = function (request) {
599
+ return this._connection.send("FilePermission", request);
600
+ };
601
+ AccessServiceBase.prototype.GroupAction = function (request) {
602
+ return this._connection.send("GroupAction", request);
603
+ };
604
+ AccessServiceBase.prototype.GroupAdd = function (request) {
605
+ return this._connection.send("GroupAdd", request);
606
+ };
607
+ AccessServiceBase.prototype.GroupEdit = function (request) {
608
+ return this._connection.send("GroupEdit", request);
609
+ };
610
+ AccessServiceBase.prototype.GroupMemberEdit = function (request) {
611
+ return this._connection.send("GroupMemberEdit", request);
612
+ };
613
+ AccessServiceBase.prototype.GroupMemberEditInput = function (request) {
614
+ return this._connection.send("GroupMemberEditInput", request);
615
+ };
616
+ AccessServiceBase.prototype.GroupMemberQuery = function (request) {
617
+ return this._connection.send("GroupMemberQuery", request);
618
+ };
619
+ AccessServiceBase.prototype.GroupQuery = function (request) {
620
+ return this._connection.send("GroupQuery", request);
621
+ };
622
+ AccessServiceBase.prototype.Groups = function (request) {
623
+ return this._connection.send("Groups", request);
624
+ };
625
+ AccessServiceBase.prototype.PermissionAction = function (request) {
626
+ return this._connection.send("PermissionAction", request);
627
+ };
628
+ AccessServiceBase.prototype.PermissionAddInput = function (request) {
629
+ return this._connection.send("PermissionAddInput", request);
630
+ };
631
+ AccessServiceBase.prototype.Permissions = function (request) {
632
+ return this._connection.send("Permissions", request);
633
+ };
634
+ AccessServiceBase.prototype.PermissionsReset = function (request) {
635
+ return this._connection.send("PermissionsReset", request);
636
+ };
637
+ AccessServiceBase.prototype.PermissionsResetInput = function (request) {
638
+ return this._connection.send("PermissionsResetInput", request);
639
+ };
640
+ AccessServiceBase.prototype.Ping = function (request) {
641
+ return this._connection.send("Ping", request);
642
+ };
643
+ AccessServiceBase.prototype.QueryScopeScansEnabled = function (request) {
644
+ return this._connection.send("QueryScopeScansEnabled", request);
645
+ };
646
+ AccessServiceBase.prototype.QueryUserViewColumns = function (request) {
647
+ return this._connection.send("QueryUserViewColumns", request);
648
+ };
649
+ AccessServiceBase.prototype.QueryViewColumns = function (request) {
650
+ return this._connection.send("QueryViewColumns", request);
651
+ };
652
+ AccessServiceBase.prototype.QueryViewMembers = function (request) {
653
+ return this._connection.send("QueryViewMembers", request);
654
+ };
655
+ AccessServiceBase.prototype.QueryViews = function (request) {
656
+ return this._connection.send("QueryViews", request);
657
+ };
658
+ AccessServiceBase.prototype.ResourceAdd = function (request) {
659
+ return this._connection.send("ResourceAdd", request);
660
+ };
661
+ AccessServiceBase.prototype.ResourceAddInput = function (request) {
662
+ return this._connection.send("ResourceAddInput", request);
663
+ };
664
+ AccessServiceBase.prototype.ResourceDelete = function (request) {
665
+ return this._connection.send("ResourceDelete", request);
666
+ };
667
+ AccessServiceBase.prototype.ResourcePermissionQuery = function (request) {
668
+ return this._connection.send("ResourcePermissionQuery", request);
669
+ };
670
+ AccessServiceBase.prototype.ResourcePermissions = function (request) {
671
+ return this._connection.send("ResourcePermissions", request);
672
+ };
673
+ AccessServiceBase.prototype.ResourceQuery = function (request) {
674
+ return this._connection.send("ResourceQuery", request);
675
+ };
676
+ AccessServiceBase.prototype.Resources = function (request) {
677
+ return this._connection.send("Resources", request);
678
+ };
679
+ AccessServiceBase.prototype.UserAccountExport = function (request) {
680
+ return this._connection.send("UserAccountExport", request);
681
+ };
682
+ AccessServiceBase.prototype.UserAction = function (request) {
683
+ return this._connection.send("UserAction", request);
684
+ };
685
+ AccessServiceBase.prototype.UserEdit = function (request) {
686
+ return this._connection.send("UserEdit", request);
687
+ };
688
+ AccessServiceBase.prototype.UserGroupEdit = function (request) {
689
+ return this._connection.send("UserGroupEdit", request);
690
+ };
691
+ AccessServiceBase.prototype.UserGroupEditInput = function (request) {
692
+ return this._connection.send("UserGroupEditInput", request);
693
+ };
694
+ AccessServiceBase.prototype.UserInfoEdit = function (request) {
695
+ return this._connection.send("UserInfoEdit", request);
696
+ };
697
+ AccessServiceBase.prototype.UserInfoEditInput = function (request) {
698
+ return this._connection.send("UserInfoEditInput", request);
699
+ };
700
+ AccessServiceBase.prototype.UserPosix = function (request) {
701
+ return this._connection.send("UserPosix", request);
702
+ };
703
+ AccessServiceBase.prototype.UserPosixInput = function (request) {
704
+ return this._connection.send("UserPosixInput", request);
705
+ };
706
+ AccessServiceBase.prototype.UserQuery = function (request) {
707
+ return this._connection.send("UserQuery", request);
708
+ };
709
+ AccessServiceBase.prototype.UserResetPass = function (request) {
710
+ return this._connection.send("UserResetPass", request);
711
+ };
712
+ AccessServiceBase.prototype.UserResetPassInput = function (request) {
713
+ return this._connection.send("UserResetPassInput", request);
714
+ };
715
+ AccessServiceBase.prototype.UserSudoers = function (request) {
716
+ return this._connection.send("UserSudoers", request);
717
+ };
718
+ AccessServiceBase.prototype.UserSudoersInput = function (request) {
719
+ return this._connection.send("UserSudoersInput", request);
720
+ };
721
+ AccessServiceBase.prototype.Users = function (request) {
722
+ return this._connection.send("Users", request);
723
+ };
724
+ return AccessServiceBase;
725
+ }(Service));
726
+
727
+ var AccessService = /** @class */ (function (_super) {
728
+ __extends(AccessService, _super);
729
+ function AccessService() {
730
+ return _super !== null && _super.apply(this, arguments) || this;
731
+ }
732
+ return AccessService;
733
+ }(AccessServiceBase));
734
+
500
735
  var AccountService = /** @class */ (function () {
501
736
  function AccountService(optsConnection) {
502
737
  this._connection = new ESPConnection(optsConnection, "Ws_Account", "1.05");
@@ -688,7 +923,7 @@ var EclService = /** @class */ (function (_super) {
688
923
  };
689
924
  EclService.prototype.requestJson = function (querySet, queryId) {
690
925
  // http://192.168.3.22:8002/WsEcl/example/request/query/roxie/peopleaccounts/json?display
691
- return this._connection.send("example/request/query/" + querySet + "/" + queryId + "/json", {}, "text").then(function (response) {
926
+ return this._connection.send("example/request/query/".concat(querySet, "/").concat(queryId, "/json"), {}, "text").then(function (response) {
692
927
  var requestSchema = JSON.parse(response);
693
928
  for (var key in requestSchema) {
694
929
  return requestSchema[key];
@@ -698,7 +933,7 @@ var EclService = /** @class */ (function (_super) {
698
933
  };
699
934
  EclService.prototype.responseJson = function (querySet, queryId) {
700
935
  // http://192.168.3.22:8002/WsEcl/example/response/query/roxie/peopleaccounts/json?display
701
- return this._connection.send("example/response/query/" + querySet + "/" + queryId + "/json", {}, "text").then(function (response) {
936
+ return this._connection.send("example/response/query/".concat(querySet, "/").concat(queryId, "/json"), {}, "text").then(function (response) {
702
937
  var responseSchema = JSON.parse(response);
703
938
  for (var key in responseSchema) {
704
939
  return responseSchema[key].Results;
@@ -714,7 +949,7 @@ var EclService = /** @class */ (function (_super) {
714
949
  };
715
950
  EclService.prototype.submit = function (querySet, queryId, request) {
716
951
  // http://192.168.3.22:8002/WsEcl/submit/query/roxie/peopleaccounts.1/json
717
- var action = "submit/query/" + querySet + "/" + queryId;
952
+ var action = "submit/query/".concat(querySet, "/").concat(queryId);
718
953
  return this._connection.send(action, request, "json2").then(function (response) {
719
954
  if (response.Results && response.Results.Exception) {
720
955
  throw new ESPExceptions(action, request, {
@@ -736,30 +971,30 @@ var LogAccessType;
736
971
  LogAccessType[LogAccessType["ByLogType"] = 3] = "ByLogType";
737
972
  LogAccessType[LogAccessType["ByTargetAudience"] = 4] = "ByTargetAudience";
738
973
  })(LogAccessType || (LogAccessType = {}));
739
- var LogaccessService = /** @class */ (function (_super) {
740
- __extends(LogaccessService, _super);
741
- function LogaccessService(optsConnection) {
742
- return _super.call(this, optsConnection, "WsLogaccess", "1") || this;
974
+ var LogaccessServiceBase = /** @class */ (function (_super) {
975
+ __extends(LogaccessServiceBase, _super);
976
+ function LogaccessServiceBase(optsConnection) {
977
+ return _super.call(this, optsConnection, "ws_logaccess", "1") || this;
743
978
  }
744
- LogaccessService.prototype.GetLogAccessInfo = function (request) {
979
+ LogaccessServiceBase.prototype.GetLogAccessInfo = function (request) {
745
980
  return this._connection.send("GetLogAccessInfo", request);
746
981
  };
747
- LogaccessService.prototype.GetLogs = function (request) {
982
+ LogaccessServiceBase.prototype.GetLogs = function (request) {
748
983
  return this._connection.send("GetLogs", request);
749
984
  };
750
- LogaccessService.prototype.Ping = function (request) {
985
+ LogaccessServiceBase.prototype.Ping = function (request) {
751
986
  return this._connection.send("Ping", request);
752
987
  };
753
- return LogaccessService;
988
+ return LogaccessServiceBase;
754
989
  }(Service));
755
990
 
756
- var LogaccessServiceEx = /** @class */ (function (_super) {
757
- __extends(LogaccessServiceEx, _super);
758
- function LogaccessServiceEx() {
991
+ var LogaccessService = /** @class */ (function (_super) {
992
+ __extends(LogaccessService, _super);
993
+ function LogaccessService() {
759
994
  return _super !== null && _super.apply(this, arguments) || this;
760
995
  }
761
- return LogaccessServiceEx;
762
- }(LogaccessService));
996
+ return LogaccessService;
997
+ }(LogaccessServiceBase));
763
998
 
764
999
  function ascending(a, b) {
765
1000
  return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
@@ -797,7 +1032,7 @@ function ascendingComparator(f) {
797
1032
  };
798
1033
  }
799
1034
 
800
- var ascendingBisect = bisector(ascending);
1035
+ bisector(ascending);
801
1036
 
802
1037
  function number(x) {
803
1038
  return x === null ? NaN : +x;
@@ -862,26 +1097,57 @@ function d3Mean(values, valueof) {
862
1097
  if (m) return sum / m;
863
1098
  }
864
1099
 
865
- var MachineService = /** @class */ (function () {
866
- function MachineService(optsConnection) {
867
- this._connection = new ESPConnection(optsConnection, "ws_machine", "1.13");
1100
+ var MachineServiceBase = /** @class */ (function (_super) {
1101
+ __extends(MachineServiceBase, _super);
1102
+ function MachineServiceBase(optsConnection) {
1103
+ return _super.call(this, optsConnection, "ws_machine", "1.17") || this;
868
1104
  }
869
- MachineService.prototype.GetTargetClusterInfo = function (request) {
870
- if (request === void 0) { request = {}; }
1105
+ MachineServiceBase.prototype.GetComponentStatus = function (request) {
1106
+ return this._connection.send("GetComponentStatus", request);
1107
+ };
1108
+ MachineServiceBase.prototype.GetComponentUsage = function (request) {
1109
+ return this._connection.send("GetComponentUsage", request);
1110
+ };
1111
+ MachineServiceBase.prototype.GetMachineInfo = function (request) {
1112
+ return this._connection.send("GetMachineInfo", request);
1113
+ };
1114
+ MachineServiceBase.prototype.GetMachineInfoEx = function (request) {
1115
+ return this._connection.send("GetMachineInfoEx", request);
1116
+ };
1117
+ MachineServiceBase.prototype.GetMetrics = function (request) {
1118
+ return this._connection.send("GetMetrics", request);
1119
+ };
1120
+ MachineServiceBase.prototype.GetNodeGroupUsage = function (request) {
1121
+ return this._connection.send("GetNodeGroupUsage", request);
1122
+ };
1123
+ MachineServiceBase.prototype.GetTargetClusterInfo = function (request) {
871
1124
  return this._connection.send("GetTargetClusterInfo", request);
872
1125
  };
873
- MachineService.prototype.GetTargetClusterUsage = function (targetClusters, bypassCachedResult) {
1126
+ MachineServiceBase.prototype.GetTargetClusterUsage = function (request) {
1127
+ return this._connection.send("GetTargetClusterUsage", request);
1128
+ };
1129
+ MachineServiceBase.prototype.Ping = function (request) {
1130
+ return this._connection.send("Ping", request);
1131
+ };
1132
+ MachineServiceBase.prototype.UpdateComponentStatus = function (request) {
1133
+ return this._connection.send("UpdateComponentStatus", request);
1134
+ };
1135
+ return MachineServiceBase;
1136
+ }(Service));
1137
+
1138
+ var MachineService = /** @class */ (function (_super) {
1139
+ __extends(MachineService, _super);
1140
+ function MachineService() {
1141
+ return _super !== null && _super.apply(this, arguments) || this;
1142
+ }
1143
+ MachineService.prototype.GetTargetClusterUsageEx = function (targetClusters, bypassCachedResult) {
874
1144
  if (bypassCachedResult === void 0) { bypassCachedResult = false; }
875
1145
  return this._connection.send("GetTargetClusterUsage", {
876
1146
  TargetClusters: targetClusters ? { Item: targetClusters } : {},
877
1147
  BypassCachedResult: bypassCachedResult
878
1148
  }).then(function (response) {
879
1149
  return util.exists("TargetClusterUsages.TargetClusterUsage", response) ? response.TargetClusterUsages.TargetClusterUsage : [];
880
- });
881
- };
882
- MachineService.prototype.GetTargetClusterUsageEx = function (targetClusters, bypassCachedResult) {
883
- if (bypassCachedResult === void 0) { bypassCachedResult = false; }
884
- return this.GetTargetClusterUsage(targetClusters, bypassCachedResult).then(function (response) {
1150
+ }).then(function (response) {
885
1151
  return response.filter(function (tcu) { return !!tcu.ComponentUsages; }).map(function (tcu) {
886
1152
  var ComponentUsages = tcu.ComponentUsages.ComponentUsage.map(function (cu) {
887
1153
  var MachineUsages = (cu.MachineUsages && cu.MachineUsages.MachineUsage ? cu.MachineUsages.MachineUsage : []).map(function (mu) {
@@ -919,32 +1185,32 @@ var MachineService = /** @class */ (function () {
919
1185
  });
920
1186
  };
921
1187
  return MachineService;
922
- }());
1188
+ }(MachineServiceBase));
923
1189
 
924
- var ResourcesService = /** @class */ (function (_super) {
925
- __extends(ResourcesService, _super);
926
- function ResourcesService(optsConnection) {
1190
+ var ResourcesServiceBase = /** @class */ (function (_super) {
1191
+ __extends(ResourcesServiceBase, _super);
1192
+ function ResourcesServiceBase(optsConnection) {
927
1193
  return _super.call(this, optsConnection, "WsResources", "1.01") || this;
928
1194
  }
929
- ResourcesService.prototype.Ping = function (request) {
1195
+ ResourcesServiceBase.prototype.Ping = function (request) {
930
1196
  return this._connection.send("Ping", request);
931
1197
  };
932
- ResourcesService.prototype.ServiceQuery = function (request) {
1198
+ ResourcesServiceBase.prototype.ServiceQuery = function (request) {
933
1199
  return this._connection.send("ServiceQuery", request);
934
1200
  };
935
- ResourcesService.prototype.WebLinksQuery = function (request) {
1201
+ ResourcesServiceBase.prototype.WebLinksQuery = function (request) {
936
1202
  return this._connection.send("WebLinksQuery", request);
937
1203
  };
938
- return ResourcesService;
1204
+ return ResourcesServiceBase;
939
1205
  }(Service));
940
1206
 
941
- var ResourcesServiceEx = /** @class */ (function (_super) {
942
- __extends(ResourcesServiceEx, _super);
943
- function ResourcesServiceEx() {
1207
+ var ResourcesService = /** @class */ (function (_super) {
1208
+ __extends(ResourcesService, _super);
1209
+ function ResourcesService() {
944
1210
  return _super !== null && _super.apply(this, arguments) || this;
945
1211
  }
946
- return ResourcesServiceEx;
947
- }(ResourcesService));
1212
+ return ResourcesService;
1213
+ }(ResourcesServiceBase));
948
1214
 
949
1215
  var SMCService = /** @class */ (function () {
950
1216
  function SMCService(optsConnection) {
@@ -1043,13 +1309,18 @@ var StoreService = /** @class */ (function (_super) {
1043
1309
  return StoreService;
1044
1310
  }(Service));
1045
1311
 
1312
+ /*
1313
+ Response structures generated via:
1314
+ * http://localhost:8010/WsTopology/TpLogicalClusterQuery?respjson_
1315
+ * http://json2ts.com/
1316
+ */
1317
+ exports.TpLogicalClusterQuery = void 0;
1046
1318
  (function (TpLogicalClusterQuery) {
1047
- var RoxieQueueFilter;
1048
1319
  (function (RoxieQueueFilter) {
1049
1320
  RoxieQueueFilter["All"] = "All";
1050
1321
  RoxieQueueFilter["QueriesOnly"] = "QueriesOnly";
1051
1322
  RoxieQueueFilter["WorkunitsOnly"] = "WorkunitsOnly";
1052
- })(RoxieQueueFilter = TpLogicalClusterQuery.RoxieQueueFilter || (TpLogicalClusterQuery.RoxieQueueFilter = {}));
1323
+ })(TpLogicalClusterQuery.RoxieQueueFilter || (TpLogicalClusterQuery.RoxieQueueFilter = {}));
1053
1324
  })(exports.TpLogicalClusterQuery || (exports.TpLogicalClusterQuery = {}));
1054
1325
  var TopologyService = /** @class */ (function (_super) {
1055
1326
  __extends(TopologyService, _super);
@@ -1105,6 +1376,13 @@ var TopologyService = /** @class */ (function (_super) {
1105
1376
  return TopologyService;
1106
1377
  }(Service));
1107
1378
 
1379
+ /*
1380
+ Response structures generated via:
1381
+ * http://localhost:8010/WsWorkunits/WUInfo?reqjson_
1382
+ * http://localhost:8010/WsWorkunits/WUInfo?respjson_
1383
+ * http://json2ts.com/
1384
+ */
1385
+ exports.WUStateID = void 0;
1108
1386
  (function (WUStateID) {
1109
1387
  WUStateID[WUStateID["Unknown"] = 0] = "Unknown";
1110
1388
  WUStateID[WUStateID["Compiled"] = 1] = "Compiled";
@@ -1129,8 +1407,8 @@ var TopologyService = /** @class */ (function (_super) {
1129
1407
  function isECLResult(_) {
1130
1408
  return typeof _.Name === "string";
1131
1409
  }
1410
+ exports.WUUpdate = void 0;
1132
1411
  (function (WUUpdate) {
1133
- var Action;
1134
1412
  (function (Action) {
1135
1413
  Action[Action["Unknown"] = 0] = "Unknown";
1136
1414
  Action[Action["Compile"] = 1] = "Compile";
@@ -1142,7 +1420,7 @@ function isECLResult(_) {
1142
1420
  Action[Action["Resume"] = 7] = "Resume";
1143
1421
  Action[Action["Debug"] = 8] = "Debug";
1144
1422
  Action[Action["__size"] = 9] = "__size";
1145
- })(Action = WUUpdate.Action || (WUUpdate.Action = {}));
1423
+ })(WUUpdate.Action || (WUUpdate.Action = {}));
1146
1424
  })(exports.WUUpdate || (exports.WUUpdate = {}));
1147
1425
  function isWUQueryECLWorkunit(_) {
1148
1426
  return _.TotalClusterTime !== undefined;
@@ -1344,6 +1622,8 @@ var day = newInterval(function(date) {
1344
1622
  return date.getDate() - 1;
1345
1623
  });
1346
1624
 
1625
+ var timeDay = day;
1626
+
1347
1627
  function weekday(i) {
1348
1628
  return newInterval(function(date) {
1349
1629
  date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);
@@ -1357,11 +1637,11 @@ function weekday(i) {
1357
1637
 
1358
1638
  var sunday = weekday(0);
1359
1639
  var monday = weekday(1);
1360
- var tuesday = weekday(2);
1361
- var wednesday = weekday(3);
1640
+ weekday(2);
1641
+ weekday(3);
1362
1642
  var thursday = weekday(4);
1363
- var friday = weekday(5);
1364
- var saturday = weekday(6);
1643
+ weekday(5);
1644
+ weekday(6);
1365
1645
 
1366
1646
  var year = newInterval(function(date) {
1367
1647
  date.setMonth(0, 1);
@@ -1385,6 +1665,8 @@ year.every = function(k) {
1385
1665
  });
1386
1666
  };
1387
1667
 
1668
+ var timeYear = year;
1669
+
1388
1670
  var utcDay = newInterval(function(date) {
1389
1671
  date.setUTCHours(0, 0, 0, 0);
1390
1672
  }, function(date, step) {
@@ -1395,6 +1677,8 @@ var utcDay = newInterval(function(date) {
1395
1677
  return date.getUTCDate() - 1;
1396
1678
  });
1397
1679
 
1680
+ var utcDay$1 = utcDay;
1681
+
1398
1682
  function utcWeekday(i) {
1399
1683
  return newInterval(function(date) {
1400
1684
  date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);
@@ -1408,11 +1692,11 @@ function utcWeekday(i) {
1408
1692
 
1409
1693
  var utcSunday = utcWeekday(0);
1410
1694
  var utcMonday = utcWeekday(1);
1411
- var utcTuesday = utcWeekday(2);
1412
- var utcWednesday = utcWeekday(3);
1695
+ utcWeekday(2);
1696
+ utcWeekday(3);
1413
1697
  var utcThursday = utcWeekday(4);
1414
- var utcFriday = utcWeekday(5);
1415
- var utcSaturday = utcWeekday(6);
1698
+ utcWeekday(5);
1699
+ utcWeekday(6);
1416
1700
 
1417
1701
  var utcYear = newInterval(function(date) {
1418
1702
  date.setUTCMonth(0, 1);
@@ -1436,6 +1720,8 @@ utcYear.every = function(k) {
1436
1720
  });
1437
1721
  };
1438
1722
 
1723
+ var utcYear$1 = utcYear;
1724
+
1439
1725
  function localDate(d) {
1440
1726
  if (0 <= d.y && d.y < 100) {
1441
1727
  var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);
@@ -1624,7 +1910,7 @@ function formatLocale(locale) {
1624
1910
  return function(string) {
1625
1911
  var d = newDate(1900, undefined, 1),
1626
1912
  i = parseSpecifier(d, specifier, string += "", 0),
1627
- week, day$1;
1913
+ week, day;
1628
1914
  if (i != string.length) return null;
1629
1915
 
1630
1916
  // If a UNIX timestamp is specified, return it.
@@ -1645,25 +1931,25 @@ function formatLocale(locale) {
1645
1931
  if (d.V < 1 || d.V > 53) return null;
1646
1932
  if (!("w" in d)) d.w = 1;
1647
1933
  if ("Z" in d) {
1648
- week = utcDate(newDate(d.y, 0, 1)), day$1 = week.getUTCDay();
1649
- week = day$1 > 4 || day$1 === 0 ? utcMonday.ceil(week) : utcMonday(week);
1650
- week = utcDay.offset(week, (d.V - 1) * 7);
1934
+ week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();
1935
+ week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);
1936
+ week = utcDay$1.offset(week, (d.V - 1) * 7);
1651
1937
  d.y = week.getUTCFullYear();
1652
1938
  d.m = week.getUTCMonth();
1653
1939
  d.d = week.getUTCDate() + (d.w + 6) % 7;
1654
1940
  } else {
1655
- week = localDate(newDate(d.y, 0, 1)), day$1 = week.getDay();
1656
- week = day$1 > 4 || day$1 === 0 ? monday.ceil(week) : monday(week);
1657
- week = day.offset(week, (d.V - 1) * 7);
1941
+ week = localDate(newDate(d.y, 0, 1)), day = week.getDay();
1942
+ week = day > 4 || day === 0 ? monday.ceil(week) : monday(week);
1943
+ week = timeDay.offset(week, (d.V - 1) * 7);
1658
1944
  d.y = week.getFullYear();
1659
1945
  d.m = week.getMonth();
1660
1946
  d.d = week.getDate() + (d.w + 6) % 7;
1661
1947
  }
1662
1948
  } else if ("W" in d || "U" in d) {
1663
1949
  if (!("w" in d)) d.w = "u" in d ? d.u % 7 : "W" in d ? 1 : 0;
1664
- day$1 = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();
1950
+ day = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();
1665
1951
  d.m = 0;
1666
- d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day$1 + 5) % 7 : d.w + d.U * 7 - (day$1 + 6) % 7;
1952
+ d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;
1667
1953
  }
1668
1954
 
1669
1955
  // If a time zone is specified, all fields are interpreted as UTC and then
@@ -1949,7 +2235,7 @@ function formatHour12(d, p) {
1949
2235
  }
1950
2236
 
1951
2237
  function formatDayOfYear(d, p) {
1952
- return pad(1 + day.count(year(d), d), p, 3);
2238
+ return pad(1 + timeDay.count(timeYear(d), d), p, 3);
1953
2239
  }
1954
2240
 
1955
2241
  function formatMilliseconds(d, p) {
@@ -1978,7 +2264,7 @@ function formatWeekdayNumberMonday(d) {
1978
2264
  }
1979
2265
 
1980
2266
  function formatWeekNumberSunday(d, p) {
1981
- return pad(sunday.count(year(d) - 1, d), p, 2);
2267
+ return pad(sunday.count(timeYear(d) - 1, d), p, 2);
1982
2268
  }
1983
2269
 
1984
2270
  function dISO(d) {
@@ -1988,7 +2274,7 @@ function dISO(d) {
1988
2274
 
1989
2275
  function formatWeekNumberISO(d, p) {
1990
2276
  d = dISO(d);
1991
- return pad(thursday.count(year(d), d) + (year(d).getDay() === 4), p, 2);
2277
+ return pad(thursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);
1992
2278
  }
1993
2279
 
1994
2280
  function formatWeekdayNumberSunday(d) {
@@ -1996,7 +2282,7 @@ function formatWeekdayNumberSunday(d) {
1996
2282
  }
1997
2283
 
1998
2284
  function formatWeekNumberMonday(d, p) {
1999
- return pad(monday.count(year(d) - 1, d), p, 2);
2285
+ return pad(monday.count(timeYear(d) - 1, d), p, 2);
2000
2286
  }
2001
2287
 
2002
2288
  function formatYear(d, p) {
@@ -2038,7 +2324,7 @@ function formatUTCHour12(d, p) {
2038
2324
  }
2039
2325
 
2040
2326
  function formatUTCDayOfYear(d, p) {
2041
- return pad(1 + utcDay.count(utcYear(d), d), p, 3);
2327
+ return pad(1 + utcDay$1.count(utcYear$1(d), d), p, 3);
2042
2328
  }
2043
2329
 
2044
2330
  function formatUTCMilliseconds(d, p) {
@@ -2067,7 +2353,7 @@ function formatUTCWeekdayNumberMonday(d) {
2067
2353
  }
2068
2354
 
2069
2355
  function formatUTCWeekNumberSunday(d, p) {
2070
- return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);
2356
+ return pad(utcSunday.count(utcYear$1(d) - 1, d), p, 2);
2071
2357
  }
2072
2358
 
2073
2359
  function UTCdISO(d) {
@@ -2077,7 +2363,7 @@ function UTCdISO(d) {
2077
2363
 
2078
2364
  function formatUTCWeekNumberISO(d, p) {
2079
2365
  d = UTCdISO(d);
2080
- return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);
2366
+ return pad(utcThursday.count(utcYear$1(d), d) + (utcYear$1(d).getUTCDay() === 4), p, 2);
2081
2367
  }
2082
2368
 
2083
2369
  function formatUTCWeekdayNumberSunday(d) {
@@ -2085,7 +2371,7 @@ function formatUTCWeekdayNumberSunday(d) {
2085
2371
  }
2086
2372
 
2087
2373
  function formatUTCWeekNumberMonday(d, p) {
2088
- return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);
2374
+ return pad(utcMonday.count(utcYear$1(d) - 1, d), p, 2);
2089
2375
  }
2090
2376
 
2091
2377
  function formatUTCYear(d, p) {
@@ -2124,8 +2410,6 @@ function formatUnixTimestampSeconds(d) {
2124
2410
  }
2125
2411
 
2126
2412
  var locale;
2127
- var timeFormat;
2128
- var timeParse;
2129
2413
  var utcFormat;
2130
2414
  var utcParse;
2131
2415
 
@@ -2142,8 +2426,6 @@ defaultLocale({
2142
2426
 
2143
2427
  function defaultLocale(definition) {
2144
2428
  locale = formatLocale(definition);
2145
- timeFormat = locale.format;
2146
- timeParse = locale.parse;
2147
2429
  utcFormat = locale.utcFormat;
2148
2430
  utcParse = locale.utcParse;
2149
2431
  return locale;
@@ -2241,12 +2523,12 @@ var GraphCache = /** @class */ (function (_super) {
2241
2523
  }
2242
2524
  return GraphCache;
2243
2525
  }(util.Cache));
2244
- function walkXmlJson(node, callback, stack) {
2526
+ function walkXmlJson$1(node, callback, stack) {
2245
2527
  stack = stack || [];
2246
2528
  stack.push(node);
2247
2529
  callback(node.name, node.$, node.children(), stack);
2248
2530
  node.children().forEach(function (childNode) {
2249
- walkXmlJson(childNode, callback, stack);
2531
+ walkXmlJson$1(childNode, callback, stack);
2250
2532
  });
2251
2533
  stack.pop();
2252
2534
  }
@@ -2295,7 +2577,7 @@ function createXGMMLGraph(id, graphs) {
2295
2577
  return item._["id"];
2296
2578
  });
2297
2579
  var stack = [graph.root];
2298
- walkXmlJson(graphs, function (tag, attributes, childNodes, _stack) {
2580
+ walkXmlJson$1(graphs, function (tag, attributes, childNodes, _stack) {
2299
2581
  var top = stack[stack.length - 1];
2300
2582
  switch (tag) {
2301
2583
  case "graph":
@@ -2370,7 +2652,7 @@ function createGraph(scopes) {
2370
2652
  scopeStack.pop();
2371
2653
  }
2372
2654
  if (!scopeParent1) {
2373
- console.log("Missing SG:Parent (" + scope.Id + "): " + scope.parentScope());
2655
+ console.log("Missing SG:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2374
2656
  }
2375
2657
  else {
2376
2658
  var parent1 = scopeParent1;
@@ -2380,7 +2662,7 @@ function createGraph(scopes) {
2380
2662
  case "activity":
2381
2663
  var scopeParent2 = subgraphs[scope.parentScope()];
2382
2664
  if (!scopeParent2) {
2383
- console.log("Missing A:Parent (" + scope.Id + "): " + scope.parentScope());
2665
+ console.log("Missing A:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2384
2666
  }
2385
2667
  else {
2386
2668
  vertices[scope.ScopeName] = scopeParent2.createVertex(scope);
@@ -2392,7 +2674,7 @@ function createGraph(scopes) {
2392
2674
  case "function":
2393
2675
  var scopeParent3 = vertices[scope.parentScope()];
2394
2676
  if (!scopeParent3) {
2395
- console.log("Missing F:Parent (" + scope.Id + "): " + scope.parentScope());
2677
+ console.log("Missing F:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2396
2678
  }
2397
2679
  else {
2398
2680
  scopeParent3._.children().push(scope);
@@ -2404,7 +2686,7 @@ function createGraph(scopes) {
2404
2686
  var scope = edges[id];
2405
2687
  var scopeParent3 = subgraphs[scope.parentScope()];
2406
2688
  if (!scopeParent3) {
2407
- console.log("Missing E:Parent (" + scope.Id + "): " + scope.parentScope());
2689
+ console.log("Missing E:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2408
2690
  }
2409
2691
  else {
2410
2692
  var parent3 = scopeParent3;
@@ -2416,7 +2698,7 @@ function createGraph(scopes) {
2416
2698
  catch (e) {
2417
2699
  // const sourceIndex = scope.attr("SourceIndex").RawValue;
2418
2700
  // const targetIndex = scope.attr("TargetIndex").RawValue;
2419
- console.log("Invalid Edge: " + id);
2701
+ console.log("Invalid Edge: ".concat(id));
2420
2702
  }
2421
2703
  }
2422
2704
  }
@@ -2709,7 +2991,7 @@ var GlobalResultCache = /** @class */ (function (_super) {
2709
2991
  __extends(GlobalResultCache, _super);
2710
2992
  function GlobalResultCache() {
2711
2993
  return _super.call(this, function (obj) {
2712
- return obj.BaseUrl + "-" + obj.Wuid + "-" + obj.ResultName;
2994
+ return "".concat(obj.BaseUrl, "-").concat(obj.Wuid, "-").concat(obj.ResultName);
2713
2995
  }) || this;
2714
2996
  }
2715
2997
  return GlobalResultCache;
@@ -3180,21 +3462,21 @@ var BaseScope = /** @class */ (function (_super) {
3180
3462
  var label = "";
3181
3463
  var rows = [];
3182
3464
  label = this.Id;
3183
- rows.push("<tr><td class=\"key\">ID:</td><td class=\"value\">" + this.Id + "</td></tr>");
3465
+ rows.push("<tr><td class=\"key\">ID:</td><td class=\"value\">".concat(this.Id, "</td></tr>"));
3184
3466
  if (parentScope) {
3185
- rows.push("<tr><td class=\"key\">Parent ID:</td><td class=\"value\">" + parentScope.Id + "</td></tr>");
3467
+ rows.push("<tr><td class=\"key\">Parent ID:</td><td class=\"value\">".concat(parentScope.Id, "</td></tr>"));
3186
3468
  }
3187
- rows.push("<tr><td class=\"key\">Scope:</td><td class=\"value\">" + this.ScopeName + "</td></tr>");
3469
+ rows.push("<tr><td class=\"key\">Scope:</td><td class=\"value\">".concat(this.ScopeName, "</td></tr>"));
3188
3470
  var attrs = this.formattedAttrs();
3189
3471
  for (var key in attrs) {
3190
3472
  if (key === "Label") {
3191
3473
  label = attrs[key];
3192
3474
  }
3193
3475
  else {
3194
- rows.push("<tr><td class=\"key\">" + key + "</td><td class=\"value\">" + attrs[key] + "</td></tr>");
3476
+ rows.push("<tr><td class=\"key\">".concat(key, "</td><td class=\"value\">").concat(attrs[key], "</td></tr>"));
3195
3477
  }
3196
3478
  }
3197
- return "<div class=\"eclwatch_WUGraph_Tooltip\" style=\"max-width:480px\">\n <h4 align=\"center\">" + label + "</h4>\n <table>\n " + rows.join("") + "\n </table>\n </div>";
3479
+ return "<div class=\"eclwatch_WUGraph_Tooltip\" style=\"max-width:480px\">\n <h4 align=\"center\">".concat(label, "</h4>\n <table>\n ").concat(rows.join(""), "\n </table>\n </div>");
3198
3480
  };
3199
3481
  return BaseScope;
3200
3482
  }(util.StateObject));
@@ -3334,7 +3616,7 @@ var WorkunitCache = /** @class */ (function (_super) {
3334
3616
  __extends(WorkunitCache, _super);
3335
3617
  function WorkunitCache() {
3336
3618
  return _super.call(this, function (obj) {
3337
- return obj.BaseUrl + "-" + obj.Wuid;
3619
+ return "".concat(obj.BaseUrl, "-").concat(obj.Wuid);
3338
3620
  }) || this;
3339
3621
  }
3340
3622
  return WorkunitCache;
@@ -4544,12 +4826,12 @@ var Workunit = /** @class */ (function (_super) {
4544
4826
  var optsStr = "";
4545
4827
  for (var key in opts) {
4546
4828
  if (opts.hasOwnProperty(key)) {
4547
- optsStr += " " + key + "='" + opts[key] + "'";
4829
+ optsStr += " ".concat(key, "='").concat(opts[key], "'");
4548
4830
  }
4549
4831
  }
4550
4832
  return this.connection.WUCDebug({
4551
4833
  Wuid: this.Wuid,
4552
- Command: "<debug:" + command + " uid='" + this.Wuid + "'" + optsStr + "/>"
4834
+ Command: "<debug:".concat(command, " uid='").concat(this.Wuid, "'").concat(optsStr, "/>")
4553
4835
  }).then(function (response) {
4554
4836
  return response;
4555
4837
  });
@@ -4680,7 +4962,7 @@ function getECLDefinition(vertex) {
4680
4962
  column: +_col
4681
4963
  };
4682
4964
  }
4683
- throw new Error("Bad definition: " + vertex._[ATTR_DEFINITION]);
4965
+ throw new Error("Bad definition: ".concat(vertex._[ATTR_DEFINITION]));
4684
4966
  }
4685
4967
  function breakpointLocations(graph, path) {
4686
4968
  var retVal = [];
@@ -4869,12 +5151,12 @@ var LogicalFileCache = /** @class */ (function (_super) {
4869
5151
  __extends(LogicalFileCache, _super);
4870
5152
  function LogicalFileCache() {
4871
5153
  return _super.call(this, function (obj) {
4872
- return obj.BaseUrl + "-" + obj.Cluster + "-" + obj.Name;
5154
+ return "".concat(obj.BaseUrl, "-").concat(obj.Cluster, "-").concat(obj.Name);
4873
5155
  }) || this;
4874
5156
  }
4875
5157
  return LogicalFileCache;
4876
5158
  }(util.Cache));
4877
- var _store = new LogicalFileCache();
5159
+ var _store$1 = new LogicalFileCache();
4878
5160
  var LogicalFile = /** @class */ (function (_super) {
4879
5161
  __extends(LogicalFile, _super);
4880
5162
  function LogicalFile(optsConnection, Cluster, Name) {
@@ -5157,14 +5439,14 @@ var LogicalFile = /** @class */ (function (_super) {
5157
5439
  configurable: true
5158
5440
  });
5159
5441
  LogicalFile.attach = function (optsConnection, Cluster, Name) {
5160
- var retVal = _store.get({ BaseUrl: optsConnection.baseUrl, Cluster: Cluster, Name: Name }, function () {
5442
+ var retVal = _store$1.get({ BaseUrl: optsConnection.baseUrl, Cluster: Cluster, Name: Name }, function () {
5161
5443
  return new LogicalFile(optsConnection, Cluster, Name);
5162
5444
  });
5163
5445
  return retVal;
5164
5446
  };
5165
5447
  LogicalFile.prototype.filePartsOnCluster = function () {
5166
5448
  var _a;
5167
- return __spreadArray([], (((_a = this.DFUFilePartsOnClusters) === null || _a === void 0 ? void 0 : _a.DFUFilePartsOnCluster) || []));
5449
+ return __spreadArray([], (((_a = this.DFUFilePartsOnClusters) === null || _a === void 0 ? void 0 : _a.DFUFilePartsOnCluster) || []), true);
5168
5450
  };
5169
5451
  LogicalFile.prototype.fileParts = function () {
5170
5452
  var _a, _b;
@@ -5317,6 +5599,11 @@ var Machine = /** @class */ (function (_super) {
5317
5599
  enumerable: false,
5318
5600
  configurable: true
5319
5601
  });
5602
+ Object.defineProperty(Machine.prototype, "Channels", {
5603
+ get: function () { return this.get("Channels"); },
5604
+ enumerable: false,
5605
+ configurable: true
5606
+ });
5320
5607
  Object.defineProperty(Machine.prototype, "Processors", {
5321
5608
  get: function () { return this.get("Processors"); },
5322
5609
  enumerable: false,
@@ -5347,6 +5634,11 @@ var Machine = /** @class */ (function (_super) {
5347
5634
  enumerable: false,
5348
5635
  configurable: true
5349
5636
  });
5637
+ Object.defineProperty(Machine.prototype, "Exception", {
5638
+ get: function () { return this.get("Exception"); },
5639
+ enumerable: false,
5640
+ configurable: true
5641
+ });
5350
5642
  Machine.attach = function (optsConnection, address, state) {
5351
5643
  var retVal = _machines.get({ Address: address }, function () {
5352
5644
  return new Machine(optsConnection);
@@ -5611,12 +5903,12 @@ var StoreCache = /** @class */ (function (_super) {
5611
5903
  __extends(StoreCache, _super);
5612
5904
  function StoreCache() {
5613
5905
  return _super.call(this, function (obj) {
5614
- return obj.BaseUrl + "-" + obj.Name + ":" + obj.UserSpecific + "-" + obj.Namespace;
5906
+ return "".concat(obj.BaseUrl, "-").concat(obj.Name, ":").concat(obj.UserSpecific, "-").concat(obj.Namespace);
5615
5907
  }) || this;
5616
5908
  }
5617
5909
  return StoreCache;
5618
5910
  }(util.Cache));
5619
- var _store$1 = new StoreCache();
5911
+ var _store = new StoreCache();
5620
5912
  var ValueChangedMessage = /** @class */ (function (_super) {
5621
5913
  __extends(ValueChangedMessage, _super);
5622
5914
  function ValueChangedMessage(key, value, oldValue) {
@@ -5665,7 +5957,7 @@ var Store = /** @class */ (function () {
5665
5957
  Store.attach = function (optsConnection, Name, Namespace, UserSpecific) {
5666
5958
  if (Name === void 0) { Name = "HPCCApps"; }
5667
5959
  if (UserSpecific === void 0) { UserSpecific = true; }
5668
- var retVal = _store$1.get({ BaseUrl: optsConnection.baseUrl, Name: Name, UserSpecific: UserSpecific, Namespace: Namespace }, function () {
5960
+ var retVal = _store.get({ BaseUrl: optsConnection.baseUrl, Name: Name, UserSpecific: UserSpecific, Namespace: Namespace }, function () {
5669
5961
  return new Store(optsConnection, Name, Namespace, UserSpecific);
5670
5962
  });
5671
5963
  return retVal;
@@ -5689,7 +5981,7 @@ var Store = /** @class */ (function () {
5689
5981
  _this._dispatch.post(new ValueChangedMessage(key, value, oldValue));
5690
5982
  }
5691
5983
  }).catch(function (e) {
5692
- console.error("Store.set(\"" + key + "\", \"" + value + "\") failed:", e);
5984
+ console.error("Store.set(\"".concat(key, "\", \"").concat(value, "\") failed:"), e);
5693
5985
  });
5694
5986
  };
5695
5987
  Store.prototype.get = function (key, broadcast) {
@@ -5708,7 +6000,7 @@ var Store = /** @class */ (function () {
5708
6000
  }
5709
6001
  return response.Value;
5710
6002
  }).catch(function (e) {
5711
- console.error("Store.get(" + key + ") failed:", e);
6003
+ console.error("Store.get(".concat(key, ") failed:"), e);
5712
6004
  return undefined;
5713
6005
  });
5714
6006
  };
@@ -5758,7 +6050,7 @@ var Store = /** @class */ (function () {
5758
6050
  _this._dispatch.post(new ValueChangedMessage(key, undefined, oldValue));
5759
6051
  }
5760
6052
  }).catch(function (e) {
5761
- console.error("Store.delete(" + key + ") failed:", e);
6053
+ console.error("Store.delete(".concat(key, ") failed:"), e);
5762
6054
  });
5763
6055
  };
5764
6056
  Store.prototype.monitor = function (callback) {
@@ -5771,7 +6063,7 @@ var TargetClusterCache = /** @class */ (function (_super) {
5771
6063
  __extends(TargetClusterCache, _super);
5772
6064
  function TargetClusterCache() {
5773
6065
  return _super.call(this, function (obj) {
5774
- return obj.BaseUrl + "-" + obj.Name;
6066
+ return "".concat(obj.BaseUrl, "-").concat(obj.Name);
5775
6067
  }) || this;
5776
6068
  }
5777
6069
  return TargetClusterCache;
@@ -5870,7 +6162,7 @@ var TargetCluster = /** @class */ (function (_super) {
5870
6162
  var _this = this;
5871
6163
  if (request === void 0) { request = {}; }
5872
6164
  return this.machineConnection.GetTargetClusterInfo(__assign({ TargetClusters: {
5873
- Item: [this.Type + ":" + this.Name]
6165
+ Item: ["".concat(this.Type, ":").concat(this.Name)]
5874
6166
  } }, request)).then(function (response) {
5875
6167
  var retVal = [];
5876
6168
  for (var _i = 0, _a = response.TargetClusterInfoList.TargetClusterInfo; _i < _a.length; _i++) {
@@ -6036,7 +6328,7 @@ var Topology = /** @class */ (function (_super) {
6036
6328
  }
6037
6329
  }
6038
6330
  }
6039
- return rootProtocol + "//" + ip + ":" + port + "/";
6331
+ return "".concat(rootProtocol, "//").concat(ip, ":").concat(port, "/");
6040
6332
  });
6041
6333
  };
6042
6334
  Topology.prototype.fetchTargetClusters = function () {
@@ -6102,7 +6394,7 @@ var Topology = /** @class */ (function (_super) {
6102
6394
  return Topology;
6103
6395
  }(util.StateObject));
6104
6396
 
6105
- var logger$2 = util.scopedLogger("clienttools/eclmeta");
6397
+ util.scopedLogger("clienttools/eclmeta");
6106
6398
  var Attr = /** @class */ (function () {
6107
6399
  function Attr(xmlAttr) {
6108
6400
  this.__attrs = xmlAttr.$;
@@ -6134,7 +6426,7 @@ var ECLScope = /** @class */ (function () {
6134
6426
  if (end === void 0) { end = Number.MAX_VALUE; }
6135
6427
  this.name = name;
6136
6428
  this.type = type;
6137
- this.sourcePath = path.normalize(sourcePath);
6429
+ this.sourcePath = path__namespace.normalize(sourcePath);
6138
6430
  this.line = +line - 1;
6139
6431
  this.start = +start;
6140
6432
  this.body = +body;
@@ -6259,7 +6551,7 @@ var Source = /** @class */ (function (_super) {
6259
6551
  fakeNode.appendAttribute("ref", nameParts.join("."));
6260
6552
  _this.imports = __spreadArray([
6261
6553
  new Import(fakeNode)
6262
- ], _this.parseImports(xmlSource.children("Import")));
6554
+ ], _this.parseImports(xmlSource.children("Import")), true);
6263
6555
  return _this;
6264
6556
  }
6265
6557
  Source.prototype.parseImports = function (imports) {
@@ -6287,10 +6579,10 @@ var Source = /** @class */ (function (_super) {
6287
6579
  };
6288
6580
  return Source;
6289
6581
  }(ECLScope));
6290
- var isHiddenDirectory = function (source) { return path.basename(source).indexOf(".") === 0; };
6291
- var isDirectory = function (source) { return fs.lstatSync(source).isDirectory() && !isHiddenDirectory(source); };
6292
- var isEcl = function (source) { return [".ecl", ".ecllib"].indexOf(path.extname(source).toLowerCase()) >= 0; };
6293
- var modAttrs = function (source) { return fs.readdirSync(source).map(function (name) { return path.join(source, name); }).filter(function (path) { return isDirectory(path) || isEcl(path); }); };
6582
+ var isHiddenDirectory = function (source) { return path__namespace.basename(source).indexOf(".") === 0; };
6583
+ var isDirectory = function (source) { return fs__namespace.lstatSync(source).isDirectory() && !isHiddenDirectory(source); };
6584
+ var isEcl = function (source) { return [".ecl", ".ecllib"].indexOf(path__namespace.extname(source).toLowerCase()) >= 0; };
6585
+ var modAttrs = function (source) { return fs__namespace.readdirSync(source).map(function (name) { return path__namespace.join(source, name); }).filter(function (path) { return isDirectory(path) || isEcl(path); }); };
6294
6586
  var File = /** @class */ (function (_super) {
6295
6587
  __extends(File, _super);
6296
6588
  function File(name, sourcePath) {
@@ -6309,7 +6601,7 @@ var Folder = /** @class */ (function (_super) {
6309
6601
  Folder.prototype.suggestions = function () {
6310
6602
  return modAttrs(this.sourcePath).map(function (folder) {
6311
6603
  return {
6312
- name: path.basename(folder, ".ecl"),
6604
+ name: path__namespace.basename(folder, ".ecl"),
6313
6605
  type: "folder"
6314
6606
  };
6315
6607
  });
@@ -6336,7 +6628,7 @@ var Workspace = /** @class */ (function () {
6336
6628
  }).then(function (paths) {
6337
6629
  for (var _i = 0, _a = ["ECLCC_ECLLIBRARY_PATH", "ECLCC_PLUGIN_PATH"]; _i < _a.length; _i++) {
6338
6630
  var knownFolder = _a[_i];
6339
- if (paths[knownFolder] && fs.existsSync(paths[knownFolder])) {
6631
+ if (paths[knownFolder] && fs__namespace.existsSync(paths[knownFolder])) {
6340
6632
  _this.walkChildFolders(paths[knownFolder], paths[knownFolder]);
6341
6633
  }
6342
6634
  }
@@ -6344,7 +6636,7 @@ var Workspace = /** @class */ (function () {
6344
6636
  });
6345
6637
  };
6346
6638
  Workspace.prototype.primeWorkspace = function () {
6347
- if (fs.existsSync(this._workspacePath)) {
6639
+ if (fs__namespace.existsSync(this._workspacePath)) {
6348
6640
  this.visitFolder(this._workspacePath, this._workspacePath);
6349
6641
  }
6350
6642
  };
@@ -6362,16 +6654,16 @@ var Workspace = /** @class */ (function () {
6362
6654
  };
6363
6655
  Workspace.prototype.visitFile = function (filePath, refPath, force) {
6364
6656
  if (force === void 0) { force = false; }
6365
- var filePathInfo = path.parse(filePath);
6366
- var pathNoExt = path.join(filePathInfo.dir, filePathInfo.name);
6367
- var name = path.relative(refPath, pathNoExt).split(path.sep).join(".");
6657
+ var filePathInfo = path__namespace.parse(filePath);
6658
+ var pathNoExt = path__namespace.join(filePathInfo.dir, filePathInfo.name);
6659
+ var name = path__namespace.relative(refPath, pathNoExt).split(path__namespace.sep).join(".");
6368
6660
  if (force || !this._test.has(name)) {
6369
6661
  this._test.set(name, new File("", filePath));
6370
6662
  }
6371
6663
  };
6372
6664
  Workspace.prototype.visitFolder = function (folderPath, refPath, force) {
6373
6665
  if (force === void 0) { force = false; }
6374
- var name = path.relative(refPath, folderPath).split(path.sep).join(".");
6666
+ var name = path__namespace.relative(refPath, folderPath).split(path__namespace.sep).join(".");
6375
6667
  if (force || !this._test.has(name)) {
6376
6668
  this._test.set(name, new Folder(name, folderPath));
6377
6669
  this.walkChildFolders(folderPath, refPath, force);
@@ -6382,7 +6674,7 @@ var Workspace = /** @class */ (function () {
6382
6674
  if (removeDupID && parentStack[parentStack.length - 1] === nameStack[0]) {
6383
6675
  nameStack.shift();
6384
6676
  }
6385
- var stack = __spreadArray(__spreadArray([], parentStack), nameStack);
6677
+ var stack = __spreadArray(__spreadArray([], parentStack, true), nameStack, true);
6386
6678
  var qid = stack.join(".");
6387
6679
  return {
6388
6680
  stack: stack,
@@ -6431,10 +6723,10 @@ var Workspace = /** @class */ (function () {
6431
6723
  if (depth > 1) {
6432
6724
  var sourcePath = source.sourcePath;
6433
6725
  while (depth > 1) {
6434
- sourcePath = path.dirname(sourcePath);
6726
+ sourcePath = path__namespace.dirname(sourcePath);
6435
6727
  --depth;
6436
6728
  }
6437
- this.visitFolder(sourcePath, path.dirname(sourcePath));
6729
+ this.visitFolder(sourcePath, path__namespace.dirname(sourcePath));
6438
6730
  }
6439
6731
  }
6440
6732
  this.walkSource(source);
@@ -6445,7 +6737,7 @@ var Workspace = /** @class */ (function () {
6445
6737
  var metaParser = new MetaParser();
6446
6738
  metaParser.parse(metaXML);
6447
6739
  this.parseSources(metaParser.sources);
6448
- return metaParser.sources.map(function (source) { return path.normalize(source.$.sourcePath); });
6740
+ return metaParser.sources.map(function (source) { return path__namespace.normalize(source.$.sourcePath); });
6449
6741
  };
6450
6742
  Workspace.prototype.resolveQualifiedID = function (filePath, qualifiedID, charOffset) {
6451
6743
  var retVal;
@@ -6473,7 +6765,7 @@ var Workspace = /** @class */ (function () {
6473
6765
  retVal = this._test.get(realQID).scope;
6474
6766
  }
6475
6767
  if (!retVal) {
6476
- realQID = __spreadArray(__spreadArray([], eclSource.name.split(".")), qualifiedIDParts).join(".");
6768
+ realQID = __spreadArray(__spreadArray([], eclSource.name.split("."), true), qualifiedIDParts, true).join(".");
6477
6769
  if (this._test.has(realQID)) {
6478
6770
  retVal = this._test.get(realQID).scope;
6479
6771
  }
@@ -6492,7 +6784,7 @@ var Workspace = /** @class */ (function () {
6492
6784
  }());
6493
6785
  var workspaceCache = new util.Dictionary();
6494
6786
  function attachWorkspace(_workspacePath, eclccPath) {
6495
- var workspacePath = path.normalize(_workspacePath);
6787
+ var workspacePath = path__namespace.normalize(_workspacePath);
6496
6788
  if (!workspaceCache.has(workspacePath)) {
6497
6789
  var workspace = new Workspace(workspacePath, eclccPath);
6498
6790
  workspaceCache.set(workspacePath, workspace);
@@ -6530,8 +6822,8 @@ var MetaParser = /** @class */ (function (_super) {
6530
6822
  return MetaParser;
6531
6823
  }(util.SAXStackParser));
6532
6824
 
6533
- var logger$3 = util.scopedLogger("clienttools/eclcc");
6534
- var exeExt = os.type() === "Windows_NT" ? ".exe" : "";
6825
+ var logger = util.scopedLogger("clienttools/eclcc");
6826
+ var exeExt = os__namespace.type() === "Windows_NT" ? ".exe" : "";
6535
6827
  function tidyCRLF(inStr) {
6536
6828
  return inStr.split("\r\n").join("\n").split("\r").join("\n");
6537
6829
  }
@@ -6577,7 +6869,7 @@ var Version = /** @class */ (function () {
6577
6869
  return this.postfix.localeCompare(other.postfix);
6578
6870
  };
6579
6871
  Version.prototype.toString = function () {
6580
- return this.prefix + "_" + this.major + "." + this.minor + "." + this.patch + "-" + this.postfix;
6872
+ return "".concat(this.prefix, "_").concat(this.major, ".").concat(this.minor, ".").concat(this.patch, "-").concat(this.postfix);
6581
6873
  };
6582
6874
  return Version;
6583
6875
  }());
@@ -6626,7 +6918,7 @@ var EclccErrors = /** @class */ (function (_super) {
6626
6918
  function EclccErrors(stdErr, checked) {
6627
6919
  var _this = _super.call(this, checked) || this;
6628
6920
  if (stdErr && stdErr.length) {
6629
- for (var _i = 0, _a = stdErr.split(os.EOL); _i < _a.length; _i++) {
6921
+ for (var _i = 0, _a = stdErr.split(os__namespace.EOL); _i < _a.length; _i++) {
6630
6922
  var errLine = _a[_i];
6631
6923
  var match = /([a-zA-Z]:\\(?:[- \w\.\d]+\\)*(?:[- \w\.\d]+)?|(?:\/[\w\.\-]+)+)\((\d*),(\d*)\) ?: ?(error|warning|info) C(\d*) ?: ?(.*)/.exec(errLine);
6632
6924
  if (match) {
@@ -6647,7 +6939,7 @@ var EclccErrors = /** @class */ (function (_super) {
6647
6939
  if (match) {
6648
6940
  continue;
6649
6941
  }
6650
- logger$3.warning("parseECLErrors: Unable to parse \"" + errLine + "\"");
6942
+ logger.warning("parseECLErrors: Unable to parse \"".concat(errLine, "\""));
6651
6943
  _this.errOther.push(errLine);
6652
6944
  }
6653
6945
  }
@@ -6660,16 +6952,16 @@ var EnvchkErrors = /** @class */ (function (_super) {
6660
6952
  __extends(EnvchkErrors, _super);
6661
6953
  function EnvchkErrors(filePath, stdErr, checked) {
6662
6954
  var _this = _super.call(this, checked) || this;
6663
- var content = fs.readFileSync(filePath, "utf8");
6955
+ var content = fs__namespace.readFileSync(filePath, "utf8");
6664
6956
  content = content.replace(/\r\n/g, "\n");
6665
6957
  _this._lines = content.split("\n");
6666
6958
  if (stdErr && stdErr.length) {
6667
- for (var _i = 0, _a = stdErr.split(os.EOL); _i < _a.length; _i++) {
6959
+ for (var _i = 0, _a = stdErr.split(os__namespace.EOL); _i < _a.length; _i++) {
6668
6960
  var errLine = _a[_i];
6669
6961
  var match = /(Warning|Error) : Path\=(\S*?)(\[\S*\])? Message\=(.*)/.exec(errLine);
6670
6962
  if (match) {
6671
6963
  var severity = match[1], _path = match[2], _attr = match[3], _msg = match[4];
6672
- var msg = _path + " " + (_attr ? _attr : "") + ": " + _msg;
6964
+ var msg = "".concat(_path, " ").concat(_attr ? _attr : "", ": ").concat(_msg);
6673
6965
  var _b = _this.locate(_path), line = _b[0], col = _b[1];
6674
6966
  _this.errWarn.push({ filePath: filePath, line: line, col: col, msg: msg, severity: severity });
6675
6967
  continue;
@@ -6677,7 +6969,7 @@ var EnvchkErrors = /** @class */ (function (_super) {
6677
6969
  if (match) {
6678
6970
  continue;
6679
6971
  }
6680
- logger$3.warning("parseECLErrors: Unable to parse \"" + errLine + "\"");
6972
+ logger.warning("parseECLErrors: Unable to parse \"".concat(errLine, "\""));
6681
6973
  _this.errOther.push(errLine);
6682
6974
  }
6683
6975
  }
@@ -6708,7 +7000,7 @@ var EnvchkErrors = /** @class */ (function (_super) {
6708
7000
  };
6709
7001
  return EnvchkErrors;
6710
7002
  }(Errors));
6711
- function walkXmlJson$1(node, callback, stack) {
7003
+ function walkXmlJson(node, callback, stack) {
6712
7004
  stack = stack || [];
6713
7005
  stack.push(node);
6714
7006
  for (var key in node) {
@@ -6717,11 +7009,11 @@ function walkXmlJson$1(node, callback, stack) {
6717
7009
  callback(key, childNode, stack);
6718
7010
  if (childNode instanceof Array) {
6719
7011
  childNode.forEach(function (child) {
6720
- walkXmlJson$1(child, callback, stack);
7012
+ walkXmlJson(child, callback, stack);
6721
7013
  });
6722
7014
  }
6723
7015
  else if (typeof childNode === "object") {
6724
- walkXmlJson$1(childNode, callback, stack);
7016
+ walkXmlJson(childNode, callback, stack);
6725
7017
  }
6726
7018
  }
6727
7019
  }
@@ -6735,7 +7027,7 @@ var LocalWorkunit = /** @class */ (function () {
6735
7027
  var retVal = [];
6736
7028
  if (util.exists("W_LOCAL.Graphs", this.jsonWU)) {
6737
7029
  var id_1 = "";
6738
- walkXmlJson$1(this.jsonWU.W_LOCAL.Graphs, function (key, item, _stack) {
7030
+ walkXmlJson(this.jsonWU.W_LOCAL.Graphs, function (key, item, _stack) {
6739
7031
  if (key === "$" && item.id) {
6740
7032
  id_1 = item.id;
6741
7033
  }
@@ -6764,10 +7056,10 @@ var ClientTools = /** @class */ (function () {
6764
7056
  if (args === void 0) { args = []; }
6765
7057
  this._paths = {};
6766
7058
  this.eclccPath = eclccPath;
6767
- this.binPath = path.dirname(this.eclccPath);
6768
- this.envchkPath = path.join(this.binPath, "envchk" + exeExt);
6769
- this.eclBundlePath = path.join(this.binPath, "ecl-bundle" + exeExt);
6770
- this.cwd = path.normalize(cwd || this.binPath);
7059
+ this.binPath = path__namespace.dirname(this.eclccPath);
7060
+ this.envchkPath = path__namespace.join(this.binPath, "envchk" + exeExt);
7061
+ this.eclBundlePath = path__namespace.join(this.binPath, "ecl-bundle" + exeExt);
7062
+ this.cwd = path__namespace.normalize(cwd || this.binPath);
6771
7063
  this.includeFolders = includeFolders;
6772
7064
  this._legacyMode = legacyMode;
6773
7065
  this._args = args;
@@ -6780,7 +7072,7 @@ var ClientTools = /** @class */ (function () {
6780
7072
  };
6781
7073
  ClientTools.prototype.exists = function (filePath) {
6782
7074
  try {
6783
- fs.accessSync(filePath);
7075
+ fs__namespace.accessSync(filePath);
6784
7076
  return true;
6785
7077
  }
6786
7078
  catch (e) { }
@@ -6788,12 +7080,12 @@ var ClientTools = /** @class */ (function () {
6788
7080
  };
6789
7081
  ClientTools.prototype.args = function (additionalItems) {
6790
7082
  if (additionalItems === void 0) { additionalItems = []; }
6791
- var retVal = __spreadArray([], this._args);
7083
+ var retVal = __spreadArray([], this._args, true);
6792
7084
  if (this._legacyMode) {
6793
7085
  retVal.push("-legacy");
6794
7086
  }
6795
7087
  return retVal.concat(this.includeFolders.map(function (includePath) {
6796
- return "-I" + path.normalize(includePath);
7088
+ return "-I" + path__namespace.normalize(includePath);
6797
7089
  })).concat(additionalItems);
6798
7090
  };
6799
7091
  ClientTools.prototype.version = function () {
@@ -6801,7 +7093,7 @@ var ClientTools = /** @class */ (function () {
6801
7093
  if (this._version) {
6802
7094
  return Promise.resolve(this._version);
6803
7095
  }
6804
- return this.execFile(this.eclccPath, this.binPath, this.args(["--version"]), "eclcc", "Cannot find " + this.eclccPath).then(function (response) {
7096
+ return this.execFile(this.eclccPath, this.binPath, this.args(["--version"]), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
6805
7097
  _this._version = new Version(response.stdout);
6806
7098
  return _this._version;
6807
7099
  });
@@ -6811,7 +7103,7 @@ var ClientTools = /** @class */ (function () {
6811
7103
  };
6812
7104
  ClientTools.prototype.paths = function () {
6813
7105
  var _this = this;
6814
- return this.execFile(this.eclccPath, this.cwd, this.args(["-showpaths"]), "eclcc", "Cannot find " + this.eclccPath).then(function (response) {
7106
+ return this.execFile(this.eclccPath, this.cwd, this.args(["-showpaths"]), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
6815
7107
  if (response && response.stdout && response.stdout.length) {
6816
7108
  var paths = response.stdout.split(/\r?\n/);
6817
7109
  for (var _i = 0, paths_1 = paths; _i < paths_1.length; _i++) {
@@ -6827,20 +7119,20 @@ var ClientTools = /** @class */ (function () {
6827
7119
  };
6828
7120
  ClientTools.prototype.loadXMLDoc = function (filePath, removeOnRead) {
6829
7121
  return new Promise(function (resolve, _reject) {
6830
- var fileData = fs.readFileSync(filePath, "ascii");
7122
+ var fileData = fs__namespace.readFileSync(filePath, "ascii");
6831
7123
  var retVal = util.xml2json(fileData);
6832
7124
  if (removeOnRead) {
6833
- fs.unlink(filePath, function (err) { });
7125
+ fs__namespace.unlink(filePath, function (err) { });
6834
7126
  }
6835
7127
  resolve(retVal);
6836
7128
  });
6837
7129
  };
6838
7130
  ClientTools.prototype.createWU = function (filename) {
6839
7131
  var _this = this;
6840
- var tmpName = tmp.tmpNameSync({ prefix: "eclcc-wu-tmp", postfix: "" });
7132
+ var tmpName = tmp__namespace.tmpNameSync({ prefix: "eclcc-wu-tmp", postfix: "" });
6841
7133
  var args = ["-o" + tmpName, "-wu"].concat([filename]);
6842
- return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find " + this.eclccPath).then(function (_response) {
6843
- var xmlPath = path.normalize(tmpName + ".xml");
7134
+ return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (_response) {
7135
+ var xmlPath = path__namespace.normalize(tmpName + ".xml");
6844
7136
  var contentPromise = _this.exists(xmlPath) ? _this.loadXMLDoc(xmlPath, true) : Promise.resolve({});
6845
7137
  return contentPromise.then(function (content) {
6846
7138
  return new LocalWorkunit(content);
@@ -6849,7 +7141,7 @@ var ClientTools = /** @class */ (function () {
6849
7141
  };
6850
7142
  ClientTools.prototype.createArchive = function (filename) {
6851
7143
  var args = ["-E"].concat([filename]);
6852
- return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find " + this.eclccPath).then(function (response) {
7144
+ return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
6853
7145
  return {
6854
7146
  content: response.stdout,
6855
7147
  err: new EclccErrors(response.stderr, [])
@@ -6862,7 +7154,7 @@ var ClientTools = /** @class */ (function () {
6862
7154
  ClientTools.prototype.fetchMeta = function (filePath) {
6863
7155
  return Promise.all([
6864
7156
  attachWorkspace(this.cwd),
6865
- this.execFile(this.eclccPath, this.cwd, this.args(["-M", filePath]), "eclcc", "Cannot find " + this.eclccPath)
7157
+ this.execFile(this.eclccPath, this.cwd, this.args(["-M", filePath]), "eclcc", "Cannot find ".concat(this.eclccPath))
6866
7158
  ]).then(function (_a) {
6867
7159
  var metaWorkspace = _a[0], execFileResponse = _a[1];
6868
7160
  if (execFileResponse && execFileResponse.stdout && execFileResponse.stdout.length) {
@@ -6875,7 +7167,7 @@ var ClientTools = /** @class */ (function () {
6875
7167
  if (args === void 0) { args = ["-syntax"]; }
6876
7168
  return Promise.all([
6877
7169
  attachWorkspace(this.cwd),
6878
- this.execFile(this.eclccPath, this.cwd, this.args(__spreadArray(__spreadArray([], args), ["-M", filePath])), "eclcc", "Cannot find " + this.eclccPath)
7170
+ this.execFile(this.eclccPath, this.cwd, this.args(__spreadArray(__spreadArray([], args, true), ["-M", filePath], false)), "eclcc", "Cannot find ".concat(this.eclccPath))
6879
7171
  ]).then(function (_a) {
6880
7172
  var metaWorkspace = _a[0], execFileResponse = _a[1];
6881
7173
  var checked = [];
@@ -6889,9 +7181,9 @@ var ClientTools = /** @class */ (function () {
6889
7181
  if (args === void 0) { args = []; }
6890
7182
  return Promise.all([
6891
7183
  attachWorkspace(this.cwd),
6892
- this.execFile(this.envchkPath, this.cwd, this.args(__spreadArray(__spreadArray([], args), [filePath])), "envchk", "Cannot find " + this.envchkPath)
7184
+ this.execFile(this.envchkPath, this.cwd, this.args(__spreadArray(__spreadArray([], args, true), [filePath], false)), "envchk", "Cannot find ".concat(this.envchkPath))
6893
7185
  ]).then(function (_a) {
6894
- var metaWorkspace = _a[0], execFileResponse = _a[1];
7186
+ _a[0]; var execFileResponse = _a[1];
6895
7187
  return new EnvchkErrors(filePath, execFileResponse ? execFileResponse.stderr : "", []);
6896
7188
  });
6897
7189
  };
@@ -6914,13 +7206,13 @@ var ClientTools = /** @class */ (function () {
6914
7206
  }
6915
7207
  return retVal;
6916
7208
  }),
6917
- this.execFile(this.eclBundlePath, this.cwd, this.args(["list"]), "ecl-bundle", "Cannot find " + this.eclBundlePath)
7209
+ this.execFile(this.eclBundlePath, this.cwd, this.args(["list"]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
6918
7210
  .then(function (installedText) {
6919
7211
  return tidyCRLF(installedText.stdout).split("\n");
6920
7212
  }).then(function (installedItems) {
6921
7213
  var allProps = {};
6922
7214
  return Promise.all(installedItems.filter(function (ii) { return !!ii; }).map(function (ii) {
6923
- return _this.execFile(_this.eclBundlePath, _this.cwd, _this.args(["info", ii]), "ecl-bundle", "Cannot find " + _this.eclBundlePath)
7215
+ return _this.execFile(_this.eclBundlePath, _this.cwd, _this.args(["info", ii]), "ecl-bundle", "Cannot find ".concat(_this.eclBundlePath))
6924
7216
  .then(function (infoText) {
6925
7217
  return tidyCRLF(infoText.stdout).split("\n");
6926
7218
  }).then(function (info) {
@@ -6960,25 +7252,25 @@ var ClientTools = /** @class */ (function () {
6960
7252
  ClientTools.prototype.bundleInstall = function (bundleUrl) {
6961
7253
  return Promise.all([
6962
7254
  attachWorkspace(this.cwd),
6963
- this.execFile(this.eclBundlePath, this.cwd, this.args(["install", bundleUrl]), "ecl-bundle", "Cannot find " + this.eclBundlePath)
7255
+ this.execFile(this.eclBundlePath, this.cwd, this.args(["install", bundleUrl]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
6964
7256
  ]).then(function (_a) {
6965
- var metaWorkspace = _a[0], execFileResponse = _a[1];
7257
+ _a[0]; var execFileResponse = _a[1];
6966
7258
  return execFileResponse;
6967
7259
  });
6968
7260
  };
6969
7261
  ClientTools.prototype.bundleUninstall = function (name) {
6970
7262
  return Promise.all([
6971
7263
  attachWorkspace(this.cwd),
6972
- this.execFile(this.eclBundlePath, this.cwd, this.args(["uninstall", name]), "ecl-bundle", "Cannot find " + this.eclBundlePath)
7264
+ this.execFile(this.eclBundlePath, this.cwd, this.args(["uninstall", name]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
6973
7265
  ]).then(function (_a) {
6974
- var metaWorkspace = _a[0], execFileResponse = _a[1];
7266
+ _a[0]; var execFileResponse = _a[1];
6975
7267
  return execFileResponse;
6976
7268
  });
6977
7269
  };
6978
7270
  ClientTools.prototype.execFile = function (cmd, cwd, args, _toolName, _notFoundError) {
6979
7271
  return new Promise(function (resolve, _reject) {
6980
- logger$3.debug(cmd + " " + args.join(" "));
6981
- var child = cp.spawn(cmd, args, { cwd: cwd });
7272
+ logger.debug("".concat(cmd, " ").concat(args.join(" ")));
7273
+ var child = cp__namespace.spawn(cmd, args, { cwd: cwd });
6982
7274
  var stdOut = "";
6983
7275
  var stdErr = "";
6984
7276
  child.stdout.on("data", function (data) {
@@ -7000,18 +7292,18 @@ var ClientTools = /** @class */ (function () {
7000
7292
  }());
7001
7293
  function locateClientToolsInFolder(rootFolder, clientTools) {
7002
7294
  if (rootFolder) {
7003
- var hpccSystemsFolder_1 = path.join(rootFolder, "HPCCSystems");
7004
- if (fs.existsSync(hpccSystemsFolder_1) && fs.statSync(hpccSystemsFolder_1).isDirectory()) {
7005
- if (os.type() !== "Windows_NT") {
7006
- var eclccPath = path.join(hpccSystemsFolder_1, "bin", "eclcc");
7007
- if (fs.existsSync(eclccPath)) {
7295
+ var hpccSystemsFolder_1 = path__namespace.join(rootFolder, "HPCCSystems");
7296
+ if (fs__namespace.existsSync(hpccSystemsFolder_1) && fs__namespace.statSync(hpccSystemsFolder_1).isDirectory()) {
7297
+ if (os__namespace.type() !== "Windows_NT") {
7298
+ var eclccPath = path__namespace.join(hpccSystemsFolder_1, "bin", "eclcc");
7299
+ if (fs__namespace.existsSync(eclccPath)) {
7008
7300
  clientTools.push(new ClientTools(eclccPath));
7009
7301
  }
7010
7302
  }
7011
- fs.readdirSync(hpccSystemsFolder_1).forEach(function (versionFolder) {
7012
- var eclccPath = path.join(hpccSystemsFolder_1, versionFolder, "clienttools", "bin", "eclcc" + exeExt);
7013
- if (fs.existsSync(eclccPath)) {
7014
- var name_1 = path.basename(versionFolder);
7303
+ fs__namespace.readdirSync(hpccSystemsFolder_1).forEach(function (versionFolder) {
7304
+ var eclccPath = path__namespace.join(hpccSystemsFolder_1, versionFolder, "clienttools", "bin", "eclcc" + exeExt);
7305
+ if (fs__namespace.existsSync(eclccPath)) {
7306
+ var name_1 = path__namespace.basename(versionFolder);
7015
7307
  var version = new Version(name_1);
7016
7308
  if (version.exists()) {
7017
7309
  clientTools.push(new ClientTools(eclccPath));
@@ -7026,7 +7318,7 @@ function locateAllClientTools() {
7026
7318
  if (allClientToolsCache)
7027
7319
  return allClientToolsCache;
7028
7320
  var clientTools = [];
7029
- switch (os.type()) {
7321
+ switch (os__namespace.type()) {
7030
7322
  case "Windows_NT":
7031
7323
  var rootFolder86 = process.env["ProgramFiles(x86)"] || "";
7032
7324
  if (rootFolder86) {
@@ -7055,9 +7347,9 @@ function locateAllClientTools() {
7055
7347
  }
7056
7348
  var eclccPathMsg = "";
7057
7349
  function logEclccPath(eclccPath) {
7058
- var msg = "Using eclccPath setting: " + eclccPath;
7350
+ var msg = "Using eclccPath setting: ".concat(eclccPath);
7059
7351
  if (eclccPathMsg !== msg) {
7060
- logger$3.info(msg);
7352
+ logger.info(msg);
7061
7353
  eclccPathMsg = msg;
7062
7354
  }
7063
7355
  }
@@ -7068,7 +7360,7 @@ function locateClientTools(overridePath, build, cwd, includeFolders, legacyMode,
7068
7360
  if (includeFolders === void 0) { includeFolders = []; }
7069
7361
  if (legacyMode === void 0) { legacyMode = false; }
7070
7362
  if (args === void 0) { args = []; }
7071
- if (overridePath && fs.existsSync(overridePath)) {
7363
+ if (overridePath && fs__namespace.existsSync(overridePath)) {
7072
7364
  logEclccPath(overridePath);
7073
7365
  return Promise.resolve(new ClientTools(overridePath, cwd, includeFolders, legacyMode, args));
7074
7366
  }
@@ -7100,33 +7392,33 @@ function locateClientTools(overridePath, build, cwd, includeFolders, legacyMode,
7100
7392
  // DOM Parser polyfill ---
7101
7393
  util.root.DOMParser = xmldom.DOMParser;
7102
7394
  if (typeof util.root.fetch === "undefined") {
7103
- util.root.fetch = fetch$1;
7395
+ util.root.fetch = fetch__default["default"];
7104
7396
  }
7105
7397
  if (typeof util.root.AbortController === "undefined") {
7106
- util.root.AbortController = AbortController;
7398
+ util.root.AbortController = AbortController__default["default"];
7107
7399
  }
7108
- util.root.fetch.__rejectUnauthorizedAgent = new https.Agent({
7400
+ util.root.fetch.__rejectUnauthorizedAgent = new https__namespace.Agent({
7109
7401
  rejectUnauthorized: false
7110
7402
  });
7111
7403
  var globalCA = "";
7112
- if (https.globalAgent.options.ca !== undefined) {
7113
- if (Array.isArray(https.globalAgent.options.ca) && https.globalAgent.options.ca.length) {
7114
- if (typeof https.globalAgent.options.ca[0] === "string") {
7115
- globalCA = https.globalAgent.options.ca.join("\n");
7404
+ if (https__namespace.globalAgent.options.ca !== undefined) {
7405
+ if (Array.isArray(https__namespace.globalAgent.options.ca) && https__namespace.globalAgent.options.ca.length) {
7406
+ if (typeof https__namespace.globalAgent.options.ca[0] === "string") {
7407
+ globalCA = https__namespace.globalAgent.options.ca.join("\n");
7116
7408
  }
7117
- else if (https.globalAgent.options.ca[0] instanceof safeBuffer.Buffer) {
7118
- globalCA = https.globalAgent.options.ca.map(function (row) { return row.toString(); }).join("\n");
7409
+ else if (https__namespace.globalAgent.options.ca[0] instanceof safeBuffer.Buffer) {
7410
+ globalCA = https__namespace.globalAgent.options.ca.map(function (row) { return row.toString(); }).join("\n");
7119
7411
  }
7120
7412
  }
7121
- else if (typeof https.globalAgent.options.ca === "string") {
7122
- globalCA = https.globalAgent.options.ca;
7413
+ else if (typeof https__namespace.globalAgent.options.ca === "string") {
7414
+ globalCA = https__namespace.globalAgent.options.ca;
7123
7415
  }
7124
- else if (https.globalAgent.options.ca instanceof safeBuffer.Buffer) {
7125
- globalCA = https.globalAgent.options.ca.toString();
7416
+ else if (https__namespace.globalAgent.options.ca instanceof safeBuffer.Buffer) {
7417
+ globalCA = https__namespace.globalAgent.options.ca.toString();
7126
7418
  }
7127
7419
  globalCA += "\n";
7128
7420
  }
7129
- util.root.fetch.__trustwaveAgent = new https.Agent({
7421
+ util.root.fetch.__trustwaveAgent = new https__namespace.Agent({
7130
7422
  ca: globalCA + trustwave
7131
7423
  });
7132
7424
  if (typeof util.root.btoa === "undefined") {
@@ -7135,6 +7427,7 @@ if (typeof util.root.btoa === "undefined") {
7135
7427
  };
7136
7428
  }
7137
7429
 
7430
+ exports.AccessService = AccessService;
7138
7431
  exports.AccountService = AccountService;
7139
7432
  exports.Activity = Activity;
7140
7433
  exports.Attr = Attr;
@@ -7162,7 +7455,7 @@ exports.GlobalResultCache = GlobalResultCache;
7162
7455
  exports.GraphCache = GraphCache;
7163
7456
  exports.Import = Import;
7164
7457
  exports.LocalWorkunit = LocalWorkunit;
7165
- exports.LogaccessServiceEx = LogaccessServiceEx;
7458
+ exports.LogaccessService = LogaccessService;
7166
7459
  exports.LogicalFile = LogicalFile;
7167
7460
  exports.LogicalFileCache = LogicalFileCache;
7168
7461
  exports.Machine = Machine;
@@ -7172,7 +7465,7 @@ exports.PKG_NAME = PKG_NAME;
7172
7465
  exports.PKG_VERSION = PKG_VERSION;
7173
7466
  exports.Query = Query;
7174
7467
  exports.Resource = Resource;
7175
- exports.ResourcesServiceEx = ResourcesServiceEx;
7468
+ exports.ResourcesService = ResourcesService;
7176
7469
  exports.Result = Result;
7177
7470
  exports.ResultCache = ResultCache;
7178
7471
  exports.SMCService = SMCService;
@@ -7232,5 +7525,5 @@ exports.send = send;
7232
7525
  exports.serializeRequest = serializeRequest;
7233
7526
  exports.setTransportFactory = setTransportFactory;
7234
7527
  exports.targetClusters = targetClusters;
7235
- exports.walkXmlJson = walkXmlJson$1;
7528
+ exports.walkXmlJson = walkXmlJson;
7236
7529
  //# sourceMappingURL=index.node.js.map