@hpcc-js/comms 2.69.0 → 2.73.4

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 (118) hide show
  1. package/dist/index.es6.js +524 -216
  2. package/dist/index.es6.js.map +1 -1
  3. package/dist/index.js +447 -114
  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 +544 -192
  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 +3 -3
  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 +7 -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 +3 -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/wsDFU.js +1 -1
  43. package/lib-es6/services/wsDFU.js.map +1 -1
  44. package/lib-es6/services/wsEcl.js +3 -3
  45. package/lib-es6/services/wsEcl.js.map +1 -1
  46. package/lib-es6/services/wsLogaccess.js +11 -0
  47. package/lib-es6/services/wsLogaccess.js.map +1 -0
  48. package/lib-es6/services/wsMachine.js +10 -21
  49. package/lib-es6/services/wsMachine.js.map +1 -1
  50. package/lib-es6/services/wsResources.js +11 -0
  51. package/lib-es6/services/wsResources.js.map +1 -0
  52. package/lib-es6/services/wsdl/WsResources/v1.01/WsResources.js +20 -0
  53. package/lib-es6/services/wsdl/WsResources/v1.01/WsResources.js.map +1 -0
  54. package/lib-es6/services/wsdl/ws_access/v1.16/ws_access.js +203 -0
  55. package/lib-es6/services/wsdl/ws_access/v1.16/ws_access.js.map +1 -0
  56. package/lib-es6/services/wsdl/ws_logaccess/v1/ws_logaccess.js +28 -0
  57. package/lib-es6/services/wsdl/ws_logaccess/v1/ws_logaccess.js.map +1 -0
  58. package/lib-es6/services/wsdl/ws_machine/v1.17/ws_machine.js +41 -0
  59. package/lib-es6/services/wsdl/ws_machine/v1.17/ws_machine.js.map +1 -0
  60. package/package.json +30 -35
  61. package/src/__package__.ts +2 -2
  62. package/src/ecl/machine.ts +11 -9
  63. package/src/ecl/targetCluster.ts +7 -7
  64. package/src/ecl/topology.ts +1 -1
  65. package/src/ecl/workunit.ts +3 -0
  66. package/src/index-common.ts +3 -0
  67. package/src/services/wsAccess.ts +8 -0
  68. package/src/services/wsDFU.ts +3 -2
  69. package/src/services/wsLogaccess.ts +8 -0
  70. package/src/services/wsMachine.ts +17 -293
  71. package/src/services/wsResources.ts +8 -0
  72. package/src/services/wsdl/WsResources/v1.01/WsResources.ts +119 -0
  73. package/src/services/wsdl/ws_access/v1.16/ws_access.ts +1086 -0
  74. package/src/services/wsdl/ws_logaccess/v1/ws_logaccess.ts +78 -0
  75. package/src/services/wsdl/ws_machine/v1.17/ws_machine.ts +567 -0
  76. package/types/__package__.d.ts +2 -2
  77. package/types/ecl/activity.d.ts +1 -1
  78. package/types/ecl/activity.d.ts.map +1 -1
  79. package/types/ecl/machine.d.ts +11 -9
  80. package/types/ecl/machine.d.ts.map +1 -1
  81. package/types/ecl/targetCluster.d.ts +5 -5
  82. package/types/ecl/targetCluster.d.ts.map +1 -1
  83. package/types/ecl/topology.d.ts.map +1 -1
  84. package/types/ecl/workunit.d.ts.map +1 -1
  85. package/types/index-common.d.ts +3 -0
  86. package/types/index-common.d.ts.map +1 -1
  87. package/types/services/wsAccess.d.ts +5 -0
  88. package/types/services/wsAccess.d.ts.map +1 -0
  89. package/types/services/wsDFU.d.ts +2 -1
  90. package/types/services/wsDFU.d.ts.map +1 -1
  91. package/types/services/wsLogaccess.d.ts +5 -0
  92. package/types/services/wsLogaccess.d.ts.map +1 -0
  93. package/types/services/wsMachine.d.ts +9 -235
  94. package/types/services/wsMachine.d.ts.map +1 -1
  95. package/types/services/wsResources.d.ts +5 -0
  96. package/types/services/wsResources.d.ts.map +1 -0
  97. package/types/services/wsdl/WsResources/v1.01/WsResources.d.ts +85 -0
  98. package/types/services/wsdl/WsResources/v1.01/WsResources.d.ts.map +1 -0
  99. package/types/services/wsdl/ws_access/v1.16/ws_access.d.ts +778 -0
  100. package/types/services/wsdl/ws_access/v1.16/ws_access.d.ts.map +1 -0
  101. package/types/services/wsdl/ws_logaccess/v1/ws_logaccess.d.ts +51 -0
  102. package/types/services/wsdl/ws_logaccess/v1/ws_logaccess.d.ts.map +1 -0
  103. package/types/services/wsdl/ws_machine/v1.17/ws_machine.d.ts +470 -0
  104. package/types/services/wsdl/ws_machine/v1.17/ws_machine.d.ts.map +1 -0
  105. package/types-3.4/__package__.d.ts +2 -2
  106. package/types-3.4/ecl/activity.d.ts +1 -1
  107. package/types-3.4/ecl/machine.d.ts +11 -9
  108. package/types-3.4/ecl/targetCluster.d.ts +5 -5
  109. package/types-3.4/index-common.d.ts +3 -0
  110. package/types-3.4/services/wsAccess.d.ts +5 -0
  111. package/types-3.4/services/wsDFU.d.ts +2 -1
  112. package/types-3.4/services/wsLogaccess.d.ts +5 -0
  113. package/types-3.4/services/wsMachine.d.ts +9 -235
  114. package/types-3.4/services/wsResources.d.ts +5 -0
  115. package/types-3.4/services/wsdl/WsResources/v1.01/WsResources.d.ts +85 -0
  116. package/types-3.4/services/wsdl/ws_access/v1.16/ws_access.d.ts +778 -0
  117. package/types-3.4/services/wsdl/ws_logaccess/v1/ws_logaccess.d.ts +51 -0
  118. package/types-3.4/services/wsdl/ws_machine/v1.17/ws_machine.d.ts +470 -0
