@microsoft/windows-admin-center-sdk 4.167.0 → 4.260.0

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 (617) hide show
  1. package/angular/assets/strings/cs-CZ/strings.json +1 -1
  2. package/angular/assets/strings/de-DE/strings.json +1 -1
  3. package/angular/assets/strings/es-ES/strings.json +1 -1
  4. package/angular/assets/strings/fr-FR/strings.json +1 -1
  5. package/angular/assets/strings/hu-HU/strings.json +1 -1
  6. package/angular/assets/strings/id-ID/strings.json +1 -1
  7. package/angular/assets/strings/it-IT/strings.json +1 -1
  8. package/angular/assets/strings/ja-JP/strings.json +1 -1
  9. package/angular/assets/strings/ko-KR/strings.json +1 -1
  10. package/angular/assets/strings/nl-NL/strings.json +1 -1
  11. package/angular/assets/strings/pl-PL/strings.json +1 -1
  12. package/angular/assets/strings/pt-BR/strings.json +1 -1
  13. package/angular/assets/strings/pt-PT/strings.json +1 -1
  14. package/angular/assets/strings/ru-RU/strings.json +1 -1
  15. package/angular/assets/strings/strings.json +1 -1
  16. package/angular/assets/strings/sv-SE/strings.json +1 -1
  17. package/angular/assets/strings/tr-TR/strings.json +1 -1
  18. package/angular/assets/strings/zh-CN/strings.json +1 -1
  19. package/angular/assets/strings/zh-TW/strings.json +1 -1
  20. package/angular/esm2020/src/controls/accordion/accordion-panel/accordion-panel.component.mjs +36 -12
  21. package/angular/esm2020/src/controls/copilot/copilot.component.mjs +55 -0
  22. package/angular/esm2020/src/controls/copilot/copilot.module.mjs +25 -0
  23. package/angular/esm2020/src/controls/copilot/index.mjs +3 -0
  24. package/angular/esm2020/src/controls/data-table/data-table.component.mjs +7 -9
  25. package/angular/esm2020/src/controls/details/details.component.mjs +62 -25
  26. package/angular/esm2020/src/controls/details/details.module.mjs +5 -1
  27. package/angular/esm2020/src/controls/dialog/dialog.component.mjs +35 -23
  28. package/angular/esm2020/src/controls/form/form-field/array/array-form-field-accessibility-manager.service.mjs +59 -0
  29. package/angular/esm2020/src/controls/form/form-field/array/array-form-field.component.mjs +24 -35
  30. package/angular/esm2020/src/controls/form/form-field/form-field-accessibility-manager-base.service.mjs +105 -0
  31. package/angular/esm2020/src/controls/form/form-field/list/list-form-field-accessibility-manager.service.mjs +38 -0
  32. package/angular/esm2020/src/controls/form/form-field/list/list-form-field.component.mjs +56 -38
  33. package/angular/esm2020/src/controls/form/form-field/ordered-list/ordered-list-form-field-accessibility-manager.service.mjs +54 -0
  34. package/angular/esm2020/src/controls/form/form-field/ordered-list/ordered-list-form-field.component.mjs +67 -67
  35. package/angular/esm2020/src/controls/form/forms.module.mjs +19 -2
  36. package/angular/esm2020/src/controls/guided-panel/guided-pane/guided-pane.component.mjs +12 -3
  37. package/angular/esm2020/src/controls/index.mjs +4 -1
  38. package/angular/esm2020/src/controls/page-alert-bar/page-alert-bar.component.mjs +4 -4
  39. package/angular/esm2020/src/controls/snap-in-extension/snap-in-extension.component.mjs +1 -1
  40. package/angular/esm2020/src/controls/summary/index.mjs +4 -0
  41. package/angular/esm2020/src/controls/summary/summary-item.mjs +83 -0
  42. package/angular/esm2020/src/controls/summary/summary.component.mjs +391 -0
  43. package/angular/esm2020/src/controls/summary/summary.module.mjs +37 -0
  44. package/angular/esm2020/src/controls/summary-group/index.mjs +3 -0
  45. package/angular/esm2020/src/controls/summary-group/summary-group.component.mjs +84 -0
  46. package/angular/esm2020/src/controls/summary-group/summary-group.module.mjs +33 -0
  47. package/angular/esm2020/src/controls/wizard/models/wizard-step-snap-in-output.mjs +1 -1
  48. package/angular/esm2020/src/controls/wizard-lite/wizard-navigation-button/wizard-navigation-button.component.mjs +3 -3
  49. package/angular/esm2020/src/data/extension-broker/snap-in-listener.mjs +80 -0
  50. package/angular/esm2020/src/data/index.mjs +2 -1
  51. package/angular/esm2020/src/generated/strings.mjs +1 -1
  52. package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.mjs +1798 -597
  53. package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.mjs.map +1 -1
  54. package/angular/fesm2020/microsoft-windows-admin-center-sdk-angular.mjs +1679 -597
  55. package/angular/fesm2020/microsoft-windows-admin-center-sdk-angular.mjs.map +1 -1
  56. package/angular/src/controls/accordion/accordion-panel/accordion-panel.component.d.ts +13 -4
  57. package/angular/src/controls/copilot/copilot.component.d.ts +31 -0
  58. package/angular/src/controls/copilot/copilot.module.d.ts +8 -0
  59. package/angular/src/controls/copilot/index.d.ts +2 -0
  60. package/angular/src/controls/details/details.component.d.ts +5 -1
  61. package/angular/src/controls/details/details.module.d.ts +3 -2
  62. package/angular/src/controls/dialog/dialog.component.d.ts +5 -1
  63. package/angular/src/controls/form/form-field/array/array-form-field-accessibility-manager.service.d.ts +38 -0
  64. package/angular/src/controls/form/form-field/array/array-form-field.component.d.ts +3 -1
  65. package/angular/src/controls/form/form-field/form-field-accessibility-manager-base.service.d.ts +37 -0
  66. package/angular/src/controls/form/form-field/list/list-form-field-accessibility-manager.service.d.ts +25 -0
  67. package/angular/src/controls/form/form-field/list/list-form-field.component.d.ts +12 -2
  68. package/angular/src/controls/form/form-field/ordered-list/ordered-list-form-field-accessibility-manager.service.d.ts +37 -0
  69. package/angular/src/controls/form/form-field/ordered-list/ordered-list-form-field.component.d.ts +12 -8
  70. package/angular/src/controls/guided-panel/guided-pane/guided-pane.component.d.ts +4 -0
  71. package/angular/src/controls/index.d.ts +3 -0
  72. package/angular/src/controls/summary/index.d.ts +3 -0
  73. package/angular/src/controls/summary/summary-item.d.ts +105 -0
  74. package/angular/src/controls/summary/summary.component.d.ts +82 -0
  75. package/angular/src/controls/summary/summary.module.d.ts +11 -0
  76. package/angular/src/controls/summary-group/index.d.ts +3 -0
  77. package/angular/src/controls/summary-group/summary-group.component.d.ts +57 -0
  78. package/angular/src/controls/summary-group/summary-group.module.d.ts +10 -0
  79. package/angular/src/controls/wizard/models/wizard-step-snap-in-output.d.ts +1 -1
  80. package/{core → angular/src}/data/extension-broker/snap-in-listener.d.ts +49 -46
  81. package/angular/src/data/index.d.ts +1 -0
  82. package/angular/src/generated/strings.d.ts +11 -0
  83. package/core/async/cancellation.js +316 -0
  84. package/core/async/index.js +312 -0
  85. package/core/async/progress.js +312 -0
  86. package/core/azure/azure-constants.js +316 -0
  87. package/core/azure/azure-logging.js +316 -0
  88. package/core/azure/azure-manager.js +316 -0
  89. package/core/azure/models/aadAppConfig-data.js +312 -0
  90. package/core/azure/models/azureArcStatusEnum.js +315 -0
  91. package/core/azure/models/azureTokenResult-data.js +315 -0
  92. package/core/azure/resources/deployment-operation-request-body.js +316 -0
  93. package/core/azure/resources/deployment-operation-response.js +312 -0
  94. package/core/azure/resources/location-data.js +316 -0
  95. package/core/azure/resources/resource-group-data.js +316 -0
  96. package/core/azure/resources/subscription-data.js +316 -0
  97. package/core/base/data-store/browser-storage-data-store.js +312 -0
  98. package/core/base/data-store/cached-data-store.js +316 -0
  99. package/core/base/data-store/data-store.js +312 -0
  100. package/core/base/data-store/local-data-store.js +312 -0
  101. package/core/base/data-store/memory-data-store.js +312 -0
  102. package/core/base/data-store/session-data-store.js +316 -0
  103. package/core/base/date/date-like.js +315 -0
  104. package/core/base/date/date-range.js +316 -0
  105. package/core/base/date/date-time.js +312 -0
  106. package/core/base/date/date-type.js +312 -0
  107. package/core/base/date/time-unit.js +316 -0
  108. package/core/base/decorators/base.js +316 -0
  109. package/core/base/decorators/debounce.decorators.js +316 -0
  110. package/core/base/decorators/delay.decorator.js +312 -0
  111. package/core/base/decorators/yield.decorator.js +312 -0
  112. package/core/base/environment.js +316 -0
  113. package/core/base/json.js +316 -0
  114. package/core/base/msft-sme.mock.js +315 -0
  115. package/core/base/polyfills/array.js +316 -0
  116. package/core/base/polyfills/string.js +316 -0
  117. package/core/base/rxjs-lifetime-manager.js +312 -0
  118. package/core/base/utilities.js +312 -0
  119. package/core/base/versioned-object.js +316 -0
  120. package/core/copilot/copilot-extension-service.d.ts +49 -0
  121. package/core/copilot/copilot-extension-service.d.ts.map +1 -0
  122. package/core/copilot/copilot-extension-service.js +446 -0
  123. package/core/copilot/copilot-extension-service.js.map +1 -0
  124. package/core/copilot/copilot-iframe/iframe-broker-service.d.ts +19 -0
  125. package/core/copilot/copilot-iframe/iframe-broker-service.d.ts.map +1 -0
  126. package/core/copilot/copilot-iframe/iframe-broker-service.js +344 -0
  127. package/core/copilot/copilot-iframe/iframe-broker-service.js.map +1 -0
  128. package/core/copilot/copilot-iframe/iframe-child-service.d.ts +15 -0
  129. package/core/copilot/copilot-iframe/iframe-child-service.d.ts.map +1 -0
  130. package/core/copilot/copilot-iframe/iframe-child-service.js +337 -0
  131. package/core/copilot/copilot-iframe/iframe-child-service.js.map +1 -0
  132. package/core/copilot/copilot-iframe/iframe-message-payload.d.ts +4 -0
  133. package/core/copilot/copilot-iframe/iframe-message-payload.d.ts.map +1 -0
  134. package/core/copilot/copilot-iframe/iframe-message-payload.js +319 -0
  135. package/core/copilot/copilot-iframe/iframe-message-payload.js.map +1 -0
  136. package/core/copilot/copilot-iframe/iframe-message-type.d.ts +4 -0
  137. package/core/copilot/copilot-iframe/iframe-message-type.d.ts.map +1 -0
  138. package/core/copilot/copilot-iframe/iframe-message-type.js +319 -0
  139. package/core/copilot/copilot-iframe/iframe-message-type.js.map +1 -0
  140. package/core/copilot/copilot-iframe/iframe-message.d.ts +6 -0
  141. package/core/copilot/copilot-iframe/iframe-message.d.ts.map +1 -0
  142. package/core/copilot/copilot-iframe/iframe-message.js +315 -0
  143. package/core/copilot/copilot-iframe/iframe-message.js.map +1 -0
  144. package/core/data/accessibility-manager.js +316 -0
  145. package/core/data/active-directory/active-directory.js +312 -0
  146. package/core/data/active-directory/models/account-info.js +316 -0
  147. package/core/data/active-directory/models/active-directory-search-options.js +312 -0
  148. package/core/data/active-directory/models/search-type.js +315 -0
  149. package/core/data/animation.js +312 -0
  150. package/core/data/app-context.js +316 -0
  151. package/core/data/asset-manager.js +316 -0
  152. package/core/data/base64-array-buffer.js +312 -0
  153. package/core/data/batch-connection.js +316 -0
  154. package/core/data/cim-connection.js +312 -0
  155. package/core/data/cim-stream.js +312 -0
  156. package/core/data/cim.js +316 -0
  157. package/core/data/column-picker.js +315 -0
  158. package/core/data/cookie.js +316 -0
  159. package/core/data/core-environment.js +312 -0
  160. package/core/data/crypto.js +312 -0
  161. package/core/data/deployment-share.js +316 -0
  162. package/core/data/disposable.js +316 -0
  163. package/core/data/electron.js +316 -0
  164. package/core/data/error-extended.js +316 -0
  165. package/core/data/extension-broker/dialog-listener.js +312 -0
  166. package/core/data/extension-broker/extension-broker.js +316 -0
  167. package/core/data/extension-broker/extension-listener.js +316 -0
  168. package/core/data/extension-broker/model/extension-broker-request-payload.js +316 -0
  169. package/core/data/extension-broker/model/extension-broker-response-error.js +315 -0
  170. package/core/data/extension-broker/model/extension-broker-response-payload.js +316 -0
  171. package/core/data/extension-broker/model/extension-entries.js +315 -0
  172. package/core/data/extension-broker/model/extension-instance.js +316 -0
  173. package/core/data/extension-broker/model/extension-rect.js +316 -0
  174. package/core/data/extension-broker/model/extension-search-options.js +316 -0
  175. package/core/data/extension-broker/service-listener.js +315 -0
  176. package/core/data/extension-broker/worker-listener.js +315 -0
  177. package/core/data/extension-broker/worker-set.js +316 -0
  178. package/core/data/file-transfer.js +316 -0
  179. package/core/data/gateway-connection.js +316 -0
  180. package/core/data/gateway-status.js +316 -0
  181. package/core/data/gateway-url-builder.js +316 -0
  182. package/core/data/gateway-url-translator.js +316 -0
  183. package/core/data/gateway-urls.js +316 -0
  184. package/core/data/globalization.js +315 -0
  185. package/core/data/http-constants.js +316 -0
  186. package/core/data/http.js +316 -0
  187. package/core/data/jobs/jobs-manager.js +316 -0
  188. package/core/data/jobs/models/job-credentials.js +312 -0
  189. package/core/data/jobs/models/job-node.js +316 -0
  190. package/core/data/jobs/models/job-paginated-response.js +312 -0
  191. package/core/data/jobs/models/job-pagination-options.js +316 -0
  192. package/core/data/jobs/models/job.js +316 -0
  193. package/core/data/jobs/models/node-job.js +316 -0
  194. package/core/data/jobs/models/powershell-job.js +312 -0
  195. package/core/data/language.js +312 -0
  196. package/core/data/lifetime-data.js +316 -0
  197. package/core/data/localization-manager.js +316 -0
  198. package/core/data/native-q.js +312 -0
  199. package/core/data/net.d.ts.map +1 -1
  200. package/core/data/net.js +317 -1
  201. package/core/data/net.js.map +1 -1
  202. package/core/data/node-connection.d.ts.map +1 -1
  203. package/core/data/node-connection.js +316 -0
  204. package/core/data/node-connection.js.map +1 -1
  205. package/core/data/node-extension-install.js +316 -0
  206. package/core/data/powershell-alternate.js +316 -0
  207. package/core/data/powershell-batch.js +312 -0
  208. package/core/data/powershell-connection.js +312 -0
  209. package/core/data/powershell-crypto.js +316 -0
  210. package/core/data/powershell-stream.js +315 -0
  211. package/core/data/powershell.js +316 -0
  212. package/core/data/query-cache.js +312 -0
  213. package/core/data/resource-cache.js +312 -0
  214. package/core/data/schedule-reboot.js +315 -0
  215. package/core/data/settings-manager.js +316 -0
  216. package/core/data/settings-manger.mock.js +315 -0
  217. package/core/data/sme-extension.js +312 -0
  218. package/core/data/ssh-stream.js +316 -0
  219. package/core/data/units.js +312 -0
  220. package/core/data/uri-builder.js +316 -0
  221. package/core/data/wdac-operations.js +315 -0
  222. package/core/data/websocket-stream.js +316 -0
  223. package/core/diagnostics/error-monitor.js +316 -0
  224. package/core/diagnostics/log-level.js +316 -0
  225. package/core/diagnostics/log-record.js +312 -0
  226. package/core/diagnostics/logging-constants.js +316 -0
  227. package/core/diagnostics/logging.js +316 -0
  228. package/core/diagnostics/logging.mock.js +316 -0
  229. package/core/diagnostics/sme-web-telemetry-models.js +316 -0
  230. package/core/diagnostics/sme-web-telemetry.d.ts +1 -2
  231. package/core/diagnostics/sme-web-telemetry.d.ts.map +1 -1
  232. package/core/diagnostics/sme-web-telemetry.js +339 -15
  233. package/core/diagnostics/sme-web-telemetry.js.map +1 -1
  234. package/core/diagnostics/telemetry-control-type.js +316 -0
  235. package/core/diagnostics/telemetry-options.js +316 -0
  236. package/core/diagnostics/telemetry-record.js +316 -0
  237. package/core/dom/dom.js +316 -0
  238. package/core/frame/frame-connection.js +316 -0
  239. package/core/frame/frame-connection.mock.js +316 -0
  240. package/core/frame/shell-navigation-connection.js +316 -0
  241. package/core/generated/powershell-scripts.d.ts.map +1 -1
  242. package/core/generated/powershell-scripts.js +313 -1
  243. package/core/generated/powershell-scripts.js.map +1 -1
  244. package/core/generated/strings.js +312 -0
  245. package/core/host/host-core-manager.js +316 -0
  246. package/core/host/host-core-message-type.js +316 -0
  247. package/core/host/host-core-messages.js +312 -0
  248. package/core/index.d.ts +48 -25
  249. package/core/index.d.ts.map +1 -1
  250. package/core/index.js +351 -18
  251. package/core/index.js.map +1 -1
  252. package/core/manifest/environment-modules.d.ts +3 -1
  253. package/core/manifest/environment-modules.d.ts.map +1 -1
  254. package/core/manifest/environment-modules.js +314 -0
  255. package/core/manifest/environment-modules.js.map +1 -1
  256. package/core/manifest/manifest-loader.js +312 -0
  257. package/core/manifest/module-schema.json +3 -1
  258. package/core/notification/client-notification-instance.js +316 -0
  259. package/core/notification/client-notification.js +316 -0
  260. package/core/notification/notification-connection.js +316 -0
  261. package/core/notification/notification-link-type.js +312 -0
  262. package/core/notification/notification-manager.js +312 -0
  263. package/core/notification/notification-message.js +312 -0
  264. package/core/notification/notification-state.js +316 -0
  265. package/core/notification/notification.js +312 -0
  266. package/core/notification/powershell-notification.js +316 -0
  267. package/core/notification/socket-signalr.js +312 -0
  268. package/core/notification/work-item-connection.js +312 -0
  269. package/core/notification/work-item-manager.js +316 -0
  270. package/core/notification/work-item-request.js +315 -0
  271. package/core/performance/performance-profile-data-type.js +315 -0
  272. package/core/performance/performance-profile-data.js +315 -0
  273. package/core/performance/performance-profile-database.js +315 -0
  274. package/core/performance/performance-profile-record.js +316 -0
  275. package/core/performance/performance-profile.d.ts.map +1 -1
  276. package/core/performance/performance-profile.js +325 -9
  277. package/core/performance/performance-profile.js.map +1 -1
  278. package/core/performance/performance-tracker.js +312 -0
  279. package/core/polyfills.js +316 -0
  280. package/core/resources/scripts/public/crypto/Get-DecryptedDataFromNode.ps1 +219 -0
  281. package/core/resources/scripts/public/crypto/Get-EncryptionJWKOnNode.ps1 +218 -0
  282. package/core/resources/scripts/public/inventory/Get-CimWin32LogicalDisk.ps1 +218 -0
  283. package/core/resources/scripts/public/inventory/Get-CimWin32NetworkAdapter.ps1 +216 -0
  284. package/core/resources/scripts/public/inventory/Get-CimWin32PhysicalMemory.ps1 +216 -0
  285. package/core/resources/scripts/public/inventory/Get-CimWin32Processor.ps1 +218 -0
  286. package/core/resources/scripts/public/inventory/Get-ClusterInventory.ps1 +218 -0
  287. package/core/resources/scripts/public/inventory/Get-ClusterNodes.ps1 +218 -0
  288. package/core/resources/scripts/public/inventory/Get-ServerInventory.ps1 +221 -1
  289. package/core/rpc/alive/rpc-alive-client.js +312 -0
  290. package/core/rpc/alive/rpc-alive-handler.js +312 -0
  291. package/core/rpc/alive/rpc-alive-model.js +316 -0
  292. package/core/rpc/alive/rpc-alive-subject-server.js +312 -0
  293. package/core/rpc/alive/rpc-observable-alive-client.js +316 -0
  294. package/core/rpc/alive/rpc-observable-alive-model.js +315 -0
  295. package/core/rpc/alive/rpc-observable-alive-server.js +315 -0
  296. package/core/rpc/azure/rpc-azure-model.js +312 -0
  297. package/core/rpc/azure/rpc-azure-request-client.js +312 -0
  298. package/core/rpc/azure/rpc-azure-request-handler.js +316 -0
  299. package/core/rpc/azure/rpc-azure-request-subject-server.js +316 -0
  300. package/core/rpc/azure/rpc-azure-response-client.js +316 -0
  301. package/core/rpc/azure/rpc-azure-response-handler.js +312 -0
  302. package/core/rpc/copilot/rpc-observable-copilot-client.d.ts +24 -0
  303. package/core/rpc/copilot/rpc-observable-copilot-client.d.ts.map +1 -0
  304. package/core/rpc/copilot/rpc-observable-copilot-client.js +343 -0
  305. package/core/rpc/copilot/rpc-observable-copilot-client.js.map +1 -0
  306. package/core/rpc/copilot/rpc-observable-copilot-config-client.d.ts +24 -0
  307. package/core/rpc/copilot/rpc-observable-copilot-config-client.d.ts.map +1 -0
  308. package/core/rpc/copilot/rpc-observable-copilot-config-client.js +343 -0
  309. package/core/rpc/copilot/rpc-observable-copilot-config-client.js.map +1 -0
  310. package/core/rpc/copilot/rpc-observable-copilot-config-server.d.ts +14 -0
  311. package/core/rpc/copilot/rpc-observable-copilot-config-server.d.ts.map +1 -0
  312. package/core/rpc/copilot/rpc-observable-copilot-config-server.js +332 -0
  313. package/core/rpc/copilot/rpc-observable-copilot-config-server.js.map +1 -0
  314. package/core/rpc/copilot/rpc-observable-copilot-model.d.ts +55 -0
  315. package/core/rpc/copilot/rpc-observable-copilot-model.d.ts.map +1 -0
  316. package/core/rpc/copilot/rpc-observable-copilot-model.js +334 -0
  317. package/core/rpc/copilot/rpc-observable-copilot-model.js.map +1 -0
  318. package/core/rpc/copilot/rpc-observable-copilot-server.d.ts +14 -0
  319. package/core/rpc/copilot/rpc-observable-copilot-server.d.ts.map +1 -0
  320. package/core/rpc/copilot/rpc-observable-copilot-server.js +333 -0
  321. package/core/rpc/copilot/rpc-observable-copilot-server.js.map +1 -0
  322. package/core/rpc/credssp/rpc-credssp-model.js +315 -0
  323. package/core/rpc/credssp/rpc-credssp-request-client.js +316 -0
  324. package/core/rpc/credssp/rpc-credssp-request-handler.js +316 -0
  325. package/core/rpc/credssp/rpc-credssp-request-subject-server.js +316 -0
  326. package/core/rpc/credssp/rpc-credssp-response-client.js +316 -0
  327. package/core/rpc/credssp/rpc-credssp-response-handler.js +316 -0
  328. package/core/rpc/dialog/rpc-dialog-client.js +312 -0
  329. package/core/rpc/dialog/rpc-dialog-handler.js +315 -0
  330. package/core/rpc/dialog/rpc-dialog-model.js +316 -0
  331. package/core/rpc/dialog/rpc-dialog-subject-server.js +316 -0
  332. package/core/rpc/electron/rpc-electron-model.js +316 -0
  333. package/core/rpc/electron/rpc-electron-request-client.js +316 -0
  334. package/core/rpc/electron/rpc-electron-request-handler.js +315 -0
  335. package/core/rpc/electron/rpc-electron-request-subject-server.js +316 -0
  336. package/core/rpc/electron/rpc-electron-response-client.js +312 -0
  337. package/core/rpc/electron/rpc-electron-response-handler.js +315 -0
  338. package/core/rpc/elevate/rpc-observable-elevate-client.js +315 -0
  339. package/core/rpc/elevate/rpc-observable-elevate-model.js +312 -0
  340. package/core/rpc/elevate/rpc-observable-elevate-server.js +312 -0
  341. package/core/rpc/error-monitor/rpc-observable-error-monitor-client.js +316 -0
  342. package/core/rpc/error-monitor/rpc-observable-error-monitor-model.js +316 -0
  343. package/core/rpc/error-monitor/rpc-observable-error-monitor-server.js +312 -0
  344. package/core/rpc/extension-broker/rpc-extension-broker-model.js +312 -0
  345. package/core/rpc/extension-broker/rpc-extension-broker-module-request-subject-server.js +312 -0
  346. package/core/rpc/extension-broker/rpc-extension-broker-request-client.js +312 -0
  347. package/core/rpc/extension-broker/rpc-extension-broker-request-handler.js +312 -0
  348. package/core/rpc/extension-broker/rpc-extension-broker-request-subject-server.js +312 -0
  349. package/core/rpc/extension-broker/rpc-extension-broker-response-client.js +312 -0
  350. package/core/rpc/extension-broker/rpc-extension-broker-response-handler.js +312 -0
  351. package/core/rpc/extension-data/rpc-observable-extension-data-client.js +316 -0
  352. package/core/rpc/extension-data/rpc-observable-extension-data-model.js +312 -0
  353. package/core/rpc/extension-data/rpc-observable-extension-data-server.js +315 -0
  354. package/core/rpc/forward/rpc-forward-auto-client.js +315 -0
  355. package/core/rpc/forward/rpc-forward-down-client.js +315 -0
  356. package/core/rpc/forward/rpc-forward-down-handler.js +316 -0
  357. package/core/rpc/forward/rpc-forward-model.js +316 -0
  358. package/core/rpc/forward/rpc-forward-up-client.js +312 -0
  359. package/core/rpc/forward/rpc-forward-up-handler.js +316 -0
  360. package/core/rpc/forward/rpc-forward-up-subject-server.js +316 -0
  361. package/core/rpc/log/rpc-log-client.js +316 -0
  362. package/core/rpc/log/rpc-log-handler.js +312 -0
  363. package/core/rpc/log/rpc-log-model.js +316 -0
  364. package/core/rpc/log/rpc-log-subject-server.js +316 -0
  365. package/core/rpc/notification/rpc-notification-client.js +316 -0
  366. package/core/rpc/notification/rpc-notification-handler.js +312 -0
  367. package/core/rpc/notification/rpc-notification-model.js +316 -0
  368. package/core/rpc/notification/rpc-notification-subject-server.js +312 -0
  369. package/core/rpc/overlay/rpc-overlay-close-client.js +312 -0
  370. package/core/rpc/overlay/rpc-overlay-close-handler.js +316 -0
  371. package/core/rpc/overlay/rpc-overlay-model.js +312 -0
  372. package/core/rpc/overlay/rpc-overlay-open-client.js +312 -0
  373. package/core/rpc/overlay/rpc-overlay-open-handler.js +316 -0
  374. package/core/rpc/overlay/rpc-overlay-open-subject-server.js +316 -0
  375. package/core/rpc/performance/rpc-observable-performance-client.js +315 -0
  376. package/core/rpc/performance/rpc-observable-performance-config-client.js +312 -0
  377. package/core/rpc/performance/rpc-observable-performance-config-server.js +316 -0
  378. package/core/rpc/performance/rpc-observable-performance-model.js +312 -0
  379. package/core/rpc/performance/rpc-observable-performance-server.js +312 -0
  380. package/core/rpc/report/rpc-report-client.js +316 -0
  381. package/core/rpc/report/rpc-report-handler.js +315 -0
  382. package/core/rpc/report/rpc-report-model.js +315 -0
  383. package/core/rpc/report/rpc-report-subject-server.js +312 -0
  384. package/core/rpc/rpc-base.d.ts +4 -0
  385. package/core/rpc/rpc-base.d.ts.map +1 -1
  386. package/core/rpc/rpc-base.js +316 -0
  387. package/core/rpc/rpc-base.js.map +1 -1
  388. package/core/rpc/rpc-channel.js +316 -0
  389. package/core/rpc/rpc-forwarder.js +312 -0
  390. package/core/rpc/rpc-inbound-client.js +315 -0
  391. package/core/rpc/rpc-inbound.js +312 -0
  392. package/core/rpc/rpc-manager.js +316 -0
  393. package/core/rpc/rpc-module-subject-server.js +316 -0
  394. package/core/rpc/rpc-observable-client.js +316 -0
  395. package/core/rpc/rpc-observable-request.js +316 -0
  396. package/core/rpc/rpc-observable-result.js +316 -0
  397. package/core/rpc/rpc-observable-server.js +316 -0
  398. package/core/rpc/rpc-outbound-client.js +316 -0
  399. package/core/rpc/rpc-outbound.js +315 -0
  400. package/core/rpc/rpc-subject-server.js +316 -0
  401. package/core/rpc/rpc.js +316 -0
  402. package/core/rpc/seek/rpc-seek-client.js +316 -0
  403. package/core/rpc/seek/rpc-seek-handler.js +315 -0
  404. package/core/rpc/seek/rpc-seek-model.js +315 -0
  405. package/core/rpc/settings/rpc-settings-client.js +312 -0
  406. package/core/rpc/settings/rpc-settings-handler.js +315 -0
  407. package/core/rpc/settings/rpc-settings-model.js +315 -0
  408. package/core/rpc/settings/rpc-settings-subject-server.js +312 -0
  409. package/core/rpc/shell-navigate/rpc-shell-navigate-client.js +316 -0
  410. package/core/rpc/shell-navigate/rpc-shell-navigate-handler.js +316 -0
  411. package/core/rpc/shell-navigate/rpc-shell-navigate-model.js +315 -0
  412. package/core/rpc/shell-navigate/rpc-shell-navigate-subject-server.js +315 -0
  413. package/core/rpc/sme-extension/rpc-sme-extension-model.js +316 -0
  414. package/core/rpc/sme-extension/rpc-sme-extension-request-client.js +316 -0
  415. package/core/rpc/sme-extension/rpc-sme-extension-request-handler.js +312 -0
  416. package/core/rpc/sme-extension/rpc-sme-extension-request-subject-server.js +312 -0
  417. package/core/rpc/sme-extension/rpc-sme-extension-response-client.js +316 -0
  418. package/core/rpc/sme-extension/rpc-sme-extension-response-handler.js +316 -0
  419. package/core/rpc/telemetry/rpc-telemetry-client.js +312 -0
  420. package/core/rpc/telemetry/rpc-telemetry-handler.js +312 -0
  421. package/core/rpc/telemetry/rpc-telemetry-model.js +312 -0
  422. package/core/rpc/telemetry/rpc-telemetry-subject-server.js +316 -0
  423. package/core/rpc/update-data/rpc-update-data-client.js +316 -0
  424. package/core/rpc/update-data/rpc-update-data-handler.js +312 -0
  425. package/core/rpc/update-data/rpc-update-data-model.js +312 -0
  426. package/core/rpc/update-data/rpc-update-data-subject-server.js +312 -0
  427. package/core/rpc/update-theme/rpc-observable-update-theme-client.js +316 -0
  428. package/core/rpc/update-theme/rpc-observable-update-theme-model.js +315 -0
  429. package/core/rpc/update-theme/rpc-observable-update-theme-server.js +316 -0
  430. package/core/rpc/work-item/rpc-work-item-client.js +315 -0
  431. package/core/rpc/work-item/rpc-work-item-handler.js +312 -0
  432. package/core/rpc/work-item/rpc-work-item-model.js +316 -0
  433. package/core/rpc/work-item/rpc-work-item-subject-server.js +316 -0
  434. package/core/rpc/work-item-find/rpc-work-item-find-client.js +312 -0
  435. package/core/rpc/work-item-find/rpc-work-item-find-handler.js +315 -0
  436. package/core/rpc/work-item-find/rpc-work-item-find-model.js +316 -0
  437. package/core/rpc/work-item-find/rpc-work-item-find-subject-server.js +312 -0
  438. package/core/security/active-connection.js +315 -0
  439. package/core/security/authorization-manager.js +315 -0
  440. package/core/security/connection-manager-settings/common-connection-settings.js +316 -0
  441. package/core/security/connection-manager-settings/connection-settings.js +315 -0
  442. package/core/security/connection-manager.js +316 -0
  443. package/core/security/connection-stream.js +316 -0
  444. package/core/security/connection.js +312 -0
  445. package/core/security/credssp-manager.js +315 -0
  446. package/core/security/sign-on-manager.js +316 -0
  447. package/core/security/tag-manager.js +315 -0
  448. package/core/security/tool-condition-validator.js +316 -0
  449. package/core/security/tool-connection-query.js +312 -0
  450. package/core/security/user-principal.js +312 -0
  451. package/core/shared/cluster-inventory/cluster-inventory-cache.js +316 -0
  452. package/core/shared/cluster-inventory/cluster-inventory.js +315 -0
  453. package/core/shared/cluster-inventory/cluster-node-inventory.js +316 -0
  454. package/core/shared/gateway-inventory/gateway-inventory-cache.js +316 -0
  455. package/core/shared/gateway-inventory/gateway-inventory-detail-cache.js +316 -0
  456. package/core/shared/gateway-inventory/gateway-inventory-detail.js +316 -0
  457. package/core/shared/gateway-inventory/gateway-inventory.js +316 -0
  458. package/core/shared/inventory-query-caches.js +316 -0
  459. package/core/shared/server-inventory/server-inventory-cache.d.ts.map +1 -1
  460. package/core/shared/server-inventory/server-inventory-cache.js +313 -0
  461. package/core/shared/server-inventory/server-inventory-cache.js.map +1 -1
  462. package/core/shared/server-inventory/server-inventory-detail-cache.js +315 -0
  463. package/core/shared/server-inventory/server-inventory-detail.js +316 -0
  464. package/core/shared/server-inventory/server-inventory.d.ts +8 -0
  465. package/core/shared/server-inventory/server-inventory.d.ts.map +1 -1
  466. package/core/shared/server-inventory/server-inventory.js +320 -0
  467. package/core/shared/server-inventory/server-inventory.js.map +1 -1
  468. package/core/shared/shared-cache.js +312 -0
  469. package/core/shared/tool-inventory/tool-inventory-cache.js +312 -0
  470. package/core/shared/tool-inventory/tool-inventory.js +316 -0
  471. package/core/special.js +316 -0
  472. package/core/test-utilities/accessibility-tester.js +316 -0
  473. package/core/test-utilities/console.mock.js +316 -0
  474. package/core/test-utilities/jasmine-axe-matcher.js +316 -0
  475. package/core/test-utilities/wait-async.js +315 -0
  476. package/core/test.js +312 -0
  477. package/core/testing.js +316 -0
  478. package/core/workflow/persistent-local-storage.js +316 -0
  479. package/core/workflow/persistent-work-item-apply-state.js +316 -0
  480. package/core/workflow/persistent-work-item-state.js +316 -0
  481. package/core/workflow/persistent-work-item.js +316 -0
  482. package/core/workflow/persistent-workflow-builder.js +316 -0
  483. package/core/workflow/persistent-workflow-context.js +315 -0
  484. package/core/workflow/persistent-workflow-runner.js +316 -0
  485. package/core/workflow/persistent-workflow-snapshot.js +315 -0
  486. package/core/workflow/persistent-workflow-store.js +312 -0
  487. package/core/workflow/persistent-workflow.js +312 -0
  488. package/package.json +7 -6
  489. package/styles/css/main-v2.css +1 -1
  490. package/styles/fonts/SegoeUI/Bold/SegoeUIBold-5.27.woff +0 -0
  491. package/styles/fonts/SegoeUI/Light/SegoeUILight-5.27.woff +0 -0
  492. package/styles/fonts/SegoeUI/Normal/SegoeUI-5.27.woff +0 -0
  493. package/styles/fonts/SegoeUI/SemiBold/SegoeUISemiBold-5.27.woff +0 -0
  494. package/styles/fonts/SegoeUI/SemiLight/SegoeUISemiLight-5.27.woff +0 -0
  495. package/styles/fonts/ServMDL2/ServMDL2-4.66.woff +0 -0
  496. package/tools/build/webpack/index-html.transform.js +312 -0
  497. package/tools/build/webpack/shell.index-html.transform.js +316 -0
  498. package/tools/build/webpack/shell.webpack.config.js +312 -0
  499. package/tools/build/webpack/webpack.config.js +312 -0
  500. package/tools/code-formatter/.eslintrc.base.json +2 -1
  501. package/tools/code-formatter/lint.js +316 -0
  502. package/tools/code-formatter/utilities.d.ts.map +1 -1
  503. package/tools/code-formatter/utilities.js +313 -1
  504. package/tools/code-formatter/utilities.js.map +1 -1
  505. package/tools/gulp-doc-generator/index.js +316 -0
  506. package/tools/gulp-manifest-resource/index.js +315 -0
  507. package/tools/gulp-manifest-validator/index.js +316 -0
  508. package/tools/gulp-merge-json-in-folders/index.js +316 -0
  509. package/tools/gulp-merge-json-in-folders/json-merge.js +316 -0
  510. package/tools/gulp-ps-cim/index.js +316 -0
  511. package/tools/gulp-ps-code/index.d.ts.map +1 -1
  512. package/tools/gulp-ps-code/index.js +326 -2
  513. package/tools/gulp-ps-code/index.js.map +1 -1
  514. package/tools/gulp-ps-code/ps-code-convert.js +316 -0
  515. package/tools/gulp-ps-manifest/index.js +312 -0
  516. package/tools/gulp-ps-module/index.d.ts.map +1 -1
  517. package/tools/gulp-ps-module/index.js +328 -3
  518. package/tools/gulp-ps-module/index.js.map +1 -1
  519. package/tools/gulp-ps-resjson/index.js +316 -0
  520. package/tools/gulp-resjson/index.js +312 -0
  521. package/tools/gulp-resjson/resjson-convert.js +316 -0
  522. package/tools/gulp-schema-form/index.js +312 -0
  523. package/tools/gulp-svg-code/index.js +316 -0
  524. package/tools/gulp-svg-code/svg-code-convert.js +312 -0
  525. package/tools/gulp-update-notes-resource/index.js +312 -0
  526. package/tools/module-template/build/increment-package-version.ps1 +219 -0
  527. package/tools/module-template/build/pipelines/ci-build.yml +5 -5
  528. package/tools/module-template/build/pipelines/pull-request.yml +4 -4
  529. package/tools/module-template/build/push-incremented-version.ps1 +218 -1
  530. package/tools/module-template/build/update-powershell-code.ps1 +216 -0
  531. package/tools/module-template/gulpfile.ts/common/clean.ts +2 -0
  532. package/tools/module-template/gulpfile.ts/common/pack.ts +17 -5
  533. package/tools/module-template/gulpfile.ts/common/powershell.ts +40 -2
  534. package/tools/module-template/gulpfile.ts/common/test.ts +2 -3
  535. package/tools/module-template/gulpfile.ts/common/utilities.ts +40 -12
  536. package/tools/pack-nuget/index.d.ts.map +1 -1
  537. package/tools/pack-nuget/index.js +325 -3
  538. package/tools/pack-nuget/index.js.map +1 -1
  539. package/tools/scripts/Invoke-PesterTest.ps1 +218 -0
  540. package/tools/scripts/New-ExtensionPackage.ps1 +373 -6
  541. package/tools/scripts/Search-NonAsciiText.ps1 +219 -0
  542. package/tools/scripts/package-information/README.md +3 -0
  543. package/tools/scripts/package-information/ms-logo.png +0 -0
  544. package/tools/test-runner/index.js +316 -0
  545. package/tools/utilities/index.js +312 -0
  546. package/tools/wac-cli/src/angular15/configs/angular-json-config.js +315 -0
  547. package/tools/wac-cli/src/angular15/configs/ci-build-yml-config.js +315 -0
  548. package/tools/wac-cli/src/angular15/configs/config.js +312 -0
  549. package/tools/wac-cli/src/angular15/configs/eslint-auto-fix-config.js +315 -0
  550. package/tools/wac-cli/src/angular15/configs/git-ignore-config.js +315 -0
  551. package/tools/wac-cli/src/angular15/configs/jasmine-test-config.js +316 -0
  552. package/tools/wac-cli/src/angular15/configs/package-json-config.js +316 -0
  553. package/tools/wac-cli/src/angular15/configs/replace-config.js +312 -0
  554. package/tools/wac-cli/src/angular15/configs/tsconfig-config.js +316 -0
  555. package/tools/wac-cli/src/angular15/configs/ui-test-automation-lagacy-config.js +316 -0
  556. package/tools/wac-cli/src/angular15/main.js +316 -0
  557. package/tools/wac-cli/src/angular15/upgrader/angular-json-upgrader.js +316 -0
  558. package/tools/wac-cli/src/angular15/upgrader/audit/ajax-response-updater.js +316 -0
  559. package/tools/wac-cli/src/angular15/upgrader/audit/css-syntax-error-updater.js +316 -0
  560. package/tools/wac-cli/src/angular15/upgrader/audit/declare-override-updater.js +312 -0
  561. package/tools/wac-cli/src/angular15/upgrader/audit/error-updater-angular15.js +316 -0
  562. package/tools/wac-cli/src/angular15/upgrader/audit/form-control-updater.js +312 -0
  563. package/tools/wac-cli/src/angular15/upgrader/audit/iif-updater-util.js +315 -0
  564. package/tools/wac-cli/src/angular15/upgrader/audit/load-children-callback-updater.js +316 -0
  565. package/tools/wac-cli/src/angular15/upgrader/audit/log-parser.js +316 -0
  566. package/tools/wac-cli/src/angular15/upgrader/audit/observable-throw-updater.js +316 -0
  567. package/tools/wac-cli/src/angular15/upgrader/audit/parameter-count-violation-updater.js +312 -0
  568. package/tools/wac-cli/src/angular15/upgrader/audit/string-replace-updater.js +316 -0
  569. package/tools/wac-cli/src/angular15/upgrader/audit/subjuct-next-updater-util.js +315 -0
  570. package/tools/wac-cli/src/angular15/upgrader/ci-build-yml-upgrader.js +316 -0
  571. package/tools/wac-cli/src/angular15/upgrader/eslint-auto-fix-upgrader.js +312 -0
  572. package/tools/wac-cli/src/angular15/upgrader/file-replacement-upgrader.js +315 -0
  573. package/tools/wac-cli/src/angular15/upgrader/git-ignore-upgrader.js +316 -0
  574. package/tools/wac-cli/src/angular15/upgrader/jasmine-test-upgrader.js +316 -0
  575. package/tools/wac-cli/src/angular15/upgrader/package-json-upgrader.js +316 -0
  576. package/tools/wac-cli/src/angular15/upgrader/remove-upgrader.js +316 -0
  577. package/tools/wac-cli/src/angular15/upgrader/replace-upgrader.js +316 -0
  578. package/tools/wac-cli/src/angular15/upgrader/tsconfig-upgrader.js +316 -0
  579. package/tools/wac-cli/src/angular15/upgrader/ui-test-automation-legacy-upgrader.js +316 -0
  580. package/tools/wac-cli/src/angular15/upgrader/version-json-upgrader.js +312 -0
  581. package/tools/wac-cli/src/angular15/utils/add-item.js +312 -0
  582. package/tools/wac-cli/src/angular15/utils/command-runner.js +316 -0
  583. package/tools/wac-cli/src/angular15/utils/file-comparison.js +316 -0
  584. package/tools/wac-cli/src/angular15/utils/file-replacement.js +315 -0
  585. package/tools/wac-cli/src/angular15/utils/file-writer.js +312 -0
  586. package/tools/wac-cli/src/angular15/utils/logger.js +312 -0
  587. package/tools/wac-cli/src/angular15/utils/main-debugger.js +312 -0
  588. package/tools/wac-cli/src/angular15/utils/relative-path.js +316 -0
  589. package/tools/wac-cli/src/angular15/utils/remove-item.js +316 -0
  590. package/tools/wac-cli/src/angular15/utils/space-generator.js +312 -0
  591. package/tools/wac-cli/src/angular15/utils/update-shell-references.js +312 -0
  592. package/tools/wac-cli/src/common.js +316 -0
  593. package/tools/wac-cli/src/create/main.js +316 -0
  594. package/tools/wac-cli/src/eslint/main.js +312 -0
  595. package/tools/wac-cli/src/index.js +316 -0
  596. package/tools/wac-cli/src/upgrade/error-updater.js +312 -0
  597. package/tools/wac-cli/src/upgrade/error-updaters/component-selector-updater.js +312 -0
  598. package/tools/wac-cli/src/upgrade/error-updaters/only-arrow-functions-updater.js +316 -0
  599. package/tools/wac-cli/src/upgrade/error-updaters/updater-lookup.js +312 -0
  600. package/tools/wac-cli/src/upgrade/file-updater.js +316 -0
  601. package/tools/wac-cli/src/upgrade/get-files.js +312 -0
  602. package/tools/wac-cli/src/upgrade/main.js +316 -0
  603. package/tools/wac-cli/src/upgrade/models/error-result.js +316 -0
  604. package/tools/wac-cli/src/upgrade/models/updater-interface.js +316 -0
  605. package/tools/wac-cli/src/upgrade/package-updater.js +316 -0
  606. package/tools/wac-cli/templates/wac-template/package.json +1 -1
  607. package/tools/wac-cli/templates/wac-template/src/favicon.ico +0 -0
  608. package/tools/wac-cli/templates/wac-template/src/karma.conf.js +317 -1
  609. package/tools/wac-cli/templates/wac-template/src/resources/scripts/Get-Error.ps1 +218 -0
  610. package/tools/wac-cli/templates/wac-template/src/resources/scripts/Get-Exception.ps1 +216 -0
  611. package/tools/wac-cli/templates/wac-template/src/resources/scripts/Get-Process.ps1 +216 -1
  612. package/tools/wac-cli/templates/wac-template/src/resources/scripts/Get-Service.ps1 +216 -1
  613. package/tools/wac-cli/templates/wac-template/src/resources/scripts/Get-WinRmState.ps1 +218 -1
  614. package/core/data/extension-broker/snap-in-listener.d.ts.map +0 -1
  615. package/core/data/extension-broker/snap-in-listener.js +0 -73
  616. package/core/data/extension-broker/snap-in-listener.js.map +0 -1
  617. package/microsoft-windows-admin-center-sdk-4.167.0.tgz +0 -0
@@ -27,4 +27,221 @@ if (Test-Path $manifestPath) {
27
27
  else {
28
28
  Write-Host "Didn't find manifest path"
29
29
  Write-Host Get-Location
30
- }
30
+ }
31
+ # SIG # Begin signature block
32
+ # MIIoQgYJKoZIhvcNAQcCoIIoMzCCKC8CAQExDzANBglghkgBZQMEAgEFADB5Bgor
33
+ # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
34
+ # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBPfrLD29drl/Cj
35
+ # cNCKzanoRKL2AxlcpRHE7AFtOviqo6CCDXYwggX0MIID3KADAgECAhMzAAADrzBA
36
+ # DkyjTQVBAAAAAAOvMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
37
+ # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
38
+ # b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
39
+ # bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwOTAwWhcNMjQxMTE0MTkwOTAwWjB0MQsw
40
+ # CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
41
+ # ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
42
+ # b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
43
+ # AQDOS8s1ra6f0YGtg0OhEaQa/t3Q+q1MEHhWJhqQVuO5amYXQpy8MDPNoJYk+FWA
44
+ # hePP5LxwcSge5aen+f5Q6WNPd6EDxGzotvVpNi5ve0H97S3F7C/axDfKxyNh21MG
45
+ # 0W8Sb0vxi/vorcLHOL9i+t2D6yvvDzLlEefUCbQV/zGCBjXGlYJcUj6RAzXyeNAN
46
+ # xSpKXAGd7Fh+ocGHPPphcD9LQTOJgG7Y7aYztHqBLJiQQ4eAgZNU4ac6+8LnEGAL
47
+ # go1ydC5BJEuJQjYKbNTy959HrKSu7LO3Ws0w8jw6pYdC1IMpdTkk2puTgY2PDNzB
48
+ # tLM4evG7FYer3WX+8t1UMYNTAgMBAAGjggFzMIIBbzAfBgNVHSUEGDAWBgorBgEE
49
+ # AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQURxxxNPIEPGSO8kqz+bgCAQWGXsEw
50
+ # RQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEW
51
+ # MBQGA1UEBRMNMjMwMDEyKzUwMTgyNjAfBgNVHSMEGDAWgBRIbmTlUAXTgqoXNzci
52
+ # tW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
53
+ # b20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3JsMGEG
54
+ # CCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDovL3d3dy5taWNyb3NvZnQu
55
+ # Y29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDExXzIwMTEtMDctMDguY3J0
56
+ # MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAISxFt/zR2frTFPB45Yd
57
+ # mhZpB2nNJoOoi+qlgcTlnO4QwlYN1w/vYwbDy/oFJolD5r6FMJd0RGcgEM8q9TgQ
58
+ # 2OC7gQEmhweVJ7yuKJlQBH7P7Pg5RiqgV3cSonJ+OM4kFHbP3gPLiyzssSQdRuPY
59
+ # 1mIWoGg9i7Y4ZC8ST7WhpSyc0pns2XsUe1XsIjaUcGu7zd7gg97eCUiLRdVklPmp
60
+ # XobH9CEAWakRUGNICYN2AgjhRTC4j3KJfqMkU04R6Toyh4/Toswm1uoDcGr5laYn
61
+ # TfcX3u5WnJqJLhuPe8Uj9kGAOcyo0O1mNwDa+LhFEzB6CB32+wfJMumfr6degvLT
62
+ # e8x55urQLeTjimBQgS49BSUkhFN7ois3cZyNpnrMca5AZaC7pLI72vuqSsSlLalG
63
+ # OcZmPHZGYJqZ0BacN274OZ80Q8B11iNokns9Od348bMb5Z4fihxaBWebl8kWEi2O
64
+ # PvQImOAeq3nt7UWJBzJYLAGEpfasaA3ZQgIcEXdD+uwo6ymMzDY6UamFOfYqYWXk
65
+ # ntxDGu7ngD2ugKUuccYKJJRiiz+LAUcj90BVcSHRLQop9N8zoALr/1sJuwPrVAtx
66
+ # HNEgSW+AKBqIxYWM4Ev32l6agSUAezLMbq5f3d8x9qzT031jMDT+sUAoCw0M5wVt
67
+ # CUQcqINPuYjbS1WgJyZIiEkBMIIHejCCBWKgAwIBAgIKYQ6Q0gAAAAAAAzANBgkq
68
+ # hkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
69
+ # EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
70
+ # bjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
71
+ # IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEwOTA5WjB+MQswCQYDVQQG
72
+ # EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
73
+ # A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg
74
+ # Q29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
75
+ # CgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+laUKq4BjgaBEm6f8MMHt03
76
+ # a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc6Whe0t+bU7IKLMOv2akr
77
+ # rnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4Ddato88tt8zpcoRb0Rrrg
78
+ # OGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+lD3v++MrWhAfTVYoonpy
79
+ # 4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nkkDstrjNYxbc+/jLTswM9
80
+ # sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6A4aN91/w0FK/jJSHvMAh
81
+ # dCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmdX4jiJV3TIUs+UsS1Vz8k
82
+ # A/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL5zmhD+kjSbwYuER8ReTB
83
+ # w3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zdsGbiwZeBe+3W7UvnSSmn
84
+ # Eyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3T8HhhUSJxAlMxdSlQy90
85
+ # lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS4NaIjAsCAwEAAaOCAe0w
86
+ # ggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRIbmTlUAXTgqoXNzcitW2o
87
+ # ynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYD
88
+ # VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBDuRQFTuHqp8cx0SOJNDBa
89
+ # BgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2Ny
90
+ # bC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3JsMF4GCCsG
91
+ # AQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3dy5taWNyb3NvZnQuY29t
92
+ # L3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFfMDNfMjIuY3J0MIGfBgNV
93
+ # HSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEFBQcCARYzaHR0cDovL3d3
94
+ # dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1hcnljcHMuaHRtMEAGCCsG
95
+ # AQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkAYwB5AF8AcwB0AGEAdABl
96
+ # AG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn8oalmOBUeRou09h0ZyKb
97
+ # C5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7v0epo/Np22O/IjWll11l
98
+ # hJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0bpdS1HXeUOeLpZMlEPXh6
99
+ # I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/KmtYSWMfCWluWpiW5IP0
100
+ # wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvyCInWH8MyGOLwxS3OW560
101
+ # STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBpmLJZiWhub6e3dMNABQam
102
+ # ASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJihsMdYzaXht/a8/jyFqGa
103
+ # J+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYbBL7fQccOKO7eZS/sl/ah
104
+ # XJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbSoqKfenoi+kiVH6v7RyOA
105
+ # 9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sLgOppO6/8MO0ETI7f33Vt
106
+ # Y5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtXcVZOSEXAQsmbdlsKgEhr
107
+ # /Xmfwb1tbWrJUnMTDXpQzTGCGiIwghoeAgEBMIGVMH4xCzAJBgNVBAYTAlVTMRMw
108
+ # EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
109
+ # aWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNp
110
+ # Z25pbmcgUENBIDIwMTECEzMAAAOvMEAOTKNNBUEAAAAAA68wDQYJYIZIAWUDBAIB
111
+ # BQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEO
112
+ # MAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIMHhLJksiw9dc6hSR+v2i3Lm
113
+ # SJSYthxnxoThzqtTE/z0MEIGCisGAQQBgjcCAQwxNDAyoBSAEgBNAGkAYwByAG8A
114
+ # cwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20wDQYJKoZIhvcNAQEB
115
+ # BQAEggEAie8UTV/NtzyR2MoLTcOY1dRyk3Q4BHLsaX8bXxtipZCvUub08kS1wNR9
116
+ # wJ0F4gohBoIua4tRAORdk4M/brG2VCvlA24FMOiKaFkgZS3iaAVO5zneCjsqrhHH
117
+ # 8KDekOkr6wFZhi09wZD1/OXGtDkZQOanEIAJLlDwtIJ/RovP5LdqOKK6E75nwuK9
118
+ # fr9gE1NzTLK3fW5ZZpWQJog4YNuI9CuYW/5lmeGPmSPelnelxcO6YS16FTETdv1l
119
+ # rmM4hdsK45yfKLuQGyu/vMv5zdr+zVptPLaSLim5dUWE7UxXnEhkD+9e216DEKle
120
+ # fA86R0aHiKlwvr46WvYKsreE1QoflKGCF6wwgheoBgorBgEEAYI3AwMBMYIXmDCC
121
+ # F5QGCSqGSIb3DQEHAqCCF4UwgheBAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggFZBgsq
122
+ # hkiG9w0BCRABBKCCAUgEggFEMIIBQAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFl
123
+ # AwQCAQUABCBLqwBUEmRNtChr0dewtjExnse/y/kwEtqheDfScuDjjgIGZut8UfTC
124
+ # GBIyMDI0MDkyNjAwMDA1Mi4zN1owBIACAfSggdmkgdYwgdMxCzAJBgNVBAYTAlVT
125
+ # MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK
126
+ # ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVs
127
+ # YW5kIE9wZXJhdGlvbnMgTGltaXRlZDEnMCUGA1UECxMeblNoaWVsZCBUU1MgRVNO
128
+ # OjZGMUEtMDVFMC1EOTQ3MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT
129
+ # ZXJ2aWNloIIR+zCCBygwggUQoAMCAQICEzMAAAH8GKCvzGlahzoAAQAAAfwwDQYJ
130
+ # KoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24x
131
+ # EDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
132
+ # bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwHhcNMjQw
133
+ # NzI1MTgzMTE0WhcNMjUxMDIyMTgzMTE0WjCB0zELMAkGA1UEBhMCVVMxEzARBgNV
134
+ # BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
135
+ # c29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0IElyZWxhbmQgT3Bl
136
+ # cmF0aW9ucyBMaW1pdGVkMScwJQYDVQQLEx5uU2hpZWxkIFRTUyBFU046NkYxQS0w
137
+ # NUUwLUQ5NDcxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2Uw
138
+ # ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUMAovGltBw9Vg8eUkfJb
139
+ # tbmUFmMlZYOMx+XlbKG4DKU/8sObaFvjKZSZLKZXQQVFByYzwHKnCOFY/wXvHiI7
140
+ # zx370Zn0xCY2HeNIOiGFdeB/ys40QDJ8I9WYnMzvK2y6tn3Ghxu4Qvv4/sSQjCg6
141
+ # 4wWVMXYb/O6rHUT7AA2yWk+o+lvw8LnoFDGAkIjUs4XmWTcB48nvw4vdrD812WS9
142
+ # 1WXdWAFI9fg1rC3dSBSh+4+f9yn2/AooHC4hZAQVnzfsZdchOyF3Yx+zqhh/FcS2
143
+ # aPZIEYSHFWzvERG5YZvRwrpp/LudoqRtkja/VSqzG5m33iuf97LbKe+6eXHRHr9v
144
+ # qc2QLWs5MB9aWmwCP9CXPIzq5hNLFhkLZhbMtttGXSVG1LP7hN2lRT+gBlIH5j6z
145
+ # XZGqaDOLtFXE1wjaWb/+wISboDrecIkKBi0z4st72lOyGX9Z/w4649BGID6y1OyD
146
+ # z0E4b21uVrPaR946Rh/mF0fymEBu464NB+vqzlhrpb69nPoTRmx6fOLQ60x/lEJr
147
+ # aEANhWBTEP6CsLwSm19Z5UBaBgJpAWF4039kY1AySTvxXrfKg8F98kQC74HnGVM9
148
+ # iiKNR2j01ei8magZePpHxOCyj5A9oAYcrEJsdrVAv0BIwXc6zWOuiAIcaLKR+nV0
149
+ # oaeYDnAlPo3HsF52VIOwCQIDAQABo4IBSTCCAUUwHQYDVR0OBBYEFJjxpSuxRrOH
150
+ # EHIfv12GJAIv/tB2MB8GA1UdIwQYMBaAFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMF8G
151
+ # A1UdHwRYMFYwVKBSoFCGTmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMv
152
+ # Y3JsL01pY3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNybDBs
153
+ # BggrBgEFBQcBAQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6Ly93d3cubWljcm9zb2Z0
154
+ # LmNvbS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUy
155
+ # MDIwMTAoMSkuY3J0MAwGA1UdEwEB/wQCMAAwFgYDVR0lAQH/BAwwCgYIKwYBBQUH
156
+ # AwgwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUAA4ICAQBPuyz9kBnRtNoW
157
+ # yuyIlh3/8tDoiYpv0llIqJHD3GzyHCTlj/vOKCf2Aa3B5EKELaUnwZVEeCsWQHEA
158
+ # KO64+mtLP9RhfufnbYkpy52da4h4TWnfQFmuo9M6exwP3wNmLpY1MDKadpLuK3mo
159
+ # CA0iet4AltNTZwCiwmh5cAevnRiBIaWYkz5w3qZgsAvpNMUy0Vgmukr1MzlHKHl5
160
+ # mabpRMmcaDSO3WkX/a7w9J3Pd0PLsMXsoMlp3aofFk5G8zeT1Xxifckjlgs+4uyj
161
+ # Ynmzd+lfIJWBH+GrzqDnON31tFHLKILyIsib833mrodZWwJ7JJ62up+wPJhZK3Av
162
+ # 3qHLsMjIsvmKHxgUx3QB2a9NGjKWYAO4rATZNAJO8+eOcuTvKklbb23XtjJrhX4m
163
+ # XPniwGc9TuQh5hmy9RP5gqDKQ/VAH6n65R1Efp7v1VqLP6J7Basglni1eQMyYvbW
164
+ # eHSP7nwTV5wBgO9PoHjIUh6ifED/oaX1ezsktyI8IgLqEZ2WKIQGnJh5QXSiFkWf
165
+ # s0pC7zQhnSN3nXVYDZurrH1pSr/MXJ/wSDD526dSPUq02hamrtW4mpqlyRiya+aZ
166
+ # gdlcKMrUS6ztXUj5peOsFi6rIz1Cl4VlThTTVgbXm5bBQJqPS5mVqH9EZJgx3zjL
167
+ # 0MKo6l94oTo8syTuEueG9w5CufE/qTCCB3EwggVZoAMCAQICEzMAAAAVxedrngKb
168
+ # SZkAAAAAABUwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
169
+ # EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
170
+ # ZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmlj
171
+ # YXRlIEF1dGhvcml0eSAyMDEwMB4XDTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4MzIy
172
+ # NVowfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT
173
+ # B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE
174
+ # AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEB
175
+ # AQUAA4ICDwAwggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXI
176
+ # yjVX9gF/bErg4r25PhdgM/9cT8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjo
177
+ # YH1qUoNEt6aORmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1y
178
+ # aa8dq6z2Nr41JmTamDu6GnszrYBbfowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v
179
+ # 3byNpOORj7I5LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1oO5pG
180
+ # ve2krnopN6zL64NF50ZuyjLVwIYwXE8s4mKyzbnijYjklqwBSru+cakXW2dg3viS
181
+ # kR4dPf0gz3N9QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYr
182
+ # bqgSUei/BQOj0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M269ewvPV2HM9Q07BMzlM
183
+ # jgK8QmguEOqEUUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSL
184
+ # W6CmgyFdXzB0kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AF
185
+ # emzFER1y7435UsSFF5PAPBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIu
186
+ # rQIDAQABo4IB3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIE
187
+ # FgQUKqdS/mTEmr6CkTxGNSnPEP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWn
188
+ # G1M1GelyMFwGA1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEW
189
+ # M2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5
190
+ # Lmh0bTATBgNVHSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi
191
+ # AEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV
192
+ # 9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3Js
193
+ # Lm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAx
194
+ # MC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8v
195
+ # d3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2
196
+ # LTIzLmNydDANBgkqhkiG9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv
197
+ # 6lwUtj5OR2R4sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZn
198
+ # OlNN3Zi6th542DYunKmCVgADsAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1
199
+ # bSNU5HhTdSRXud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4
200
+ # rPf5KYnDvBewVIVCs/wMnosZiefwC2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU
201
+ # 6ZGyqVvfSaN0DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCrdTDF
202
+ # NLB62FD+CljdQDzHVG2dY3RILLFORy3BFARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/
203
+ # HltEAY5aGZFrDZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdU
204
+ # CbFpAUR+fKFhbHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8CwYKi
205
+ # excdFYmNcP7ntdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTm
206
+ # dHRbatGePu1+oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZq
207
+ # ELQdVTNYs6FwZvKhggNWMIICPgIBATCCAQGhgdmkgdYwgdMxCzAJBgNVBAYTAlVT
208
+ # MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK
209
+ # ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVs
210
+ # YW5kIE9wZXJhdGlvbnMgTGltaXRlZDEnMCUGA1UECxMeblNoaWVsZCBUU1MgRVNO
211
+ # OjZGMUEtMDVFMC1EOTQ3MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT
212
+ # ZXJ2aWNloiMKAQEwBwYFKw4DAhoDFQBOQSklc5qojbB+oGzDg0tXCpiqqqCBgzCB
213
+ # gKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
214
+ # EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNV
215
+ # BAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0GCSqGSIb3DQEBCwUA
216
+ # AgUA6p6MPjAiGA8yMDI0MDkyNTEzMTg1NFoYDzIwMjQwOTI2MTMxODU0WjB0MDoG
217
+ # CisGAQQBhFkKBAExLDAqMAoCBQDqnow+AgEAMAcCAQACAhjBMAcCAQACAhPRMAoC
218
+ # BQDqn92+AgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisGAQQBhFkKAwKgCjAIAgEA
219
+ # AgMHoSChCjAIAgEAAgMBhqAwDQYJKoZIhvcNAQELBQADggEBAFKsr0MRuTY5w7nU
220
+ # H7pe5KRK7Apa8+Y3r7cFkC7znnNI+KXACwvVGQzedlMnOjEXJbKIxGoeSlG+j3d6
221
+ # UQQh5gWpNkfxiUzT6llzQ8KTta0b1gn8mrqqhavleKh1RyP8D4jCZ74VPJgGegui
222
+ # 1yunA7xojURd35zl6QgFhssi5l/WPLqYgu02j8TAtIyNXq92Zwac3CW2txAZzyLl
223
+ # ZeJu1gRv1SNLvzKRoyqOmtw/Vw7B8DiXqfV+poILWFhdQlrNrwUNm1iHxanm/bTe
224
+ # EQmVs+nbtjlO6LYVrr712gKEUkEjRb98tgbGqWMnTF0N3tmyu7vuI5IL7+uEo2xN
225
+ # pIpIeGExggQNMIIECQIBATCBkzB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz
226
+ # aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv
227
+ # cnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAx
228
+ # MAITMwAAAfwYoK/MaVqHOgABAAAB/DANBglghkgBZQMEAgEFAKCCAUowGgYJKoZI
229
+ # hvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3DQEJBDEiBCA3NXUe8uQzB+eC
230
+ # AuhG9VdYTd9PoINHmXyICLQtvnim/zCB+gYLKoZIhvcNAQkQAi8xgeowgecwgeQw
231
+ # gb0EIJVCr5C77+H8E5U/jDB5TBse4JSGH5PuGrd3kwJo0S1iMIGYMIGApH4wfDEL
232
+ # MAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v
233
+ # bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWlj
234
+ # cm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAH8GKCvzGlahzoAAQAAAfww
235
+ # IgQgoNMwLTCCpKnECFkW6xtchgpgvg/DAIZlVwYLVE/gl7owDQYJKoZIhvcNAQEL
236
+ # BQAEggIANJpIWY+NpKVziqG1bz2Gp2W8AOOH1wllSaE2uoPiY1htny1rGkiZ59nG
237
+ # 1rEeCtv1u4l82v1NUIq7HuDy96/TPlAytu2VI65Z7sFm5/hvcY1JdGWqNy5FmyTV
238
+ # xDO3bxJG2EizRAl/n/F314zED6JgMd/lGcsk7KAUoLUIWEH0pls/kFddeVDpDlQq
239
+ # niP5WOCRH3YS+HFx0r7qA6g+4SdAT+XPHtOv0JvP9N35ZAD6Bb0XbU864pCauTvq
240
+ # ees3kfEXCGBYQDcIutyaLZ8ZugrVpXZ8G1UZ2kixEza59tBJBzv/9W9QRPi9Ph1X
241
+ # PyIrW+bv3la9ObSTdr6uxqjFA47MTUgAKdtW2lBBiS2YdxBXKA0/dSrAyKWRXNMt
242
+ # 2ZBD1sfq1bVvCx17PuCNqn7rw3Es976iuOiNZ7q8kLvuvslJiQzfL1SXjxRKBQJT
243
+ # YIOuD4tjPguFnE+qYH371yK9csKYwp51OXz0CjDSQ72O4fL97wJ+3F3BMQnc9bjA
244
+ # fd7Mn6C9Z5znaR3UgKUZ3cijLliNc0RaVXNf/M8hSyPwh5a8OgZ1mSDzSb5cdwmv
245
+ # QHbAMdiaWR8hDxdwWAuPtb+1io2pKcQU7T6BaylSMwhmp3HvufbjH8usEapvpnB7
246
+ # YVXthENYPgwFtKne6+BTT0Ihz6dCsuuaPjovOpckPzsIvevHvzQ=
247
+ # SIG # End signature block
@@ -7,3 +7,219 @@ if (Test-Path "dist\powershell-module") {
7
7
  (Get-Content $file.FullName).replace($find, $replace) | Set-Content $file.FullName
8
8
  }