@@ -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.69.0";
23
- var BUILD_VERSION = "2.100.0";
49
+ var PKG_VERSION = "2.73.4";
50
+ var BUILD_VERSION = "2.102.4";
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");
@@ -558,7 +793,7 @@ var CodesignService = /** @class */ (function () {
558
793
  var DFUService = /** @class */ (function (_super) {
559
794
  __extends(DFUService, _super);
560
795
  function DFUService(optsConnection) {
561
- return _super.call(this, optsConnection, "WsDfu", "1.60") || this;
796
+ return _super.call(this, optsConnection, "WsDfu", "1.62") || this;
562
797
  }
563
798
  DFUService.prototype.DFUQuery = function (request) {
564
799
  return this._connection.send("DFUQuery", request);
@@ -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, {
@@ -728,6 +963,39 @@ var EclService = /** @class */ (function (_super) {
728
963
  return EclService;
729
964
  }(Service));
730
965
 
966
+ var LogAccessType;
967
+ (function (LogAccessType) {
968
+ LogAccessType[LogAccessType["All"] = 0] = "All";
969
+ LogAccessType[LogAccessType["ByJobIdID"] = 1] = "ByJobIdID";
970
+ LogAccessType[LogAccessType["ByComponent"] = 2] = "ByComponent";
971
+ LogAccessType[LogAccessType["ByLogType"] = 3] = "ByLogType";
972
+ LogAccessType[LogAccessType["ByTargetAudience"] = 4] = "ByTargetAudience";
973
+ })(LogAccessType || (LogAccessType = {}));
974
+ var LogaccessServiceBase = /** @class */ (function (_super) {
975
+ __extends(LogaccessServiceBase, _super);
976
+ function LogaccessServiceBase(optsConnection) {
977
+ return _super.call(this, optsConnection, "ws_logaccess", "1") || this;
978
+ }
979
+ LogaccessServiceBase.prototype.GetLogAccessInfo = function (request) {
980
+ return this._connection.send("GetLogAccessInfo", request);
981
+ };
982
+ LogaccessServiceBase.prototype.GetLogs = function (request) {
983
+ return this._connection.send("GetLogs", request);
984
+ };
985
+ LogaccessServiceBase.prototype.Ping = function (request) {
986
+ return this._connection.send("Ping", request);
987
+ };
988
+ return LogaccessServiceBase;
989
+ }(Service));
990
+
991
+ var LogaccessService = /** @class */ (function (_super) {
992
+ __extends(LogaccessService, _super);
993
+ function LogaccessService() {
994
+ return _super !== null && _super.apply(this, arguments) || this;
995
+ }
996
+ return LogaccessService;
997
+ }(LogaccessServiceBase));
998
+
731
999
  function ascending(a, b) {
732
1000
  return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
733
1001
  }
@@ -764,7 +1032,7 @@ function ascendingComparator(f) {
764
1032
  };
765
1033
  }
766
1034
 
767
- var ascendingBisect = bisector(ascending);
1035
+ bisector(ascending);
768
1036
 
769
1037
  function number(x) {
770
1038
  return x === null ? NaN : +x;
@@ -829,26 +1097,53 @@ function d3Mean(values, valueof) {
829
1097
  if (m) return sum / m;
830
1098
  }
831
1099
 
832
- var MachineService = /** @class */ (function () {
833
- function MachineService(optsConnection) {
834
- 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;
835
1104
  }
836
- MachineService.prototype.GetTargetClusterInfo = function (request) {
837
- 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) {
838
1124
  return this._connection.send("GetTargetClusterInfo", request);
839
1125
  };
840
- MachineService.prototype.GetTargetClusterUsage = function (targetClusters, bypassCachedResult) {
841
- if (bypassCachedResult === void 0) { bypassCachedResult = false; }
842
- return this._connection.send("GetTargetClusterUsage", {
843
- TargetClusters: targetClusters ? { Item: targetClusters } : {},
844
- BypassCachedResult: bypassCachedResult
845
- }).then(function (response) {
846
- return util.exists("TargetClusterUsages.TargetClusterUsage", response) ? response.TargetClusterUsages.TargetClusterUsage : [];
847
- });
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);
848
1131
  };
849
- MachineService.prototype.GetTargetClusterUsageEx = function (targetClusters, bypassCachedResult) {
850
- if (bypassCachedResult === void 0) { bypassCachedResult = false; }
851
- return this.GetTargetClusterUsage(targetClusters, bypassCachedResult).then(function (response) {
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 (request) {
1144
+ return this._connection.send("GetTargetClusterUsage", request).then(function (response) {
1145
+ return util.exists("TargetClusterUsages.TargetClusterUsage", response) ? response.TargetClusterUsages.TargetClusterUsage : [];
1146
+ }).then(function (response) {
852
1147
  return response.filter(function (tcu) { return !!tcu.ComponentUsages; }).map(function (tcu) {
853
1148
  var ComponentUsages = tcu.ComponentUsages.ComponentUsage.map(function (cu) {
854
1149
  var MachineUsages = (cu.MachineUsages && cu.MachineUsages.MachineUsage ? cu.MachineUsages.MachineUsage : []).map(function (mu) {
@@ -886,7 +1181,32 @@ var MachineService = /** @class */ (function () {
886
1181
  });
887
1182
  };
888
1183
  return MachineService;
889
- }());
1184
+ }(MachineServiceBase));
1185
+
1186
+ var ResourcesServiceBase = /** @class */ (function (_super) {
1187
+ __extends(ResourcesServiceBase, _super);
1188
+ function ResourcesServiceBase(optsConnection) {
1189
+ return _super.call(this, optsConnection, "WsResources", "1.01") || this;
1190
+ }
1191
+ ResourcesServiceBase.prototype.Ping = function (request) {
1192
+ return this._connection.send("Ping", request);
1193
+ };
1194
+ ResourcesServiceBase.prototype.ServiceQuery = function (request) {
1195
+ return this._connection.send("ServiceQuery", request);
1196
+ };
1197
+ ResourcesServiceBase.prototype.WebLinksQuery = function (request) {
1198
+ return this._connection.send("WebLinksQuery", request);
1199
+ };
1200
+ return ResourcesServiceBase;
1201
+ }(Service));
1202
+
1203
+ var ResourcesService = /** @class */ (function (_super) {
1204
+ __extends(ResourcesService, _super);
1205
+ function ResourcesService() {
1206
+ return _super !== null && _super.apply(this, arguments) || this;
1207
+ }
1208
+ return ResourcesService;
1209
+ }(ResourcesServiceBase));
890
1210
 
891
1211
  var SMCService = /** @class */ (function () {
892
1212
  function SMCService(optsConnection) {
@@ -985,13 +1305,18 @@ var StoreService = /** @class */ (function (_super) {
985
1305
  return StoreService;
986
1306
  }(Service));
987
1307
 
1308
+ /*
1309
+ Response structures generated via:
1310
+ * http://localhost:8010/WsTopology/TpLogicalClusterQuery?respjson_
1311
+ * http://json2ts.com/
1312
+ */
1313
+ exports.TpLogicalClusterQuery = void 0;
988
1314
  (function (TpLogicalClusterQuery) {
989
- var RoxieQueueFilter;
990
1315
  (function (RoxieQueueFilter) {
991
1316
  RoxieQueueFilter["All"] = "All";
992
1317
  RoxieQueueFilter["QueriesOnly"] = "QueriesOnly";
993
1318
  RoxieQueueFilter["WorkunitsOnly"] = "WorkunitsOnly";
994
- })(RoxieQueueFilter = TpLogicalClusterQuery.RoxieQueueFilter || (TpLogicalClusterQuery.RoxieQueueFilter = {}));
1319
+ })(TpLogicalClusterQuery.RoxieQueueFilter || (TpLogicalClusterQuery.RoxieQueueFilter = {}));
995
1320
  })(exports.TpLogicalClusterQuery || (exports.TpLogicalClusterQuery = {}));
996
1321
  var TopologyService = /** @class */ (function (_super) {
997
1322
  __extends(TopologyService, _super);
@@ -1047,6 +1372,13 @@ var TopologyService = /** @class */ (function (_super) {
1047
1372
  return TopologyService;
1048
1373
  }(Service));
1049
1374
 
1375
+ /*
1376
+ Response structures generated via:
1377
+ * http://localhost:8010/WsWorkunits/WUInfo?reqjson_
1378
+ * http://localhost:8010/WsWorkunits/WUInfo?respjson_
1379
+ * http://json2ts.com/
1380
+ */
1381
+ exports.WUStateID = void 0;
1050
1382
  (function (WUStateID) {
1051
1383
  WUStateID[WUStateID["Unknown"] = 0] = "Unknown";
1052
1384
  WUStateID[WUStateID["Compiled"] = 1] = "Compiled";
@@ -1071,8 +1403,8 @@ var TopologyService = /** @class */ (function (_super) {
1071
1403
  function isECLResult(_) {
1072
1404
  return typeof _.Name === "string";
1073
1405
  }
1406
+ exports.WUUpdate = void 0;
1074
1407
  (function (WUUpdate) {
1075
- var Action;
1076
1408
  (function (Action) {
1077
1409
  Action[Action["Unknown"] = 0] = "Unknown";
1078
1410
  Action[Action["Compile"] = 1] = "Compile";
@@ -1084,7 +1416,7 @@ function isECLResult(_) {
1084
1416
  Action[Action["Resume"] = 7] = "Resume";
1085
1417
  Action[Action["Debug"] = 8] = "Debug";
1086
1418
  Action[Action["__size"] = 9] = "__size";
1087
- })(Action = WUUpdate.Action || (WUUpdate.Action = {}));
1419
+ })(WUUpdate.Action || (WUUpdate.Action = {}));
1088
1420
  })(exports.WUUpdate || (exports.WUUpdate = {}));
1089
1421
  function isWUQueryECLWorkunit(_) {
1090
1422
  return _.TotalClusterTime !== undefined;
@@ -1286,6 +1618,8 @@ var day = newInterval(function(date) {
1286
1618
  return date.getDate() - 1;
1287
1619
  });
1288
1620
 
1621
+ var timeDay = day;
1622
+
1289
1623
  function weekday(i) {
1290
1624
  return newInterval(function(date) {
1291
1625
  date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);
@@ -1299,11 +1633,11 @@ function weekday(i) {
1299
1633
 
1300
1634
  var sunday = weekday(0);
1301
1635
  var monday = weekday(1);
1302
- var tuesday = weekday(2);
1303
- var wednesday = weekday(3);
1636
+ weekday(2);
1637
+ weekday(3);
1304
1638
  var thursday = weekday(4);
1305
- var friday = weekday(5);
1306
- var saturday = weekday(6);
1639
+ weekday(5);
1640
+ weekday(6);
1307
1641
 
1308
1642
  var year = newInterval(function(date) {
1309
1643
  date.setMonth(0, 1);
@@ -1327,6 +1661,8 @@ year.every = function(k) {
1327
1661
  });
1328
1662
  };
1329
1663
 
1664
+ var timeYear = year;
1665
+
1330
1666
  var utcDay = newInterval(function(date) {
1331
1667
  date.setUTCHours(0, 0, 0, 0);
1332
1668
  }, function(date, step) {
@@ -1337,6 +1673,8 @@ var utcDay = newInterval(function(date) {
1337
1673
  return date.getUTCDate() - 1;
1338
1674
  });
1339
1675
 
1676
+ var utcDay$1 = utcDay;
1677
+
1340
1678
  function utcWeekday(i) {
1341
1679
  return newInterval(function(date) {
1342
1680
  date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);
@@ -1350,11 +1688,11 @@ function utcWeekday(i) {
1350
1688
 
1351
1689
  var utcSunday = utcWeekday(0);
1352
1690
  var utcMonday = utcWeekday(1);
1353
- var utcTuesday = utcWeekday(2);
1354
- var utcWednesday = utcWeekday(3);
1691
+ utcWeekday(2);
1692
+ utcWeekday(3);
1355
1693
  var utcThursday = utcWeekday(4);
1356
- var utcFriday = utcWeekday(5);
1357
- var utcSaturday = utcWeekday(6);
1694
+ utcWeekday(5);
1695
+ utcWeekday(6);
1358
1696
 
1359
1697
  var utcYear = newInterval(function(date) {
1360
1698
  date.setUTCMonth(0, 1);
@@ -1378,6 +1716,8 @@ utcYear.every = function(k) {
1378
1716
  });
1379
1717
  };
1380
1718
 
1719
+ var utcYear$1 = utcYear;
1720
+
1381
1721
  function localDate(d) {
1382
1722
  if (0 <= d.y && d.y < 100) {
1383
1723
  var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);
@@ -1566,7 +1906,7 @@ function formatLocale(locale) {
1566
1906
  return function(string) {
1567
1907
  var d = newDate(1900, undefined, 1),
1568
1908
  i = parseSpecifier(d, specifier, string += "", 0),
1569
- week, day$1;
1909
+ week, day;
1570
1910
  if (i != string.length) return null;
1571
1911
 
1572
1912
  // If a UNIX timestamp is specified, return it.
@@ -1587,25 +1927,25 @@ function formatLocale(locale) {
1587
1927
  if (d.V < 1 || d.V > 53) return null;
1588
1928
  if (!("w" in d)) d.w = 1;
1589
1929
  if ("Z" in d) {
1590
- week = utcDate(newDate(d.y, 0, 1)), day$1 = week.getUTCDay();
1591
- week = day$1 > 4 || day$1 === 0 ? utcMonday.ceil(week) : utcMonday(week);
1592
- week = utcDay.offset(week, (d.V - 1) * 7);
1930
+ week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();
1931
+ week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);
1932
+ week = utcDay$1.offset(week, (d.V - 1) * 7);
1593
1933
  d.y = week.getUTCFullYear();
1594
1934
  d.m = week.getUTCMonth();
1595
1935
  d.d = week.getUTCDate() + (d.w + 6) % 7;
1596
1936
  } else {
1597
- week = localDate(newDate(d.y, 0, 1)), day$1 = week.getDay();
1598
- week = day$1 > 4 || day$1 === 0 ? monday.ceil(week) : monday(week);
1599
- week = day.offset(week, (d.V - 1) * 7);
1937
+ week = localDate(newDate(d.y, 0, 1)), day = week.getDay();
1938
+ week = day > 4 || day === 0 ? monday.ceil(week) : monday(week);
1939
+ week = timeDay.offset(week, (d.V - 1) * 7);
1600
1940
  d.y = week.getFullYear();
1601
1941
  d.m = week.getMonth();
1602
1942
  d.d = week.getDate() + (d.w + 6) % 7;
1603
1943
  }
1604
1944
  } else if ("W" in d || "U" in d) {
1605
1945
  if (!("w" in d)) d.w = "u" in d ? d.u % 7 : "W" in d ? 1 : 0;
1606
- day$1 = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();
1946
+ day = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();
1607
1947
  d.m = 0;
1608
- 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;
1948
+ d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;
1609
1949
  }
1610
1950
 
1611
1951
  // If a time zone is specified, all fields are interpreted as UTC and then
@@ -1891,7 +2231,7 @@ function formatHour12(d, p) {
1891
2231
  }
1892
2232
 
1893
2233
  function formatDayOfYear(d, p) {
1894
- return pad(1 + day.count(year(d), d), p, 3);
2234
+ return pad(1 + timeDay.count(timeYear(d), d), p, 3);
1895
2235
  }
1896
2236
 
1897
2237
  function formatMilliseconds(d, p) {
@@ -1920,7 +2260,7 @@ function formatWeekdayNumberMonday(d) {
1920
2260
  }
1921
2261
 
1922
2262
  function formatWeekNumberSunday(d, p) {
1923
- return pad(sunday.count(year(d) - 1, d), p, 2);
2263
+ return pad(sunday.count(timeYear(d) - 1, d), p, 2);
1924
2264
  }
1925
2265
 
1926
2266
  function dISO(d) {
@@ -1930,7 +2270,7 @@ function dISO(d) {
1930
2270
 
1931
2271
  function formatWeekNumberISO(d, p) {
1932
2272
  d = dISO(d);
1933
- return pad(thursday.count(year(d), d) + (year(d).getDay() === 4), p, 2);
2273
+ return pad(thursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);
1934
2274
  }
1935
2275
 
1936
2276
  function formatWeekdayNumberSunday(d) {
@@ -1938,7 +2278,7 @@ function formatWeekdayNumberSunday(d) {
1938
2278
  }
1939
2279
 
1940
2280
  function formatWeekNumberMonday(d, p) {
1941
- return pad(monday.count(year(d) - 1, d), p, 2);
2281
+ return pad(monday.count(timeYear(d) - 1, d), p, 2);
1942
2282
  }
1943
2283
 
1944
2284
  function formatYear(d, p) {
@@ -1980,7 +2320,7 @@ function formatUTCHour12(d, p) {
1980
2320
  }
1981
2321
 
1982
2322
  function formatUTCDayOfYear(d, p) {
1983
- return pad(1 + utcDay.count(utcYear(d), d), p, 3);
2323
+ return pad(1 + utcDay$1.count(utcYear$1(d), d), p, 3);
1984
2324
  }
1985
2325
 
1986
2326
  function formatUTCMilliseconds(d, p) {
@@ -2009,7 +2349,7 @@ function formatUTCWeekdayNumberMonday(d) {
2009
2349
  }
2010
2350
 
2011
2351
  function formatUTCWeekNumberSunday(d, p) {
2012
- return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);
2352
+ return pad(utcSunday.count(utcYear$1(d) - 1, d), p, 2);
2013
2353
  }
2014
2354
 
2015
2355
  function UTCdISO(d) {
@@ -2019,7 +2359,7 @@ function UTCdISO(d) {
2019
2359
 
2020
2360
  function formatUTCWeekNumberISO(d, p) {
2021
2361
  d = UTCdISO(d);
2022
- return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);
2362
+ return pad(utcThursday.count(utcYear$1(d), d) + (utcYear$1(d).getUTCDay() === 4), p, 2);
2023
2363
  }
2024
2364
 
2025
2365
  function formatUTCWeekdayNumberSunday(d) {
@@ -2027,7 +2367,7 @@ function formatUTCWeekdayNumberSunday(d) {
2027
2367
  }
2028
2368
 
2029
2369
  function formatUTCWeekNumberMonday(d, p) {
2030
- return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);
2370
+ return pad(utcMonday.count(utcYear$1(d) - 1, d), p, 2);
2031
2371
  }
2032
2372
 
2033
2373
  function formatUTCYear(d, p) {
@@ -2066,8 +2406,6 @@ function formatUnixTimestampSeconds(d) {
2066
2406
  }
2067
2407
 
2068
2408
  var locale;
2069
- var timeFormat;
2070
- var timeParse;
2071
2409
  var utcFormat;
2072
2410
  var utcParse;
2073
2411
 
@@ -2084,8 +2422,6 @@ defaultLocale({
2084
2422
 
2085
2423
  function defaultLocale(definition) {
2086
2424
  locale = formatLocale(definition);
2087
- timeFormat = locale.format;
2088
- timeParse = locale.parse;
2089
2425
  utcFormat = locale.utcFormat;
2090
2426
  utcParse = locale.utcParse;
2091
2427
  return locale;
@@ -2183,12 +2519,12 @@ var GraphCache = /** @class */ (function (_super) {
2183
2519
  }
2184
2520
  return GraphCache;
2185
2521
  }(util.Cache));
2186
- function walkXmlJson(node, callback, stack) {
2522
+ function walkXmlJson$1(node, callback, stack) {
2187
2523
  stack = stack || [];
2188
2524
  stack.push(node);
2189
2525
  callback(node.name, node.$, node.children(), stack);
2190
2526
  node.children().forEach(function (childNode) {
2191
- walkXmlJson(childNode, callback, stack);
2527
+ walkXmlJson$1(childNode, callback, stack);
2192
2528
  });
2193
2529
  stack.pop();
2194
2530
  }
@@ -2237,7 +2573,7 @@ function createXGMMLGraph(id, graphs) {
2237
2573
  return item._["id"];
2238
2574
  });
2239
2575
  var stack = [graph.root];
2240
- walkXmlJson(graphs, function (tag, attributes, childNodes, _stack) {
2576
+ walkXmlJson$1(graphs, function (tag, attributes, childNodes, _stack) {
2241
2577
  var top = stack[stack.length - 1];
2242
2578
  switch (tag) {
2243
2579
  case "graph":
@@ -2312,7 +2648,7 @@ function createGraph(scopes) {
2312
2648
  scopeStack.pop();
2313
2649
  }
2314
2650
  if (!scopeParent1) {
2315
- console.log("Missing SG:Parent (" + scope.Id + "): " + scope.parentScope());
2651
+ console.log("Missing SG:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2316
2652
  }
2317
2653
  else {
2318
2654
  var parent1 = scopeParent1;
@@ -2322,7 +2658,7 @@ function createGraph(scopes) {
2322
2658
  case "activity":
2323
2659
  var scopeParent2 = subgraphs[scope.parentScope()];
2324
2660
  if (!scopeParent2) {
2325
- console.log("Missing A:Parent (" + scope.Id + "): " + scope.parentScope());
2661
+ console.log("Missing A:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2326
2662
  }
2327
2663
  else {
2328
2664
  vertices[scope.ScopeName] = scopeParent2.createVertex(scope);
@@ -2334,7 +2670,7 @@ function createGraph(scopes) {
2334
2670
  case "function":
2335
2671
  var scopeParent3 = vertices[scope.parentScope()];
2336
2672
  if (!scopeParent3) {
2337
- console.log("Missing F:Parent (" + scope.Id + "): " + scope.parentScope());
2673
+ console.log("Missing F:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2338
2674
  }
2339
2675
  else {
2340
2676
  scopeParent3._.children().push(scope);
@@ -2346,7 +2682,7 @@ function createGraph(scopes) {
2346
2682
  var scope = edges[id];
2347
2683
  var scopeParent3 = subgraphs[scope.parentScope()];
2348
2684
  if (!scopeParent3) {
2349
- console.log("Missing E:Parent (" + scope.Id + "): " + scope.parentScope());
2685
+ console.log("Missing E:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2350
2686
  }
2351
2687
  else {
2352
2688
  var parent3 = scopeParent3;
@@ -2358,7 +2694,7 @@ function createGraph(scopes) {
2358
2694
  catch (e) {
2359
2695
  // const sourceIndex = scope.attr("SourceIndex").RawValue;
2360
2696
  // const targetIndex = scope.attr("TargetIndex").RawValue;
2361
- console.log("Invalid Edge: " + id);
2697
+ console.log("Invalid Edge: ".concat(id));
2362
2698
  }
2363
2699
  }
2364
2700
  }
@@ -2651,7 +2987,7 @@ var GlobalResultCache = /** @class */ (function (_super) {
2651
2987
  __extends(GlobalResultCache, _super);
2652
2988
  function GlobalResultCache() {
2653
2989
  return _super.call(this, function (obj) {
2654
- return obj.BaseUrl + "-" + obj.Wuid + "-" + obj.ResultName;
2990
+ return "".concat(obj.BaseUrl, "-").concat(obj.Wuid, "-").concat(obj.ResultName);
2655
2991
  }) || this;
2656
2992
  }
2657
2993
  return GlobalResultCache;
@@ -3122,21 +3458,21 @@ var BaseScope = /** @class */ (function (_super) {
3122
3458
  var label = "";
3123
3459
  var rows = [];
3124
3460
  label = this.Id;
3125
- rows.push("<tr><td class=\"key\">ID:</td><td class=\"value\">" + this.Id + "</td></tr>");
3461
+ rows.push("<tr><td class=\"key\">ID:</td><td class=\"value\">".concat(this.Id, "</td></tr>"));
3126
3462
  if (parentScope) {
3127
- rows.push("<tr><td class=\"key\">Parent ID:</td><td class=\"value\">" + parentScope.Id + "</td></tr>");
3463
+ rows.push("<tr><td class=\"key\">Parent ID:</td><td class=\"value\">".concat(parentScope.Id, "</td></tr>"));
3128
3464
  }
3129
- rows.push("<tr><td class=\"key\">Scope:</td><td class=\"value\">" + this.ScopeName + "</td></tr>");
3465
+ rows.push("<tr><td class=\"key\">Scope:</td><td class=\"value\">".concat(this.ScopeName, "</td></tr>"));
3130
3466
  var attrs = this.formattedAttrs();
3131
3467
  for (var key in attrs) {
3132
3468
  if (key === "Label") {
3133
3469
  label = attrs[key];
3134
3470
  }
3135
3471
  else {
3136
- rows.push("<tr><td class=\"key\">" + key + "</td><td class=\"value\">" + attrs[key] + "</td></tr>");
3472
+ rows.push("<tr><td class=\"key\">".concat(key, "</td><td class=\"value\">").concat(attrs[key], "</td></tr>"));
3137
3473
  }
3138
3474
  }
3139
- 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>";
3475
+ 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>");
3140
3476
  };
3141
3477
  return BaseScope;
3142
3478
  }(util.StateObject));
@@ -3276,7 +3612,7 @@ var WorkunitCache = /** @class */ (function (_super) {
3276
3612
  __extends(WorkunitCache, _super);
3277
3613
  function WorkunitCache() {
3278
3614
  return _super.call(this, function (obj) {
3279
- return obj.BaseUrl + "-" + obj.Wuid;
3615
+ return "".concat(obj.BaseUrl, "-").concat(obj.Wuid);
3280
3616
  }) || this;
3281
3617
  }
3282
3618
  return WorkunitCache;
@@ -4124,6 +4460,9 @@ var Workunit = /** @class */ (function (_super) {
4124
4460
  case "cnt":
4125
4461
  props[scopeProperty.Name] = +scopeProperty.RawValue;
4126
4462
  break;
4463
+ case "cost":
4464
+ props[scopeProperty.Name] = +scopeProperty.RawValue / 1000000;
4465
+ break;
4127
4466
  case "cpu":
4128
4467
  case "skw":
4129
4468
  case "node":
@@ -4483,12 +4822,12 @@ var Workunit = /** @class */ (function (_super) {
4483
4822
  var optsStr = "";
4484
4823
  for (var key in opts) {
4485
4824
  if (opts.hasOwnProperty(key)) {
4486
- optsStr += " " + key + "='" + opts[key] + "'";
4825
+ optsStr += " ".concat(key, "='").concat(opts[key], "'");
4487
4826
  }
4488
4827
  }
4489
4828
  return this.connection.WUCDebug({
4490
4829
  Wuid: this.Wuid,
4491
- Command: "<debug:" + command + " uid='" + this.Wuid + "'" + optsStr + "/>"
4830
+ Command: "<debug:".concat(command, " uid='").concat(this.Wuid, "'").concat(optsStr, "/>")
4492
4831
  }).then(function (response) {
4493
4832
  return response;
4494
4833
  });
@@ -4619,7 +4958,7 @@ function getECLDefinition(vertex) {
4619
4958
  column: +_col
4620
4959
  };
4621
4960
  }
4622
- throw new Error("Bad definition: " + vertex._[ATTR_DEFINITION]);
4961
+ throw new Error("Bad definition: ".concat(vertex._[ATTR_DEFINITION]));
4623
4962
  }
4624
4963
  function breakpointLocations(graph, path) {
4625
4964
  var retVal = [];
@@ -4808,12 +5147,12 @@ var LogicalFileCache = /** @class */ (function (_super) {
4808
5147
  __extends(LogicalFileCache, _super);
4809
5148
  function LogicalFileCache() {
4810
5149
  return _super.call(this, function (obj) {
4811
- return obj.BaseUrl + "-" + obj.Cluster + "-" + obj.Name;
5150
+ return "".concat(obj.BaseUrl, "-").concat(obj.Cluster, "-").concat(obj.Name);
4812
5151
  }) || this;
4813
5152
  }
4814
5153
  return LogicalFileCache;
4815
5154
  }(util.Cache));
4816
- var _store = new LogicalFileCache();
5155
+ var _store$1 = new LogicalFileCache();
4817
5156
  var LogicalFile = /** @class */ (function (_super) {
4818
5157
  __extends(LogicalFile, _super);
4819
5158
  function LogicalFile(optsConnection, Cluster, Name) {
@@ -5096,14 +5435,14 @@ var LogicalFile = /** @class */ (function (_super) {
5096
5435
  configurable: true
5097
5436
  });
5098
5437
  LogicalFile.attach = function (optsConnection, Cluster, Name) {
5099
- var retVal = _store.get({ BaseUrl: optsConnection.baseUrl, Cluster: Cluster, Name: Name }, function () {
5438
+ var retVal = _store$1.get({ BaseUrl: optsConnection.baseUrl, Cluster: Cluster, Name: Name }, function () {
5100
5439
  return new LogicalFile(optsConnection, Cluster, Name);
5101
5440
  });
5102
5441
  return retVal;
5103
5442
  };
5104
5443
  LogicalFile.prototype.filePartsOnCluster = function () {
5105
5444
  var _a;
5106
- return __spreadArray([], (((_a = this.DFUFilePartsOnClusters) === null || _a === void 0 ? void 0 : _a.DFUFilePartsOnCluster) || []));
5445
+ return __spreadArray([], (((_a = this.DFUFilePartsOnClusters) === null || _a === void 0 ? void 0 : _a.DFUFilePartsOnCluster) || []), true);
5107
5446
  };
5108
5447
  LogicalFile.prototype.fileParts = function () {
5109
5448
  var _a, _b;
@@ -5256,6 +5595,11 @@ var Machine = /** @class */ (function (_super) {
5256
5595
  enumerable: false,
5257
5596
  configurable: true
5258
5597
  });
5598
+ Object.defineProperty(Machine.prototype, "Channels", {
5599
+ get: function () { return this.get("Channels"); },
5600
+ enumerable: false,
5601
+ configurable: true
5602
+ });
5259
5603
  Object.defineProperty(Machine.prototype, "Processors", {
5260
5604
  get: function () { return this.get("Processors"); },
5261
5605
  enumerable: false,
@@ -5286,6 +5630,11 @@ var Machine = /** @class */ (function (_super) {
5286
5630
  enumerable: false,
5287
5631
  configurable: true
5288
5632
  });
5633
+ Object.defineProperty(Machine.prototype, "Exception", {
5634
+ get: function () { return this.get("Exception"); },
5635
+ enumerable: false,
5636
+ configurable: true
5637
+ });
5289
5638
  Machine.attach = function (optsConnection, address, state) {
5290
5639
  var retVal = _machines.get({ Address: address }, function () {
5291
5640
  return new Machine(optsConnection);
@@ -5550,12 +5899,12 @@ var StoreCache = /** @class */ (function (_super) {
5550
5899
  __extends(StoreCache, _super);
5551
5900
  function StoreCache() {
5552
5901
  return _super.call(this, function (obj) {
5553
- return obj.BaseUrl + "-" + obj.Name + ":" + obj.UserSpecific + "-" + obj.Namespace;
5902
+ return "".concat(obj.BaseUrl, "-").concat(obj.Name, ":").concat(obj.UserSpecific, "-").concat(obj.Namespace);
5554
5903
  }) || this;
5555
5904
  }
5556
5905
  return StoreCache;
5557
5906
  }(util.Cache));
5558
- var _store$1 = new StoreCache();
5907
+ var _store = new StoreCache();
5559
5908
  var ValueChangedMessage = /** @class */ (function (_super) {
5560
5909
  __extends(ValueChangedMessage, _super);
5561
5910
  function ValueChangedMessage(key, value, oldValue) {
@@ -5604,7 +5953,7 @@ var Store = /** @class */ (function () {
5604
5953
  Store.attach = function (optsConnection, Name, Namespace, UserSpecific) {
5605
5954
  if (Name === void 0) { Name = "HPCCApps"; }
5606
5955
  if (UserSpecific === void 0) { UserSpecific = true; }
5607
- var retVal = _store$1.get({ BaseUrl: optsConnection.baseUrl, Name: Name, UserSpecific: UserSpecific, Namespace: Namespace }, function () {
5956
+ var retVal = _store.get({ BaseUrl: optsConnection.baseUrl, Name: Name, UserSpecific: UserSpecific, Namespace: Namespace }, function () {
5608
5957
  return new Store(optsConnection, Name, Namespace, UserSpecific);
5609
5958
  });
5610
5959
  return retVal;
@@ -5628,7 +5977,7 @@ var Store = /** @class */ (function () {
5628
5977
  _this._dispatch.post(new ValueChangedMessage(key, value, oldValue));
5629
5978
  }
5630
5979
  }).catch(function (e) {
5631
- console.error("Store.set(\"" + key + "\", \"" + value + "\") failed:", e);
5980
+ console.error("Store.set(\"".concat(key, "\", \"").concat(value, "\") failed:"), e);
5632
5981
  });
5633
5982
  };
5634
5983
  Store.prototype.get = function (key, broadcast) {
@@ -5647,7 +5996,7 @@ var Store = /** @class */ (function () {
5647
5996
  }
5648
5997
  return response.Value;
5649
5998
  }).catch(function (e) {
5650
- console.error("Store.get(" + key + ") failed:", e);
5999
+ console.error("Store.get(".concat(key, ") failed:"), e);
5651
6000
  return undefined;
5652
6001
  });
5653
6002
  };
@@ -5697,7 +6046,7 @@ var Store = /** @class */ (function () {
5697
6046
  _this._dispatch.post(new ValueChangedMessage(key, undefined, oldValue));
5698
6047
  }
5699
6048
  }).catch(function (e) {
5700
- console.error("Store.delete(" + key + ") failed:", e);
6049
+ console.error("Store.delete(".concat(key, ") failed:"), e);
5701
6050
  });
5702
6051
  };
5703
6052
  Store.prototype.monitor = function (callback) {
@@ -5710,7 +6059,7 @@ var TargetClusterCache = /** @class */ (function (_super) {
5710
6059
  __extends(TargetClusterCache, _super);
5711
6060
  function TargetClusterCache() {
5712
6061
  return _super.call(this, function (obj) {
5713
- return obj.BaseUrl + "-" + obj.Name;
6062
+ return "".concat(obj.BaseUrl, "-").concat(obj.Name);
5714
6063
  }) || this;
5715
6064
  }
5716
6065
  return TargetClusterCache;
@@ -5809,7 +6158,7 @@ var TargetCluster = /** @class */ (function (_super) {
5809
6158
  var _this = this;
5810
6159
  if (request === void 0) { request = {}; }
5811
6160
  return this.machineConnection.GetTargetClusterInfo(__assign({ TargetClusters: {
5812
- Item: [this.Type + ":" + this.Name]
6161
+ Item: ["".concat(this.Type, ":").concat(this.Name)]
5813
6162
  } }, request)).then(function (response) {
5814
6163
  var retVal = [];
5815
6164
  for (var _i = 0, _a = response.TargetClusterInfoList.TargetClusterInfo; _i < _a.length; _i++) {
@@ -5845,7 +6194,7 @@ var TargetCluster = /** @class */ (function (_super) {
5845
6194
  };
5846
6195
  };
5847
6196
  TargetCluster.prototype.fetchUsage = function () {
5848
- return this.machineConnection.GetTargetClusterUsageEx([this.Name]);
6197
+ return this.machineConnection.GetTargetClusterUsageEx({ TargetClusters: { Item: [this.Name] } });
5849
6198
  };
5850
6199
  return TargetCluster;
5851
6200
  }(util.StateObject));
@@ -5975,7 +6324,7 @@ var Topology = /** @class */ (function (_super) {
5975
6324
  }
5976
6325
  }
5977
6326
  }
5978
- return rootProtocol + "//" + ip + ":" + port + "/";
6327
+ return "".concat(rootProtocol, "//").concat(ip, ":").concat(port, "/");
5979
6328
  });
5980
6329
  };
5981
6330
  Topology.prototype.fetchTargetClusters = function () {
@@ -6041,7 +6390,7 @@ var Topology = /** @class */ (function (_super) {
6041
6390
  return Topology;
6042
6391
  }(util.StateObject));
6043
6392
 
6044
- var logger$2 = util.scopedLogger("clienttools/eclmeta");
6393
+ util.scopedLogger("clienttools/eclmeta");
6045
6394
  var Attr = /** @class */ (function () {
6046
6395
  function Attr(xmlAttr) {
6047
6396
  this.__attrs = xmlAttr.$;
@@ -6073,7 +6422,7 @@ var ECLScope = /** @class */ (function () {
6073
6422
  if (end === void 0) { end = Number.MAX_VALUE; }
6074
6423
  this.name = name;
6075
6424
  this.type = type;
6076
- this.sourcePath = path.normalize(sourcePath);
6425
+ this.sourcePath = path__namespace.normalize(sourcePath);
6077
6426
  this.line = +line - 1;
6078
6427
  this.start = +start;
6079
6428
  this.body = +body;
@@ -6198,7 +6547,7 @@ var Source = /** @class */ (function (_super) {
6198
6547
  fakeNode.appendAttribute("ref", nameParts.join("."));
6199
6548
  _this.imports = __spreadArray([
6200
6549
  new Import(fakeNode)
6201
- ], _this.parseImports(xmlSource.children("Import")));
6550
+ ], _this.parseImports(xmlSource.children("Import")), true);
6202
6551
  return _this;
6203
6552
  }
6204
6553
  Source.prototype.parseImports = function (imports) {
@@ -6226,10 +6575,10 @@ var Source = /** @class */ (function (_super) {
6226
6575
  };
6227
6576
  return Source;
6228
6577
  }(ECLScope));
6229
- var isHiddenDirectory = function (source) { return path.basename(source).indexOf(".") === 0; };
6230
- var isDirectory = function (source) { return fs.lstatSync(source).isDirectory() && !isHiddenDirectory(source); };
6231
- var isEcl = function (source) { return [".ecl", ".ecllib"].indexOf(path.extname(source).toLowerCase()) >= 0; };
6232
- var modAttrs = function (source) { return fs.readdirSync(source).map(function (name) { return path.join(source, name); }).filter(function (path) { return isDirectory(path) || isEcl(path); }); };
6578
+ var isHiddenDirectory = function (source) { return path__namespace.basename(source).indexOf(".") === 0; };
6579
+ var isDirectory = function (source) { return fs__namespace.lstatSync(source).isDirectory() && !isHiddenDirectory(source); };
6580
+ var isEcl = function (source) { return [".ecl", ".ecllib"].indexOf(path__namespace.extname(source).toLowerCase()) >= 0; };
6581
+ 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); }); };
6233
6582
  var File = /** @class */ (function (_super) {
6234
6583
  __extends(File, _super);
6235
6584
  function File(name, sourcePath) {
@@ -6248,7 +6597,7 @@ var Folder = /** @class */ (function (_super) {
6248
6597
  Folder.prototype.suggestions = function () {
6249
6598
  return modAttrs(this.sourcePath).map(function (folder) {
6250
6599
  return {
6251
- name: path.basename(folder, ".ecl"),
6600
+ name: path__namespace.basename(folder, ".ecl"),
6252
6601
  type: "folder"
6253
6602
  };
6254
6603
  });
@@ -6275,7 +6624,7 @@ var Workspace = /** @class */ (function () {
6275
6624
  }).then(function (paths) {
6276
6625
  for (var _i = 0, _a = ["ECLCC_ECLLIBRARY_PATH", "ECLCC_PLUGIN_PATH"]; _i < _a.length; _i++) {
6277
6626
  var knownFolder = _a[_i];
6278
- if (paths[knownFolder] && fs.existsSync(paths[knownFolder])) {
6627
+ if (paths[knownFolder] && fs__namespace.existsSync(paths[knownFolder])) {
6279
6628
  _this.walkChildFolders(paths[knownFolder], paths[knownFolder]);
6280
6629
  }
6281
6630
  }
@@ -6283,7 +6632,7 @@ var Workspace = /** @class */ (function () {
6283
6632
  });
6284
6633
  };
6285
6634
  Workspace.prototype.primeWorkspace = function () {
6286
- if (fs.existsSync(this._workspacePath)) {
6635
+ if (fs__namespace.existsSync(this._workspacePath)) {
6287
6636
  this.visitFolder(this._workspacePath, this._workspacePath);
6288
6637
  }
6289
6638
  };
@@ -6301,16 +6650,16 @@ var Workspace = /** @class */ (function () {
6301
6650
  };
6302
6651
  Workspace.prototype.visitFile = function (filePath, refPath, force) {
6303
6652
  if (force === void 0) { force = false; }
6304
- var filePathInfo = path.parse(filePath);
6305
- var pathNoExt = path.join(filePathInfo.dir, filePathInfo.name);
6306
- var name = path.relative(refPath, pathNoExt).split(path.sep).join(".");
6653
+ var filePathInfo = path__namespace.parse(filePath);
6654
+ var pathNoExt = path__namespace.join(filePathInfo.dir, filePathInfo.name);
6655
+ var name = path__namespace.relative(refPath, pathNoExt).split(path__namespace.sep).join(".");
6307
6656
  if (force || !this._test.has(name)) {
6308
6657
  this._test.set(name, new File("", filePath));
6309
6658
  }
6310
6659
  };
6311
6660
  Workspace.prototype.visitFolder = function (folderPath, refPath, force) {
6312
6661
  if (force === void 0) { force = false; }
6313
- var name = path.relative(refPath, folderPath).split(path.sep).join(".");
6662
+ var name = path__namespace.relative(refPath, folderPath).split(path__namespace.sep).join(".");
6314
6663
  if (force || !this._test.has(name)) {
6315
6664
  this._test.set(name, new Folder(name, folderPath));
6316
6665
  this.walkChildFolders(folderPath, refPath, force);
@@ -6321,7 +6670,7 @@ var Workspace = /** @class */ (function () {
6321
6670
  if (removeDupID && parentStack[parentStack.length - 1] === nameStack[0]) {
6322
6671
  nameStack.shift();
6323
6672
  }
6324
- var stack = __spreadArray(__spreadArray([], parentStack), nameStack);
6673
+ var stack = __spreadArray(__spreadArray([], parentStack, true), nameStack, true);
6325
6674
  var qid = stack.join(".");
6326
6675
  return {
6327
6676
  stack: stack,
@@ -6370,10 +6719,10 @@ var Workspace = /** @class */ (function () {
6370
6719
  if (depth > 1) {
6371
6720
  var sourcePath = source.sourcePath;
6372
6721
  while (depth > 1) {
6373
- sourcePath = path.dirname(sourcePath);
6722
+ sourcePath = path__namespace.dirname(sourcePath);
6374
6723
  --depth;
6375
6724
  }
6376
- this.visitFolder(sourcePath, path.dirname(sourcePath));
6725
+ this.visitFolder(sourcePath, path__namespace.dirname(sourcePath));
6377
6726
  }
6378
6727
  }
6379
6728
  this.walkSource(source);
@@ -6384,7 +6733,7 @@ var Workspace = /** @class */ (function () {
6384
6733
  var metaParser = new MetaParser();
6385
6734
  metaParser.parse(metaXML);
6386
6735
  this.parseSources(metaParser.sources);
6387
- return metaParser.sources.map(function (source) { return path.normalize(source.$.sourcePath); });
6736
+ return metaParser.sources.map(function (source) { return path__namespace.normalize(source.$.sourcePath); });
6388
6737
  };
6389
6738
  Workspace.prototype.resolveQualifiedID = function (filePath, qualifiedID, charOffset) {
6390
6739
  var retVal;
@@ -6412,7 +6761,7 @@ var Workspace = /** @class */ (function () {
6412
6761
  retVal = this._test.get(realQID).scope;
6413
6762
  }
6414
6763
  if (!retVal) {
6415
- realQID = __spreadArray(__spreadArray([], eclSource.name.split(".")), qualifiedIDParts).join(".");
6764
+ realQID = __spreadArray(__spreadArray([], eclSource.name.split("."), true), qualifiedIDParts, true).join(".");
6416
6765
  if (this._test.has(realQID)) {
6417
6766
  retVal = this._test.get(realQID).scope;
6418
6767
  }
@@ -6431,7 +6780,7 @@ var Workspace = /** @class */ (function () {
6431
6780
  }());
6432
6781
  var workspaceCache = new util.Dictionary();
6433
6782
  function attachWorkspace(_workspacePath, eclccPath) {
6434
- var workspacePath = path.normalize(_workspacePath);
6783
+ var workspacePath = path__namespace.normalize(_workspacePath);
6435
6784
  if (!workspaceCache.has(workspacePath)) {
6436
6785
  var workspace = new Workspace(workspacePath, eclccPath);
6437
6786
  workspaceCache.set(workspacePath, workspace);
@@ -6469,8 +6818,8 @@ var MetaParser = /** @class */ (function (_super) {
6469
6818
  return MetaParser;
6470
6819
  }(util.SAXStackParser));
6471
6820
 
6472
- var logger$3 = util.scopedLogger("clienttools/eclcc");
6473
- var exeExt = os.type() === "Windows_NT" ? ".exe" : "";
6821
+ var logger = util.scopedLogger("clienttools/eclcc");
6822
+ var exeExt = os__namespace.type() === "Windows_NT" ? ".exe" : "";
6474
6823
  function tidyCRLF(inStr) {
6475
6824
  return inStr.split("\r\n").join("\n").split("\r").join("\n");
6476
6825
  }
@@ -6516,7 +6865,7 @@ var Version = /** @class */ (function () {
6516
6865
  return this.postfix.localeCompare(other.postfix);
6517
6866
  };
6518
6867
  Version.prototype.toString = function () {
6519
- return this.prefix + "_" + this.major + "." + this.minor + "." + this.patch + "-" + this.postfix;
6868
+ return "".concat(this.prefix, "_").concat(this.major, ".").concat(this.minor, ".").concat(this.patch, "-").concat(this.postfix);
6520
6869
  };
6521
6870
  return Version;
6522
6871
  }());
@@ -6565,7 +6914,7 @@ var EclccErrors = /** @class */ (function (_super) {
6565
6914
  function EclccErrors(stdErr, checked) {
6566
6915
  var _this = _super.call(this, checked) || this;
6567
6916
  if (stdErr && stdErr.length) {
6568
- for (var _i = 0, _a = stdErr.split(os.EOL); _i < _a.length; _i++) {
6917
+ for (var _i = 0, _a = stdErr.split(os__namespace.EOL); _i < _a.length; _i++) {
6569
6918
  var errLine = _a[_i];
6570
6919
  var match = /([a-zA-Z]:\\(?:[- \w\.\d]+\\)*(?:[- \w\.\d]+)?|(?:\/[\w\.\-]+)+)\((\d*),(\d*)\) ?: ?(error|warning|info) C(\d*) ?: ?(.*)/.exec(errLine);
6571
6920
  if (match) {
@@ -6586,7 +6935,7 @@ var EclccErrors = /** @class */ (function (_super) {
6586
6935
  if (match) {
6587
6936
  continue;
6588
6937
  }
6589
- logger$3.warning("parseECLErrors: Unable to parse \"" + errLine + "\"");
6938
+ logger.warning("parseECLErrors: Unable to parse \"".concat(errLine, "\""));
6590
6939
  _this.errOther.push(errLine);
6591
6940
  }
6592
6941
  }
@@ -6599,16 +6948,16 @@ var EnvchkErrors = /** @class */ (function (_super) {
6599
6948
  __extends(EnvchkErrors, _super);
6600
6949
  function EnvchkErrors(filePath, stdErr, checked) {
6601
6950
  var _this = _super.call(this, checked) || this;
6602
- var content = fs.readFileSync(filePath, "utf8");
6951
+ var content = fs__namespace.readFileSync(filePath, "utf8");
6603
6952
  content = content.replace(/\r\n/g, "\n");
6604
6953
  _this._lines = content.split("\n");
6605
6954
  if (stdErr && stdErr.length) {
6606
- for (var _i = 0, _a = stdErr.split(os.EOL); _i < _a.length; _i++) {
6955
+ for (var _i = 0, _a = stdErr.split(os__namespace.EOL); _i < _a.length; _i++) {
6607
6956
  var errLine = _a[_i];
6608
6957
  var match = /(Warning|Error) : Path\=(\S*?)(\[\S*\])? Message\=(.*)/.exec(errLine);
6609
6958
  if (match) {
6610
6959
  var severity = match[1], _path = match[2], _attr = match[3], _msg = match[4];
6611
- var msg = _path + " " + (_attr ? _attr : "") + ": " + _msg;
6960
+ var msg = "".concat(_path, " ").concat(_attr ? _attr : "", ": ").concat(_msg);
6612
6961
  var _b = _this.locate(_path), line = _b[0], col = _b[1];
6613
6962
  _this.errWarn.push({ filePath: filePath, line: line, col: col, msg: msg, severity: severity });
6614
6963
  continue;
@@ -6616,7 +6965,7 @@ var EnvchkErrors = /** @class */ (function (_super) {
6616
6965
  if (match) {
6617
6966
  continue;
6618
6967
  }
6619
- logger$3.warning("parseECLErrors: Unable to parse \"" + errLine + "\"");
6968
+ logger.warning("parseECLErrors: Unable to parse \"".concat(errLine, "\""));
6620
6969
  _this.errOther.push(errLine);
6621
6970
  }
6622
6971
  }
@@ -6647,7 +6996,7 @@ var EnvchkErrors = /** @class */ (function (_super) {
6647
6996
  };
6648
6997
  return EnvchkErrors;
6649
6998
  }(Errors));
6650
- function walkXmlJson$1(node, callback, stack) {
6999
+ function walkXmlJson(node, callback, stack) {
6651
7000
  stack = stack || [];
6652
7001
  stack.push(node);
6653
7002
  for (var key in node) {
@@ -6656,11 +7005,11 @@ function walkXmlJson$1(node, callback, stack) {
6656
7005
  callback(key, childNode, stack);
6657
7006
  if (childNode instanceof Array) {
6658
7007
  childNode.forEach(function (child) {
6659
- walkXmlJson$1(child, callback, stack);
7008
+ walkXmlJson(child, callback, stack);
6660
7009
  });
6661
7010
  }
6662
7011
  else if (typeof childNode === "object") {
6663
- walkXmlJson$1(childNode, callback, stack);
7012
+ walkXmlJson(childNode, callback, stack);
6664
7013
  }
6665
7014
  }
6666
7015
  }
@@ -6674,7 +7023,7 @@ var LocalWorkunit = /** @class */ (function () {
6674
7023
  var retVal = [];
6675
7024
  if (util.exists("W_LOCAL.Graphs", this.jsonWU)) {
6676
7025
  var id_1 = "";
6677
- walkXmlJson$1(this.jsonWU.W_LOCAL.Graphs, function (key, item, _stack) {
7026
+ walkXmlJson(this.jsonWU.W_LOCAL.Graphs, function (key, item, _stack) {
6678
7027
  if (key === "$" && item.id) {
6679
7028
  id_1 = item.id;
6680
7029
  }
@@ -6703,10 +7052,10 @@ var ClientTools = /** @class */ (function () {
6703
7052
  if (args === void 0) { args = []; }
6704
7053
  this._paths = {};
6705
7054
  this.eclccPath = eclccPath;
6706
- this.binPath = path.dirname(this.eclccPath);
6707
- this.envchkPath = path.join(this.binPath, "envchk" + exeExt);
6708
- this.eclBundlePath = path.join(this.binPath, "ecl-bundle" + exeExt);
6709
- this.cwd = path.normalize(cwd || this.binPath);
7055
+ this.binPath = path__namespace.dirname(this.eclccPath);
7056
+ this.envchkPath = path__namespace.join(this.binPath, "envchk" + exeExt);
7057
+ this.eclBundlePath = path__namespace.join(this.binPath, "ecl-bundle" + exeExt);
7058
+ this.cwd = path__namespace.normalize(cwd || this.binPath);
6710
7059
  this.includeFolders = includeFolders;
6711
7060
  this._legacyMode = legacyMode;
6712
7061
  this._args = args;
@@ -6719,7 +7068,7 @@ var ClientTools = /** @class */ (function () {
6719
7068
  };
6720
7069
  ClientTools.prototype.exists = function (filePath) {
6721
7070
  try {
6722
- fs.accessSync(filePath);
7071
+ fs__namespace.accessSync(filePath);
6723
7072
  return true;
6724
7073
  }
6725
7074
  catch (e) { }
@@ -6727,12 +7076,12 @@ var ClientTools = /** @class */ (function () {
6727
7076
  };
6728
7077
  ClientTools.prototype.args = function (additionalItems) {
6729
7078
  if (additionalItems === void 0) { additionalItems = []; }
6730
- var retVal = __spreadArray([], this._args);
7079
+ var retVal = __spreadArray([], this._args, true);
6731
7080
  if (this._legacyMode) {
6732
7081
  retVal.push("-legacy");
6733
7082
  }
6734
7083
  return retVal.concat(this.includeFolders.map(function (includePath) {
6735
- return "-I" + path.normalize(includePath);
7084
+ return "-I" + path__namespace.normalize(includePath);
6736
7085
  })).concat(additionalItems);
6737
7086
  };
6738
7087
  ClientTools.prototype.version = function () {
@@ -6740,7 +7089,7 @@ var ClientTools = /** @class */ (function () {
6740
7089
  if (this._version) {
6741
7090
  return Promise.resolve(this._version);
6742
7091
  }
6743
- return this.execFile(this.eclccPath, this.binPath, this.args(["--version"]), "eclcc", "Cannot find " + this.eclccPath).then(function (response) {
7092
+ return this.execFile(this.eclccPath, this.binPath, this.args(["--version"]), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
6744
7093
  _this._version = new Version(response.stdout);
6745
7094
  return _this._version;
6746
7095
  });
@@ -6750,7 +7099,7 @@ var ClientTools = /** @class */ (function () {
6750
7099
  };
6751
7100
  ClientTools.prototype.paths = function () {
6752
7101
  var _this = this;
6753
- return this.execFile(this.eclccPath, this.cwd, this.args(["-showpaths"]), "eclcc", "Cannot find " + this.eclccPath).then(function (response) {
7102
+ return this.execFile(this.eclccPath, this.cwd, this.args(["-showpaths"]), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
6754
7103
  if (response && response.stdout && response.stdout.length) {
6755
7104
  var paths = response.stdout.split(/\r?\n/);
6756
7105
  for (var _i = 0, paths_1 = paths; _i < paths_1.length; _i++) {
@@ -6766,20 +7115,20 @@ var ClientTools = /** @class */ (function () {
6766
7115
  };
6767
7116
  ClientTools.prototype.loadXMLDoc = function (filePath, removeOnRead) {
6768
7117
  return new Promise(function (resolve, _reject) {
6769
- var fileData = fs.readFileSync(filePath, "ascii");
7118
+ var fileData = fs__namespace.readFileSync(filePath, "ascii");
6770
7119
  var retVal = util.xml2json(fileData);
6771
7120
  if (removeOnRead) {
6772
- fs.unlink(filePath, function (err) { });
7121
+ fs__namespace.unlink(filePath, function (err) { });
6773
7122
  }
6774
7123
  resolve(retVal);
6775
7124
  });
6776
7125
  };
6777
7126
  ClientTools.prototype.createWU = function (filename) {
6778
7127
  var _this = this;
6779
- var tmpName = tmp.tmpNameSync({ prefix: "eclcc-wu-tmp", postfix: "" });
7128
+ var tmpName = tmp__namespace.tmpNameSync({ prefix: "eclcc-wu-tmp", postfix: "" });
6780
7129
  var args = ["-o" + tmpName, "-wu"].concat([filename]);
6781
- return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find " + this.eclccPath).then(function (_response) {
6782
- var xmlPath = path.normalize(tmpName + ".xml");
7130
+ return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (_response) {
7131
+ var xmlPath = path__namespace.normalize(tmpName + ".xml");
6783
7132
  var contentPromise = _this.exists(xmlPath) ? _this.loadXMLDoc(xmlPath, true) : Promise.resolve({});
6784
7133
  return contentPromise.then(function (content) {
6785
7134
  return new LocalWorkunit(content);
@@ -6788,7 +7137,7 @@ var ClientTools = /** @class */ (function () {
6788
7137
  };
6789
7138
  ClientTools.prototype.createArchive = function (filename) {
6790
7139
  var args = ["-E"].concat([filename]);
6791
- return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find " + this.eclccPath).then(function (response) {
7140
+ return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
6792
7141
  return {
6793
7142
  content: response.stdout,
6794
7143
  err: new EclccErrors(response.stderr, [])
@@ -6801,7 +7150,7 @@ var ClientTools = /** @class */ (function () {
6801
7150
  ClientTools.prototype.fetchMeta = function (filePath) {
6802
7151
  return Promise.all([
6803
7152
  attachWorkspace(this.cwd),
6804
- this.execFile(this.eclccPath, this.cwd, this.args(["-M", filePath]), "eclcc", "Cannot find " + this.eclccPath)
7153
+ this.execFile(this.eclccPath, this.cwd, this.args(["-M", filePath]), "eclcc", "Cannot find ".concat(this.eclccPath))
6805
7154
  ]).then(function (_a) {
6806
7155
  var metaWorkspace = _a[0], execFileResponse = _a[1];
6807
7156
  if (execFileResponse && execFileResponse.stdout && execFileResponse.stdout.length) {
@@ -6814,7 +7163,7 @@ var ClientTools = /** @class */ (function () {
6814
7163
  if (args === void 0) { args = ["-syntax"]; }
6815
7164
  return Promise.all([
6816
7165
  attachWorkspace(this.cwd),
6817
- this.execFile(this.eclccPath, this.cwd, this.args(__spreadArray(__spreadArray([], args), ["-M", filePath])), "eclcc", "Cannot find " + this.eclccPath)
7166
+ this.execFile(this.eclccPath, this.cwd, this.args(__spreadArray(__spreadArray([], args, true), ["-M", filePath], false)), "eclcc", "Cannot find ".concat(this.eclccPath))
6818
7167
  ]).then(function (_a) {
6819
7168
  var metaWorkspace = _a[0], execFileResponse = _a[1];
6820
7169
  var checked = [];
@@ -6828,9 +7177,9 @@ var ClientTools = /** @class */ (function () {
6828
7177
  if (args === void 0) { args = []; }
6829
7178
  return Promise.all([
6830
7179
  attachWorkspace(this.cwd),
6831
- this.execFile(this.envchkPath, this.cwd, this.args(__spreadArray(__spreadArray([], args), [filePath])), "envchk", "Cannot find " + this.envchkPath)
7180
+ this.execFile(this.envchkPath, this.cwd, this.args(__spreadArray(__spreadArray([], args, true), [filePath], false)), "envchk", "Cannot find ".concat(this.envchkPath))
6832
7181
  ]).then(function (_a) {
6833
- var metaWorkspace = _a[0], execFileResponse = _a[1];
7182
+ _a[0]; var execFileResponse = _a[1];
6834
7183
  return new EnvchkErrors(filePath, execFileResponse ? execFileResponse.stderr : "", []);
6835
7184
  });
6836
7185
  };
@@ -6853,13 +7202,13 @@ var ClientTools = /** @class */ (function () {
6853
7202
  }
6854
7203
  return retVal;
6855
7204
  }),
6856
- this.execFile(this.eclBundlePath, this.cwd, this.args(["list"]), "ecl-bundle", "Cannot find " + this.eclBundlePath)
7205
+ this.execFile(this.eclBundlePath, this.cwd, this.args(["list"]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
6857
7206
  .then(function (installedText) {
6858
7207
  return tidyCRLF(installedText.stdout).split("\n");
6859
7208
  }).then(function (installedItems) {
6860
7209
  var allProps = {};
6861
7210
  return Promise.all(installedItems.filter(function (ii) { return !!ii; }).map(function (ii) {
6862
- return _this.execFile(_this.eclBundlePath, _this.cwd, _this.args(["info", ii]), "ecl-bundle", "Cannot find " + _this.eclBundlePath)
7211
+ return _this.execFile(_this.eclBundlePath, _this.cwd, _this.args(["info", ii]), "ecl-bundle", "Cannot find ".concat(_this.eclBundlePath))
6863
7212
  .then(function (infoText) {
6864
7213
  return tidyCRLF(infoText.stdout).split("\n");
6865
7214
  }).then(function (info) {
@@ -6899,25 +7248,25 @@ var ClientTools = /** @class */ (function () {
6899
7248
  ClientTools.prototype.bundleInstall = function (bundleUrl) {
6900
7249
  return Promise.all([
6901
7250
  attachWorkspace(this.cwd),
6902
- this.execFile(this.eclBundlePath, this.cwd, this.args(["install", bundleUrl]), "ecl-bundle", "Cannot find " + this.eclBundlePath)
7251
+ this.execFile(this.eclBundlePath, this.cwd, this.args(["install", bundleUrl]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
6903
7252
  ]).then(function (_a) {
6904
- var metaWorkspace = _a[0], execFileResponse = _a[1];
7253
+ _a[0]; var execFileResponse = _a[1];
6905
7254
  return execFileResponse;
6906
7255
  });
6907
7256
  };
6908
7257
  ClientTools.prototype.bundleUninstall = function (name) {
6909
7258
  return Promise.all([
6910
7259
  attachWorkspace(this.cwd),
6911
- this.execFile(this.eclBundlePath, this.cwd, this.args(["uninstall", name]), "ecl-bundle", "Cannot find " + this.eclBundlePath)
7260
+ this.execFile(this.eclBundlePath, this.cwd, this.args(["uninstall", name]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
6912
7261
  ]).then(function (_a) {
6913
- var metaWorkspace = _a[0], execFileResponse = _a[1];
7262
+ _a[0]; var execFileResponse = _a[1];
6914
7263
  return execFileResponse;
6915
7264
  });
6916
7265
  };
6917
7266
  ClientTools.prototype.execFile = function (cmd, cwd, args, _toolName, _notFoundError) {
6918
7267
  return new Promise(function (resolve, _reject) {
6919
- logger$3.debug(cmd + " " + args.join(" "));
6920
- var child = cp.spawn(cmd, args, { cwd: cwd });
7268
+ logger.debug("".concat(cmd, " ").concat(args.join(" ")));
7269
+ var child = cp__namespace.spawn(cmd, args, { cwd: cwd });
6921
7270
  var stdOut = "";
6922
7271
  var stdErr = "";
6923
7272
  child.stdout.on("data", function (data) {
@@ -6939,18 +7288,18 @@ var ClientTools = /** @class */ (function () {
6939
7288
  }());
6940
7289
  function locateClientToolsInFolder(rootFolder, clientTools) {
6941
7290
  if (rootFolder) {
6942
- var hpccSystemsFolder_1 = path.join(rootFolder, "HPCCSystems");
6943
- if (fs.existsSync(hpccSystemsFolder_1) && fs.statSync(hpccSystemsFolder_1).isDirectory()) {
6944
- if (os.type() !== "Windows_NT") {
6945
- var eclccPath = path.join(hpccSystemsFolder_1, "bin", "eclcc");
6946
- if (fs.existsSync(eclccPath)) {
7291
+ var hpccSystemsFolder_1 = path__namespace.join(rootFolder, "HPCCSystems");
7292
+ if (fs__namespace.existsSync(hpccSystemsFolder_1) && fs__namespace.statSync(hpccSystemsFolder_1).isDirectory()) {
7293
+ if (os__namespace.type() !== "Windows_NT") {
7294
+ var eclccPath = path__namespace.join(hpccSystemsFolder_1, "bin", "eclcc");
7295
+ if (fs__namespace.existsSync(eclccPath)) {
6947
7296
  clientTools.push(new ClientTools(eclccPath));
6948
7297
  }
6949
7298
  }
6950
- fs.readdirSync(hpccSystemsFolder_1).forEach(function (versionFolder) {
6951
- var eclccPath = path.join(hpccSystemsFolder_1, versionFolder, "clienttools", "bin", "eclcc" + exeExt);
6952
- if (fs.existsSync(eclccPath)) {
6953
- var name_1 = path.basename(versionFolder);
7299
+ fs__namespace.readdirSync(hpccSystemsFolder_1).forEach(function (versionFolder) {
7300
+ var eclccPath = path__namespace.join(hpccSystemsFolder_1, versionFolder, "clienttools", "bin", "eclcc" + exeExt);
7301
+ if (fs__namespace.existsSync(eclccPath)) {
7302
+ var name_1 = path__namespace.basename(versionFolder);
6954
7303
  var version = new Version(name_1);
6955
7304
  if (version.exists()) {
6956
7305
  clientTools.push(new ClientTools(eclccPath));
@@ -6965,7 +7314,7 @@ function locateAllClientTools() {
6965
7314
  if (allClientToolsCache)
6966
7315
  return allClientToolsCache;
6967
7316
  var clientTools = [];
6968
- switch (os.type()) {
7317
+ switch (os__namespace.type()) {
6969
7318
  case "Windows_NT":
6970
7319
  var rootFolder86 = process.env["ProgramFiles(x86)"] || "";
6971
7320
  if (rootFolder86) {
@@ -6994,9 +7343,9 @@ function locateAllClientTools() {
6994
7343
  }
6995
7344
  var eclccPathMsg = "";
6996
7345
  function logEclccPath(eclccPath) {
6997
- var msg = "Using eclccPath setting: " + eclccPath;
7346
+ var msg = "Using eclccPath setting: ".concat(eclccPath);
6998
7347
  if (eclccPathMsg !== msg) {
6999
- logger$3.info(msg);
7348
+ logger.info(msg);
7000
7349
  eclccPathMsg = msg;
7001
7350
  }
7002
7351
  }
@@ -7007,7 +7356,7 @@ function locateClientTools(overridePath, build, cwd, includeFolders, legacyMode,
7007
7356
  if (includeFolders === void 0) { includeFolders = []; }
7008
7357
  if (legacyMode === void 0) { legacyMode = false; }
7009
7358
  if (args === void 0) { args = []; }
7010
- if (overridePath && fs.existsSync(overridePath)) {
7359
+ if (overridePath && fs__namespace.existsSync(overridePath)) {
7011
7360
  logEclccPath(overridePath);
7012
7361
  return Promise.resolve(new ClientTools(overridePath, cwd, includeFolders, legacyMode, args));
7013
7362
  }
@@ -7039,33 +7388,33 @@ function locateClientTools(overridePath, build, cwd, includeFolders, legacyMode,
7039
7388
  // DOM Parser polyfill ---
7040
7389
  util.root.DOMParser = xmldom.DOMParser;
7041
7390
  if (typeof util.root.fetch === "undefined") {
7042
- util.root.fetch = fetch$1;
7391
+ util.root.fetch = fetch__default["default"];
7043
7392
  }
7044
7393
  if (typeof util.root.AbortController === "undefined") {
7045
- util.root.AbortController = AbortController;
7394
+ util.root.AbortController = AbortController__default["default"];
7046
7395
  }
7047
- util.root.fetch.__rejectUnauthorizedAgent = new https.Agent({
7396
+ util.root.fetch.__rejectUnauthorizedAgent = new https__namespace.Agent({
7048
7397
  rejectUnauthorized: false
7049
7398
  });
7050
7399
  var globalCA = "";
7051
- if (https.globalAgent.options.ca !== undefined) {
7052
- if (Array.isArray(https.globalAgent.options.ca) && https.globalAgent.options.ca.length) {
7053
- if (typeof https.globalAgent.options.ca[0] === "string") {
7054
- globalCA = https.globalAgent.options.ca.join("\n");
7400
+ if (https__namespace.globalAgent.options.ca !== undefined) {
7401
+ if (Array.isArray(https__namespace.globalAgent.options.ca) && https__namespace.globalAgent.options.ca.length) {
7402
+ if (typeof https__namespace.globalAgent.options.ca[0] === "string") {
7403
+ globalCA = https__namespace.globalAgent.options.ca.join("\n");
7055
7404
  }
7056
- else if (https.globalAgent.options.ca[0] instanceof safeBuffer.Buffer) {
7057
- globalCA = https.globalAgent.options.ca.map(function (row) { return row.toString(); }).join("\n");
7405
+ else if (https__namespace.globalAgent.options.ca[0] instanceof safeBuffer.Buffer) {
7406
+ globalCA = https__namespace.globalAgent.options.ca.map(function (row) { return row.toString(); }).join("\n");
7058
7407
  }
7059
7408
  }
7060
- else if (typeof https.globalAgent.options.ca === "string") {
7061
- globalCA = https.globalAgent.options.ca;
7409
+ else if (typeof https__namespace.globalAgent.options.ca === "string") {
7410
+ globalCA = https__namespace.globalAgent.options.ca;
7062
7411
  }
7063
- else if (https.globalAgent.options.ca instanceof safeBuffer.Buffer) {
7064
- globalCA = https.globalAgent.options.ca.toString();
7412
+ else if (https__namespace.globalAgent.options.ca instanceof safeBuffer.Buffer) {
7413
+ globalCA = https__namespace.globalAgent.options.ca.toString();
7065
7414
  }
7066
7415
  globalCA += "\n";
7067
7416
  }
7068
- util.root.fetch.__trustwaveAgent = new https.Agent({
7417
+ util.root.fetch.__trustwaveAgent = new https__namespace.Agent({
7069
7418
  ca: globalCA + trustwave
7070
7419
  });
7071
7420
  if (typeof util.root.btoa === "undefined") {
@@ -7074,6 +7423,7 @@ if (typeof util.root.btoa === "undefined") {
7074
7423
  };
7075
7424
  }
7076
7425
 
7426
+ exports.AccessService = AccessService;
7077
7427
  exports.AccountService = AccountService;
7078
7428
  exports.Activity = Activity;
7079
7429
  exports.Attr = Attr;
@@ -7101,6 +7451,7 @@ exports.GlobalResultCache = GlobalResultCache;
7101
7451
  exports.GraphCache = GraphCache;
7102
7452
  exports.Import = Import;
7103
7453
  exports.LocalWorkunit = LocalWorkunit;
7454
+ exports.LogaccessService = LogaccessService;
7104
7455
  exports.LogicalFile = LogicalFile;
7105
7456
  exports.LogicalFileCache = LogicalFileCache;
7106
7457
  exports.Machine = Machine;
@@ -7110,6 +7461,7 @@ exports.PKG_NAME = PKG_NAME;
7110
7461
  exports.PKG_VERSION = PKG_VERSION;
7111
7462
  exports.Query = Query;
7112
7463
  exports.Resource = Resource;
7464
+ exports.ResourcesService = ResourcesService;
7113
7465
  exports.Result = Result;
7114
7466
  exports.ResultCache = ResultCache;
7115
7467
  exports.SMCService = SMCService;
@@ -7169,5 +7521,5 @@ exports.send = send;
7169
7521
  exports.serializeRequest = serializeRequest;
7170
7522
  exports.setTransportFactory = setTransportFactory;
7171
7523
  exports.targetClusters = targetClusters;
7172
- exports.walkXmlJson = walkXmlJson$1;
7524
+ exports.walkXmlJson = walkXmlJson;
7173
7525
  //# sourceMappingURL=index.node.js.map