9
9
  }
10
+
11
+ # SIG # Begin signature block
12
+ # MIInzAYJKoZIhvcNAQcCoIInvTCCJ7kCAQExDzANBglghkgBZQMEAgEFADB5Bgor
13
+ # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG
14
+ # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCDeO0TRORrlnM3r
15
+ # 1gXT0GObjxYkdXZaB1i3DGnjqrQaiaCCDYUwggYDMIID66ADAgECAhMzAAADri01
16
+ # UchTj1UdAAAAAAOuMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMRMwEQYD
17
+ # VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
18
+ # b3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01pY3Jvc29mdCBDb2RlIFNpZ25p
19
+ # bmcgUENBIDIwMTEwHhcNMjMxMTE2MTkwODU5WhcNMjQxMTE0MTkwODU5WjB0MQsw
20
+ # CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
21
+ # ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMR4wHAYDVQQDExVNaWNy
22
+ # b3NvZnQgQ29ycG9yYXRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
23
+ # AQD0IPymNjfDEKg+YyE6SjDvJwKW1+pieqTjAY0CnOHZ1Nj5irGjNZPMlQ4HfxXG
24
+ # yAVCZcEWE4x2sZgam872R1s0+TAelOtbqFmoW4suJHAYoTHhkznNVKpscm5fZ899
25
+ # QnReZv5WtWwbD8HAFXbPPStW2JKCqPcZ54Y6wbuWV9bKtKPImqbkMcTejTgEAj82
26
+ # 6GQc6/Th66Koka8cUIvz59e/IP04DGrh9wkq2jIFvQ8EDegw1B4KyJTIs76+hmpV
27
+ # M5SwBZjRs3liOQrierkNVo11WuujB3kBf2CbPoP9MlOyyezqkMIbTRj4OHeKlamd
28
+ # WaSFhwHLJRIQpfc8sLwOSIBBAgMBAAGjggGCMIIBfjAfBgNVHSUEGDAWBgorBgEE
29
+ # AYI3TAgBBggrBgEFBQcDAzAdBgNVHQ4EFgQUhx/vdKmXhwc4WiWXbsf0I53h8T8w
30
+ # VAYDVR0RBE0wS6RJMEcxLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJh
31
+ # dGlvbnMgTGltaXRlZDEWMBQGA1UEBRMNMjMwMDEyKzUwMTgzNjAfBgNVHSMEGDAW
32
+ # gBRIbmTlUAXTgqoXNzcitW2oynUClTBUBgNVHR8ETTBLMEmgR6BFhkNodHRwOi8v
33
+ # d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb2RTaWdQQ0EyMDExXzIw
34
+ # MTEtMDctMDguY3JsMGEGCCsGAQUFBwEBBFUwUzBRBggrBgEFBQcwAoZFaHR0cDov
35
+ # L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jZXJ0cy9NaWNDb2RTaWdQQ0EyMDEx
36
+ # XzIwMTEtMDctMDguY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIB
37
+ # AGrJYDUS7s8o0yNprGXRXuAnRcHKxSjFmW4wclcUTYsQZkhnbMwthWM6cAYb/h2W
38
+ # 5GNKtlmj/y/CThe3y/o0EH2h+jwfU/9eJ0fK1ZO/2WD0xi777qU+a7l8KjMPdwjY
39
+ # 0tk9bYEGEZfYPRHy1AGPQVuZlG4i5ymJDsMrcIcqV8pxzsw/yk/O4y/nlOjHz4oV
40
+ # APU0br5t9tgD8E08GSDi3I6H57Ftod9w26h0MlQiOr10Xqhr5iPLS7SlQwj8HW37
41
+ # ybqsmjQpKhmWul6xiXSNGGm36GarHy4Q1egYlxhlUnk3ZKSr3QtWIo1GGL03hT57
42
+ # xzjL25fKiZQX/q+II8nuG5M0Qmjvl6Egltr4hZ3e3FQRzRHfLoNPq3ELpxbWdH8t
43
+ # Nuj0j/x9Crnfwbki8n57mJKI5JVWRWTSLmbTcDDLkTZlJLg9V1BIJwXGY3i2kR9i
44
+ # 5HsADL8YlW0gMWVSlKB1eiSlK6LmFi0rVH16dde+j5T/EaQtFz6qngN7d1lvO7uk
45
+ # 6rtX+MLKG4LDRsQgBTi6sIYiKntMjoYFHMPvI/OMUip5ljtLitVbkFGfagSqmbxK
46
+ # 7rJMhC8wiTzHanBg1Rrbff1niBbnFbbV4UDmYumjs1FIpFCazk6AADXxoKCo5TsO
47
+ # zSHqr9gHgGYQC2hMyX9MGLIpowYCURx3L7kUiGbOiMwaMIIHejCCBWKgAwIBAgIK
48
+ # YQ6Q0gAAAAAAAzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNV
49
+ # BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
50
+ # c29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlm
51
+ # aWNhdGUgQXV0aG9yaXR5IDIwMTEwHhcNMTEwNzA4MjA1OTA5WhcNMjYwNzA4MjEw
52
+ # OTA5WjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
53
+ # BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYD
54
+ # VQQDEx9NaWNyb3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExMIICIjANBgkqhkiG
55
+ # 9w0BAQEFAAOCAg8AMIICCgKCAgEAq/D6chAcLq3YbqqCEE00uvK2WCGfQhsqa+la
56
+ # UKq4BjgaBEm6f8MMHt03a8YS2AvwOMKZBrDIOdUBFDFC04kNeWSHfpRgJGyvnkmc
57
+ # 6Whe0t+bU7IKLMOv2akrrnoJr9eWWcpgGgXpZnboMlImEi/nqwhQz7NEt13YxC4D
58
+ # dato88tt8zpcoRb0RrrgOGSsbmQ1eKagYw8t00CT+OPeBw3VXHmlSSnnDb6gE3e+
59
+ # lD3v++MrWhAfTVYoonpy4BI6t0le2O3tQ5GD2Xuye4Yb2T6xjF3oiU+EGvKhL1nk
60
+ # kDstrjNYxbc+/jLTswM9sbKvkjh+0p2ALPVOVpEhNSXDOW5kf1O6nA+tGSOEy/S6
61
+ # A4aN91/w0FK/jJSHvMAhdCVfGCi2zCcoOCWYOUo2z3yxkq4cI6epZuxhH2rhKEmd
62
+ # X4jiJV3TIUs+UsS1Vz8kA/DRelsv1SPjcF0PUUZ3s/gA4bysAoJf28AVs70b1FVL
63
+ # 5zmhD+kjSbwYuER8ReTBw3J64HLnJN+/RpnF78IcV9uDjexNSTCnq47f7Fufr/zd
64
+ # sGbiwZeBe+3W7UvnSSmnEyimp31ngOaKYnhfsi+E11ecXL93KCjx7W3DKI8sj0A3
65
+ # T8HhhUSJxAlMxdSlQy90lfdu+HggWCwTXWCVmj5PM4TasIgX3p5O9JawvEagbJjS
66
+ # 4NaIjAsCAwEAAaOCAe0wggHpMBAGCSsGAQQBgjcVAQQDAgEAMB0GA1UdDgQWBBRI
67
+ # bmTlUAXTgqoXNzcitW2oynUClTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTAL
68
+ # BgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBRyLToCMZBD
69
+ # uRQFTuHqp8cx0SOJNDBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLm1pY3Jv
70
+ # c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf
71
+ # MDNfMjIuY3JsMF4GCCsGAQUFBwEBBFIwUDBOBggrBgEFBQcwAoZCaHR0cDovL3d3
72
+ # dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNSb29DZXJBdXQyMDExXzIwMTFf
73
+ # MDNfMjIuY3J0MIGfBgNVHSAEgZcwgZQwgZEGCSsGAQQBgjcuAzCBgzA/BggrBgEF
74
+ # BQcCARYzaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9kb2NzL3ByaW1h
75
+ # cnljcHMuaHRtMEAGCCsGAQUFBwICMDQeMiAdAEwAZQBnAGEAbABfAHAAbwBsAGkA
76
+ # YwB5AF8AcwB0AGEAdABlAG0AZQBuAHQALiAdMA0GCSqGSIb3DQEBCwUAA4ICAQBn
77
+ # 8oalmOBUeRou09h0ZyKbC5YR4WOSmUKWfdJ5DJDBZV8uLD74w3LRbYP+vj/oCso7
78
+ # v0epo/Np22O/IjWll11lhJB9i0ZQVdgMknzSGksc8zxCi1LQsP1r4z4HLimb5j0b
79
+ # pdS1HXeUOeLpZMlEPXh6I/MTfaaQdION9MsmAkYqwooQu6SpBQyb7Wj6aC6VoCo/
80
+ # KmtYSWMfCWluWpiW5IP0wI/zRive/DvQvTXvbiWu5a8n7dDd8w6vmSiXmE0OPQvy
81
+ # CInWH8MyGOLwxS3OW560STkKxgrCxq2u5bLZ2xWIUUVYODJxJxp/sfQn+N4sOiBp
82
+ # mLJZiWhub6e3dMNABQamASooPoI/E01mC8CzTfXhj38cbxV9Rad25UAqZaPDXVJi
83
+ # hsMdYzaXht/a8/jyFqGaJ+HNpZfQ7l1jQeNbB5yHPgZ3BtEGsXUfFL5hYbXw3MYb
84
+ # BL7fQccOKO7eZS/sl/ahXJbYANahRr1Z85elCUtIEJmAH9AAKcWxm6U/RXceNcbS
85
+ # oqKfenoi+kiVH6v7RyOA9Z74v2u3S5fi63V4GuzqN5l5GEv/1rMjaHXmr/r8i+sL
86
+ # gOppO6/8MO0ETI7f33VtY5E90Z1WTk+/gFcioXgRMiF670EKsT/7qMykXcGhiJtX
87
+ # cVZOSEXAQsmbdlsKgEhr/Xmfwb1tbWrJUnMTDXpQzTGCGZ0wghmZAgEBMIGVMH4x
88
+ # CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
89
+ # b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKDAmBgNVBAMTH01p
90
+ # Y3Jvc29mdCBDb2RlIFNpZ25pbmcgUENBIDIwMTECEzMAAAOuLTVRyFOPVR0AAAAA
91
+ # A64wDQYJYIZIAWUDBAIBBQCgga4wGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
92
+ # HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJKoZIhvcNAQkEMSIEIEyH
93
+ # L/+62LFprsN1DGMqU/mZ9jMdyaew/vuHJNvMvaGmMEIGCisGAQQBgjcCAQwxNDAy
94
+ # oBSAEgBNAGkAYwByAG8AcwBvAGYAdKEagBhodHRwOi8vd3d3Lm1pY3Jvc29mdC5j
95
+ # b20wDQYJKoZIhvcNAQEBBQAEggEAN5AwYvwuMQnB5/P080U71uMrnGkmDfC2teGN
96
+ # dNo0BYHdluTjfof3BouGQ46JFLOOZFlWMWYncJ1c1WRoYGMxZQQlso6KJROyaUdy
97
+ # Ul1NKr9BUWPzyJtwWGV19y9O1hXFxHZxi8GHUXSsaU1ujzcJn5GFVBgbFh33QHpm
98
+ # tQGnFYzr49HB9TrmAvjXuK/dzz3AMKrQv2L1Na5pz1aiYFe5wC5DTeujo++6Y9mo
99
+ # RrznUCL/RqQizCPEDznVUW5Xg78uz26ZRgmVf+S3o1CRvLgo65nS44snsvvrhvPD
100
+ # b3HIoslcb6ywH/u9q/6sIbN0NU9K86zwgmQ63mVDgh0/lxlWXqGCFycwghcjBgor
101
+ # BgEEAYI3AwMBMYIXEzCCFw8GCSqGSIb3DQEHAqCCFwAwghb8AgEDMQ8wDQYJYIZI
102
+ # AWUDBAIBBQAwggFXBgsqhkiG9w0BCRABBKCCAUYEggFCMIIBPgIBAQYKKwYBBAGE
103
+ # WQoDATAxMA0GCWCGSAFlAwQCAQUABCCQ8p3e+03qLGNNRJPrpsTio718qcdem4kg
104
+ # vVBjO9tEAgIGZuq8xutCGBEyMDI0MDkyNjAwMDA1MS41WjAEgAIB9KCB2KSB1TCB
105
+ # 0jELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl
106
+ # ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMk
107
+ # TWljcm9zb2Z0IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYDVQQLEx1U
108
+ # aGFsZXMgVFNTIEVTTjowODQyLTRCRTYtQzI5QTElMCMGA1UEAxMcTWljcm9zb2Z0
109
+ # IFRpbWUtU3RhbXAgU2VydmljZaCCEXgwggcnMIIFD6ADAgECAhMzAAAB2o7VyVoA
110
+ # 0RGxAAEAAAHaMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQI
111
+ # EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
112
+ # ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD
113
+ # QSAyMDEwMB4XDTIzMTAxMjE5MDY1OVoXDTI1MDExMDE5MDY1OVowgdIxCzAJBgNV
114
+ # BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w
115
+ # HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29m
116
+ # dCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVzIFRT
117
+ # UyBFU046MDg0Mi00QkU2LUMyOUExJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0
118
+ # YW1wIFNlcnZpY2UwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCTkAYI
119
+ # drVRUdY/I0AODQ3/G3Fa10jdPNAjSj0kKO0ue7Apz1NBSheO8Ni+qh7cJuBJwpRd
120
+ # nK7lxaf5ez6TEINuRO1/MQ5r8a/AQROogEgDwn603m7rwLGVnCWIcu6a4ArgX+zo
121
+ # nV6YLFtcvKelbO7A9mrqf9Lr3mMXl5SrbD4zAqZR5JNG2vh4C4aNCevCnY4twzNi
122
+ # ufcB8vca7bGCvl/Xq2wxmdppl9++uWkuUO/7oA8TFYM8o/NMiZ+lC55Jw/YuJFEM
123
+ # VYaldXXPwxelAXrs37pJDHne7a81BGTEcpWu6ob8FHkJYMwkIaWY8/s7EIKV5T3M
124
+ # 7xndIqq+5QAsH1RqIOaZSM3RMb7dUwPCZnn/NfWkysB9SFRCMGCwOrr0vJEXQOkc
125
+ # bzHG//7pTYyLhnHsspDAFxMp1ayxvVbyuK36wrBi9499C5onboPqMK3Ao0GoGJqx
126
+ # pNYQcpF4paPWAfEMsuUNSoRrh+uVd8xcvGtJMGygUbPFUeB7aD2MPc9Q3XCX2QTt
127
+ # nYc198gDIqQhpukpr5r2r0bF4cvNOY4gKQ8jfrNP2+6LNs/IkVhiZOjPbrk9uPd4
128
+ # BVf/SSxoOWCSQiVyPssZDvzl52SbLhrdPs1i3R0uFyFwRte6D7uSrBX0Ux0RJaEd
129
+ # nSOhsGmsSMg8kh2DrbyMnZWu7uJX53wo2P6ikwIDAQABo4IBSTCCAUUwHQYDVR0O
130
+ # BBYEFKF8jclRPWYTlYsxFFcITYC/D19FMB8GA1UdIwQYMBaAFJ+nFV0AXmJdg/Tl
131
+ # 0mWnG1M1GelyMF8GA1UdHwRYMFYwVKBSoFCGTmh0dHA6Ly93d3cubWljcm9zb2Z0
132
+ # LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0ElMjAy
133
+ # MDEwKDEpLmNybDBsBggrBgEFBQcBAQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6Ly93
134
+ # d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwVGltZS1T
135
+ # dGFtcCUyMFBDQSUyMDIwMTAoMSkuY3J0MAwGA1UdEwEB/wQCMAAwFgYDVR0lAQH/
136
+ # BAwwCgYIKwYBBQUHAwgwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUAA4IC
137
+ # AQC5g1XU7biNIwBLeNTtjjPAlNt+0xjMoaxq+xcyghBWl8baKpPyDm0K4qtXGh1Y
138
+ # dr8rkNuJ8903Tgb+63LP6pz4zsZ1xS8mT3mli7DbgEVZlFYslWF412AeQ8M2lmYE
139
+ # nGPBii+8ho8lq4e/FiVIIe6xNfuVQ+YdP+q7PXQUagMyPX4Wc+7KbI7fL58edFhM
140
+ # WwUkh+632mx3p3aXqm05lv0X3Gk/hhSLE/oNno+8ESiKv0IZ7KBfJqRTTx1dav1i
141
+ # v6xfwoaL5ISTA75arRE1ovexqJTkimpmQvW2IHDyn89vHnduVictdFbUPT+fgv9n
142
+ # Tnw2s9UZnjm9uym3oIWtEnz3K4k3zkVb6jw0mt5/Te3YU2O/uPSPHr6GnfYXWfAn
143
+ # yDj37cLd8U19kYTGSQlaBZWmx3L32/OK2hTOnM+RGJPsdWlRIl7YCukdMZ9cIzFx
144
+ # 39AFpUo6kZM70p0SsxbGcBJe+FWoZSlYSPgovUU/fuhnNMVsye80CFBRNyYosefu
145
+ # yi/AKx3wWPVBS8+LJ26Ce0IqdyAA25FOGS9IkPI/CMa2u2kmH06FHn5nLd3TOvX3
146
+ # +BHodiofTbCooqYefPQKf8UtYxEpa34y/4P2W6GkuXfWtnwOffJrmw7yw+ceTz9+
147
+ # +9NL5v2PjyIZqdn077ktrJ3XmQZsk6nFDR0TZgpPp41d5zCCB3EwggVZoAMCAQIC
148
+ # EzMAAAAVxedrngKbSZkAAAAAABUwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYT
149
+ # AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYD
150
+ # VQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBS
151
+ # b290IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTIxMDkzMDE4MjIyNVoX
152
+ # DTMwMDkzMDE4MzIyNVowfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
153
+ # b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
154
+ # dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwggIi
155
+ # MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC
156
+ # 0/3unAcH0qlsTnXIyjVX9gF/bErg4r25PhdgM/9cT8dm95VTcVrifkpa/rg2Z4VG
157
+ # Iwy1jRPPdzLAEBjoYH1qUoNEt6aORmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP
158
+ # 2CZTfDlhAnrEqv1yaa8dq6z2Nr41JmTamDu6GnszrYBbfowQHJ1S/rboYiXcag/P
159
+ # XfT+jlPP1uyFVk3v3byNpOORj7I5LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361
160
+ # VI/c+gVVmG1oO5pGve2krnopN6zL64NF50ZuyjLVwIYwXE8s4mKyzbnijYjklqwB
161
+ # Sru+cakXW2dg3viSkR4dPf0gz3N9QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9
162
+ # X4C626p+Nuw2TPYrbqgSUei/BQOj0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M269e
163
+ # wvPV2HM9Q07BMzlMjgK8QmguEOqEUUbi0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDw
164
+ # wvoSCtdjbwzJNmSLW6CmgyFdXzB0kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr
165
+ # 9lxSUV0S2yW6r1AFemzFER1y7435UsSFF5PAPBXbGjfHCBUYP3irRbb1Hode2o+e
166
+ # FnJpxq57t7c+auIurQIDAQABo4IB3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAj
167
+ # BgkrBgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxGNSnPEP8vBO4wHQYDVR0OBBYEFJ+n
168
+ # FV0AXmJdg/Tl0mWnG1M1GelyMFwGA1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEw
169
+ # PwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9j
170
+ # cy9SZXBvc2l0b3J5Lmh0bTATBgNVHSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3
171
+ # FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAf
172
+ # BgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBH
173
+ # hkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNS
174
+ # b29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUF
175
+ # BzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0Nl
176
+ # ckF1dF8yMDEwLTA2LTIzLmNydDANBgkqhkiG9w0BAQsFAAOCAgEAnVV9/Cqt4Swf
177
+ # ZwExJFvhnnJL/Klv6lwUtj5OR2R4sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTC
178
+ # j/ts0aGUGCLu6WZnOlNN3Zi6th542DYunKmCVgADsAW+iehp4LoJ7nvfam++Kctu
179
+ # 2D9IdQHZGN5tggz1bSNU5HhTdSRXud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/
180
+ # GbYSEhFdPSfgQJY4rPf5KYnDvBewVIVCs/wMnosZiefwC2qBwoEZQhlSdYo2wh3D
181
+ # YXMuLGt7bj8sCXgU6ZGyqVvfSaN0DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbO
182
+ # xnT99kxybxCrdTDFNLB62FD+CljdQDzHVG2dY3RILLFORy3BFARxv2T5JL5zbcqO
183
+ # Cb2zAVdJVGTZc9d/HltEAY5aGZFrDZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I
184
+ # 6IleT53S0Ex2tVdUCbFpAUR+fKFhbHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3Fb+0
185
+ # zj6lMVGEvL8CwYKiexcdFYmNcP7ntdAoGokLjzbaukz5m/8K6TT4JDVnK+ANuOaM
186
+ # mdbhIurwJ0I9JZTmdHRbatGePu1+oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNT
187
+ # TY3ugm2lBRDBcQZqELQdVTNYs6FwZvKhggLUMIICPQIBATCCAQChgdikgdUwgdIx
188
+ # CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
189
+ # b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xLTArBgNVBAsTJE1p
190
+ # Y3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhh
191
+ # bGVzIFRTUyBFU046MDg0Mi00QkU2LUMyOUExJTAjBgNVBAMTHE1pY3Jvc29mdCBU
192
+ # aW1lLVN0YW1wIFNlcnZpY2WiIwoBATAHBgUrDgMCGgMVAEKiHyGJYx1GzaGNP8I4
193
+ # V0Z/7EgNoIGDMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
194
+ # b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
195
+ # dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAwDQYJ
196
+ # KoZIhvcNAQEFBQACBQDqnx4XMCIYDzIwMjQwOTI2MDc0MTExWhgPMjAyNDA5Mjcw
197
+ # NzQxMTFaMHQwOgYKKwYBBAGEWQoEATEsMCowCgIFAOqfHhcCAQAwBwIBAAICBYQw
198
+ # BwIBAAICEbcwCgIFAOqgb5cCAQAwNgYKKwYBBAGEWQoEAjEoMCYwDAYKKwYBBAGE
199
+ # WQoDAqAKMAgCAQACAwehIKEKMAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOBgQBc
200
+ # glt7zCjY7Cq5t/xnUBlt6LGVCLIgoTllmUn3K3+ytCKE/Epm3gzRq1FZ17uj3vCn
201
+ # xUTlYjtup5siXjmmvmFY6y2PA4ExfuskQdo8pMCEvP1RwamJNs6bKw7s0FoetP9T
202
+ # C6lc/GWzPWIHO5B3wuZHkS3dy89+jCkncTr5xWlFeTGCBA0wggQJAgEBMIGTMHwx
203
+ # CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
204
+ # b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1p
205
+ # Y3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB2o7VyVoA0RGxAAEAAAHa
206
+ # MA0GCWCGSAFlAwQCAQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZIhvcNAQkQAQQw
207
+ # LwYJKoZIhvcNAQkEMSIEIJCduJRjvu11n+n8jHNxuhvAy8v6tByLnGZqJnXxpibe
208
+ # MIH6BgsqhkiG9w0BCRACLzGB6jCB5zCB5DCBvQQgIqWjaWLA756k3veQ49QtPdNt
209
+ # COZY4m61v53SAjsYPcYwgZgwgYCkfjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMK
210
+ # V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
211
+ # IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0Eg
212
+ # MjAxMAITMwAAAdqO1claANERsQABAAAB2jAiBCCLvqLi5kbEfKGyZEujZMyDQ7XE
213
+ # 8dduKm65nvN/3afwITANBgkqhkiG9w0BAQsFAASCAgBRnjKYAe/ieb73P3PI5qAG
214
+ # /YrK2ctpRPVjAkvYOFVnXhgf+a1C8kgmPiYFDdngpjMN/dJFrlynvB+IJeIk91uo
215
+ # 9Bqph0chewIj6/INpH2IZ/FT8MxTKrgiQ924BvnKC6U9ebq9yCkfGpMWP9MT8FYG
216
+ # efvjWFdOIX627xs/nkVvSnaeELfcrE4isGvC3eHdAJp/wFculU9/D4eAMThTAokx
217
+ # GVumQK1FV/pARuWALBPxpanQUfougn+uqDSuKNW2ZEv0t4V2k8nUeH8EFbYi9v+W
218
+ # mcqQugRGzMxbmnzbvObhp2+tHKqXV0//ZK7GkTEpLctkVNxPTr4Dti3Xup8VvuXF
219
+ # c7yHEYvNAcoiqNyTfr7jwRHlupHY52vEsqrwQDvT7SJqSbTqDlbJsCu6Gd9Nut0N
220
+ # KYeEjbDuXbA9sgn8HmjzpTX101ZXdhCa3mNasv0LCcPPsAfBpGhsITIecwELJpxw
221
+ # jantnauPvw1jiaIyPoEY/XWr+V8NQLpurKoJTrWYiwm3h+U1BlhyxBMOZTe3jg1q
222
+ # Gaf4v3N0lsnKRM7fugygsKUOD8eZVg0VB71+/Ggii9BYnXjU9p/rQaFZTmIuKZbx
223
+ # hyD6eE5JLEwYTU7B8041UNbnq+x/T6a6kTNLe491wiMHkv83k1wbceVHbFszEHIy
224
+ # og4oylOd+qazHITZQl9jwA==
225
+ # SIG # End signature block
@@ -5,6 +5,8 @@ export module CleanModule {
5
5
  export function clean(): any {
6
6
  return src(
7
7
  [
8
+ '.angular',
9
+ 'bundle',
8
10
  'dist',
9
11
  'dist-ps',
10
12
  'scenariotestresults',
@@ -2,13 +2,17 @@ import packNugetModule from '@microsoft/windows-admin-center-sdk/tools/pack-nuge
2
2
  import { Utilities } from './utilities';
3
3
 
4
4
  interface PackOptions {
5
+ rootPath: string;
5
6
  version: string;
7
+ backendVersion: string;
6
8
  icon: string;
9
+ readme: string;
7
10
  license: string;
8
11
  company: string;
9
12
  copyright: string;
10
- iconUrl: string;
11
13
  targetPath: string;
14
+ // obsolete due to new nuget feature
15
+ iconUrl: string;
12
16
  }
13
17
 
14
18
  export module PackModule {
@@ -18,14 +22,26 @@ export module PackModule {
18
22
 
19
23
  export function pack(cb) {
20
24
  const options = <PackOptions>{};
25
+ if (argv['rootPath']) {
26
+ options.rootPath = argv['rootPath'] as string;
27
+ }
28
+
21
29
  if (argv['version']) {
22
30
  options.version = argv['version'] as string;
23
31
  }
24
32
 
33
+ if (argv['backendVersion']) {
34
+ options.backendVersion = argv['backendVersion'] as string;
35
+ }
36
+
25
37
  if (argv['icon']) {
26
38
  options.icon = argv['icon'] as string;
27
39
  }
28
40
 
41
+ if (argv['readme']) {
42
+ options.readme = argv['readme'] as string;
43
+ }
44
+
29
45
  if (argv['license']) {
30
46
  options.license = argv['license'] as string;
31
47
  }
@@ -38,10 +54,6 @@ export module PackModule {
38
54
  options.copyright = argv['copyright'] as string;
39
55
  }
40
56
 
41
- if (argv['iconUrl']) {
42
- options.iconUrl = argv['iconUrl'] as string;
43
- }
44
-
45
57
  if (argv['targetPath']) {
46
58
  options.targetPath = argv['targetPath'] as string;
47
59
  }
@@ -1,3 +1,5 @@
1
+ import fs from 'fs';
2
+ import glob from 'glob';
1
3
  import psCimModule from '@microsoft/windows-admin-center-sdk/tools/gulp-ps-cim';
2
4
  import psCodeModule from '@microsoft/windows-admin-center-sdk/tools/gulp-ps-code';
3
5
  import psManifestModule from '@microsoft/windows-admin-center-sdk/tools/gulp-ps-manifest';
@@ -23,7 +25,17 @@ export module PowerShellModule {
23
25
  }
24
26
 
25
27
  function powershellCode() {
26
- return src(['src/resources/scripts/**/*.ps1', 'src/generated/scripts/**/*.ps1'])
28
+ const powerShellCodePaths = ['src/resources/scripts/**/*.ps1', 'src/generated/scripts/**/*.ps1'];
29
+ const validPaths = validatePaths(powerShellCodePaths);
30
+
31
+ if (!validPaths || !validPaths.length) {
32
+ console.log('[Warning] powershellCode paths are empty.')
33
+ return new Promise((resolve) => {
34
+ resolve(true);
35
+ });
36
+ }
37
+
38
+ return src(validPaths)
27
39
  .pipe(psCode({
28
40
  powerShellModuleName: config.powershell.name,
29
41
  resourceName: config.powershell.skipResjson ? null : config.resjson.resourceName,
@@ -38,7 +50,17 @@ export module PowerShellModule {
38
50
  powerShellModulePaths.push(item + '/resources/scripts/**/*.ps1');
39
51
  powerShellModulePaths.push(item + '/generated/scripts/**/*.ps1');
40
52
  });
41
- return src(powerShellModulePaths)
53
+
54
+ const validPaths = validatePaths(powerShellModulePaths);
55
+
56
+ if (!validPaths || !validPaths.length) {
57
+ console.log('[Warning] powershellModule paths are empty.')
58
+ return new Promise((resolve) => {
59
+ resolve(true);
60
+ });
61
+ }
62
+
63
+ return src(validPaths)
42
64
  .pipe(psModule(config.powershell))
43
65
  .pipe(dest('dist-ps/powershell-module/' + config.powershell.name));
44
66
  }
@@ -55,6 +77,22 @@ export module PowerShellModule {
55
77
  .pipe(dest('.'));
56
78
  }
57
79
 
80
+ // The gulp bundle is not aware of which repository has generated scripts or not, so we need to validate the paths.
81
+ // Otherwise gulp would throw error on empty paths with wildcard.
82
+ function validatePaths(paths) {
83
+ let validPaths = [];
84
+ paths.forEach(path => {
85
+ const files = glob.sync(path);
86
+
87
+ files.forEach(file => {
88
+ if (fs.existsSync(file)) {
89
+ validPaths.push(path);
90
+ }
91
+ });
92
+ });
93
+ return validPaths;
94
+ }
95
+
58
96
  const seriesArray = [];
59
97
  if (!config.powershell.skipCim) {
60
98
  seriesArray.push(powershellCim);
@@ -14,9 +14,8 @@ export module TestModule {
14
14
  const args = ['test'];
15
15
  if (argv['prod']) {
16
16
  args.push('--configuration=production');
17
- if (args.includes('--prod')) {
18
- args.splice(args.indexOf('--prod'), 1);
19
- }
17
+ args.push('--watch=false');
18
+ args.push('--progress=false');
20
19
  } else if (argv['debug']) {
21
20
  args.push('--c=debug');
22
21
  }
@@ -41,31 +41,59 @@ export module Utilities {
41
41
  }
42
42
  }
43
43
 
44
- export function ng(cb, args, options = {}, codeHandler = null) {
45
- log('ng', args.join(' '));
44
+ export function ng(cb, args, options = {}, codeHandler = null, logIdentifier = '') {
45
+ log(`${logIdentifier} - ng`, args.join(' '));
46
46
  const errors = [];
47
- const cmd = childProcess.spawn('ng.cmd', args, options);
48
- cmd.stdout.on('data', (data) => { log(data.toString().trim()); });
49
- cmd.stderr.on('data', (data) => {
47
+ const cmd = childProcess.spawn('ng.cmd', args, { ...options, shell: true });
48
+
49
+ cmd.stdout.on('data', function (data) { log(`${logIdentifier} - ${data.toString().trim()}`); });
50
+
51
+ cmd.stderr.on('data', function (data) {
50
52
  const message = data.toString().trim();
51
53
  if (message.toUpperCase().startsWith('ERROR')) {
52
- log.error(message);
53
- errors.push(message);
54
+ log.error(`${logIdentifier} - ${message}`);
55
+ errors.push(`${logIdentifier} - ${message}`);
54
56
  } else {
55
- log(message);
57
+ log(`${logIdentifier} - ${message}`);
56
58
  }
57
59
  });
58
- cmd.on('exit', (code) => {
60
+
61
+ cmd.on('exit', function (code) {
59
62
  if (codeHandler) {
60
63
  const codeError = codeHandler(code);
61
64
  if (codeError) {
62
65
  errors.push(codeError);
63
66
  }
64
67
  }
65
- if (errors.length > 0) {
66
- cb(errors.join('\n'));
67
- } else { cb(); }
68
+
69
+ log(`${logIdentifier} - Process exited with code ${code}`);
70
+ finalize();
71
+ });
72
+
73
+ cmd.on('error', function (err) {
74
+ log.error(`${logIdentifier} - ${err.message}`);
75
+ errors.push(`${logIdentifier} - ${err.message}`);
76
+ finalize();
77
+ });
78
+
79
+ cmd.on('close', function (code) {
80
+ log(`${logIdentifier} - Process closed with code ${code}`);
81
+ finalize();
68
82
  });
69
83
 
84
+ const timeout = setTimeout(() => {
85
+ cmd.kill('SIGKILL');
86
+ log(`${logIdentifier} - Timeout on the process.`);
87
+ finalize();
88
+ }, options['timeout'] || 300000);
89
+
90
+ function finalize() {
91
+ clearTimeout(timeout);
92
+ if (errors.length > 0) {
93
+ cb(errors.join('\n'));
94
+ } else {
95
+ cb();
96
+ }
97
+ }
70
98
  }
71
99
  }