@microsoft/windows-admin-center-sdk 4.167.0 → 4.232.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.
- package/angular/esm2020/src/controls/accordion/accordion-panel/accordion-panel.component.mjs +36 -12
- package/angular/esm2020/src/controls/form/form-field/array/array-form-field-accessibility-manager.service.mjs +59 -0
- package/angular/esm2020/src/controls/form/form-field/array/array-form-field.component.mjs +24 -35
- package/angular/esm2020/src/controls/form/form-field/form-field-accessibility-manager-base.service.mjs +105 -0
- package/angular/esm2020/src/controls/form/form-field/list/list-form-field-accessibility-manager.service.mjs +38 -0
- package/angular/esm2020/src/controls/form/form-field/list/list-form-field.component.mjs +56 -38
- package/angular/esm2020/src/controls/form/form-field/ordered-list/ordered-list-form-field-accessibility-manager.service.mjs +54 -0
- package/angular/esm2020/src/controls/form/form-field/ordered-list/ordered-list-form-field.component.mjs +67 -67
- package/angular/esm2020/src/controls/form/forms.module.mjs +19 -2
- package/angular/esm2020/src/controls/page-alert-bar/page-alert-bar.component.mjs +4 -4
- package/angular/esm2020/src/controls/snap-in-extension/snap-in-extension.component.mjs +1 -1
- package/angular/esm2020/src/controls/wizard/models/wizard-step-snap-in-output.mjs +1 -1
- package/angular/esm2020/src/controls/wizard-lite/wizard-navigation-button/wizard-navigation-button.component.mjs +3 -3
- package/angular/esm2020/src/data/extension-broker/snap-in-listener.mjs +80 -0
- package/angular/esm2020/src/data/index.mjs +2 -1
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.mjs +539 -167
- package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.mjs.map +1 -1
- package/angular/fesm2020/microsoft-windows-admin-center-sdk-angular.mjs +521 -167
- package/angular/fesm2020/microsoft-windows-admin-center-sdk-angular.mjs.map +1 -1
- package/angular/src/controls/accordion/accordion-panel/accordion-panel.component.d.ts +13 -4
- package/angular/src/controls/form/form-field/array/array-form-field-accessibility-manager.service.d.ts +38 -0
- package/angular/src/controls/form/form-field/array/array-form-field.component.d.ts +3 -1
- package/angular/src/controls/form/form-field/form-field-accessibility-manager-base.service.d.ts +37 -0
- package/angular/src/controls/form/form-field/list/list-form-field-accessibility-manager.service.d.ts +25 -0
- package/angular/src/controls/form/form-field/list/list-form-field.component.d.ts +12 -2
- package/angular/src/controls/form/form-field/ordered-list/ordered-list-form-field-accessibility-manager.service.d.ts +37 -0
- package/angular/src/controls/form/form-field/ordered-list/ordered-list-form-field.component.d.ts +12 -8
- package/angular/src/controls/wizard/models/wizard-step-snap-in-output.d.ts +1 -1
- package/{core → angular/src}/data/extension-broker/snap-in-listener.d.ts +49 -46
- package/angular/src/data/index.d.ts +1 -0
- package/core/async/cancellation.js +312 -0
- package/core/async/index.js +312 -0
- package/core/async/progress.js +312 -0
- package/core/azure/azure-constants.js +312 -0
- package/core/azure/azure-logging.js +312 -0
- package/core/azure/azure-manager.js +312 -0
- package/core/azure/models/aadAppConfig-data.js +312 -0
- package/core/azure/models/azureArcStatusEnum.js +312 -0
- package/core/azure/models/azureTokenResult-data.js +312 -0
- package/core/azure/resources/deployment-operation-request-body.js +312 -0
- package/core/azure/resources/deployment-operation-response.js +312 -0
- package/core/azure/resources/location-data.js +315 -0
- package/core/azure/resources/resource-group-data.js +312 -0
- package/core/azure/resources/subscription-data.js +312 -0
- package/core/base/data-store/browser-storage-data-store.js +315 -0
- package/core/base/data-store/cached-data-store.js +312 -0
- package/core/base/data-store/data-store.js +312 -0
- package/core/base/data-store/local-data-store.js +312 -0
- package/core/base/data-store/memory-data-store.js +312 -0
- package/core/base/data-store/session-data-store.js +312 -0
- package/core/base/date/date-like.js +312 -0
- package/core/base/date/date-range.js +312 -0
- package/core/base/date/date-time.js +312 -0
- package/core/base/date/date-type.js +312 -0
- package/core/base/date/time-unit.js +312 -0
- package/core/base/decorators/base.js +312 -0
- package/core/base/decorators/debounce.decorators.js +312 -0
- package/core/base/decorators/delay.decorator.js +315 -0
- package/core/base/decorators/yield.decorator.js +312 -0
- package/core/base/environment.js +312 -0
- package/core/base/json.js +312 -0
- package/core/base/msft-sme.mock.js +316 -0
- package/core/base/polyfills/array.js +315 -0
- package/core/base/polyfills/string.js +312 -0
- package/core/base/rxjs-lifetime-manager.js +312 -0
- package/core/base/utilities.js +312 -0
- package/core/base/versioned-object.js +312 -0
- package/core/data/accessibility-manager.js +312 -0
- package/core/data/active-directory/active-directory.js +312 -0
- package/core/data/active-directory/models/account-info.js +312 -0
- package/core/data/active-directory/models/active-directory-search-options.js +312 -0
- package/core/data/active-directory/models/search-type.js +312 -0
- package/core/data/animation.js +312 -0
- package/core/data/app-context.js +312 -0
- package/core/data/asset-manager.js +315 -0
- package/core/data/base64-array-buffer.js +312 -0
- package/core/data/batch-connection.js +312 -0
- package/core/data/cim-connection.js +312 -0
- package/core/data/cim-stream.js +312 -0
- package/core/data/cim.js +312 -0
- package/core/data/column-picker.js +312 -0
- package/core/data/cookie.js +312 -0
- package/core/data/core-environment.js +315 -0
- package/core/data/crypto.js +312 -0
- package/core/data/deployment-share.js +312 -0
- package/core/data/disposable.js +312 -0
- package/core/data/electron.js +315 -0
- package/core/data/error-extended.js +312 -0
- package/core/data/extension-broker/dialog-listener.js +312 -0
- package/core/data/extension-broker/extension-broker.js +312 -0
- package/core/data/extension-broker/extension-listener.js +312 -0
- package/core/data/extension-broker/model/extension-broker-request-payload.js +312 -0
- package/core/data/extension-broker/model/extension-broker-response-error.js +312 -0
- package/core/data/extension-broker/model/extension-broker-response-payload.js +312 -0
- package/core/data/extension-broker/model/extension-entries.js +315 -0
- package/core/data/extension-broker/model/extension-instance.js +315 -0
- package/core/data/extension-broker/model/extension-rect.js +312 -0
- package/core/data/extension-broker/model/extension-search-options.js +312 -0
- package/core/data/extension-broker/service-listener.js +312 -0
- package/core/data/extension-broker/worker-listener.js +312 -0
- package/core/data/extension-broker/worker-set.js +312 -0
- package/core/data/file-transfer.js +312 -0
- package/core/data/gateway-connection.js +312 -0
- package/core/data/gateway-status.js +312 -0
- package/core/data/gateway-url-builder.js +312 -0
- package/core/data/gateway-url-translator.js +316 -0
- package/core/data/gateway-urls.js +312 -0
- package/core/data/globalization.js +315 -0
- package/core/data/http-constants.js +315 -0
- package/core/data/http.js +312 -0
- package/core/data/jobs/jobs-manager.js +312 -0
- package/core/data/jobs/models/job-credentials.js +312 -0
- package/core/data/jobs/models/job-node.js +312 -0
- package/core/data/jobs/models/job-paginated-response.js +315 -0
- package/core/data/jobs/models/job-pagination-options.js +315 -0
- package/core/data/jobs/models/job.js +312 -0
- package/core/data/jobs/models/node-job.js +312 -0
- package/core/data/jobs/models/powershell-job.js +312 -0
- package/core/data/language.js +315 -0
- package/core/data/lifetime-data.js +312 -0
- package/core/data/localization-manager.js +312 -0
- package/core/data/native-q.js +312 -0
- package/core/data/net.d.ts.map +1 -1
- package/core/data/net.js +313 -1
- package/core/data/net.js.map +1 -1
- package/core/data/node-connection.d.ts.map +1 -1
- package/core/data/node-connection.js +312 -0
- package/core/data/node-connection.js.map +1 -1
- package/core/data/node-extension-install.js +312 -0
- package/core/data/powershell-alternate.js +312 -0
- package/core/data/powershell-batch.js +312 -0
- package/core/data/powershell-connection.js +312 -0
- package/core/data/powershell-crypto.js +312 -0
- package/core/data/powershell-stream.js +312 -0
- package/core/data/powershell.js +312 -0
- package/core/data/query-cache.js +312 -0
- package/core/data/resource-cache.js +312 -0
- package/core/data/schedule-reboot.js +312 -0
- package/core/data/settings-manager.js +312 -0
- package/core/data/settings-manger.mock.js +312 -0
- package/core/data/sme-extension.js +312 -0
- package/core/data/ssh-stream.js +312 -0
- package/core/data/units.js +312 -0
- package/core/data/uri-builder.js +315 -0
- package/core/data/wdac-operations.js +312 -0
- package/core/data/websocket-stream.js +312 -0
- package/core/diagnostics/error-monitor.js +312 -0
- package/core/diagnostics/log-level.js +312 -0
- package/core/diagnostics/log-record.js +312 -0
- package/core/diagnostics/logging-constants.js +312 -0
- package/core/diagnostics/logging.js +312 -0
- package/core/diagnostics/logging.mock.js +312 -0
- package/core/diagnostics/sme-web-telemetry-models.js +312 -0
- package/core/diagnostics/sme-web-telemetry.d.ts +1 -2
- package/core/diagnostics/sme-web-telemetry.d.ts.map +1 -1
- package/core/diagnostics/sme-web-telemetry.js +336 -15
- package/core/diagnostics/sme-web-telemetry.js.map +1 -1
- package/core/diagnostics/telemetry-control-type.js +312 -0
- package/core/diagnostics/telemetry-options.js +312 -0
- package/core/diagnostics/telemetry-record.js +312 -0
- package/core/dom/dom.js +312 -0
- package/core/frame/frame-connection.js +312 -0
- package/core/frame/frame-connection.mock.js +312 -0
- package/core/frame/shell-navigation-connection.js +312 -0
- package/core/generated/powershell-scripts.js +312 -0
- package/core/generated/strings.js +312 -0
- package/core/host/host-core-manager.js +312 -0
- package/core/host/host-core-message-type.js +312 -0
- package/core/host/host-core-messages.js +312 -0
- package/core/index.d.ts +0 -1
- package/core/index.d.ts.map +1 -1
- package/core/index.js +312 -1
- package/core/index.js.map +1 -1
- package/core/manifest/environment-modules.js +312 -0
- package/core/manifest/manifest-loader.js +312 -0
- package/core/notification/client-notification-instance.js +312 -0
- package/core/notification/client-notification.js +312 -0
- package/core/notification/notification-connection.js +312 -0
- package/core/notification/notification-link-type.js +312 -0
- package/core/notification/notification-manager.js +312 -0
- package/core/notification/notification-message.js +312 -0
- package/core/notification/notification-state.js +312 -0
- package/core/notification/notification.js +312 -0
- package/core/notification/powershell-notification.js +312 -0
- package/core/notification/socket-signalr.js +312 -0
- package/core/notification/work-item-connection.js +312 -0
- package/core/notification/work-item-manager.js +312 -0
- package/core/notification/work-item-request.js +312 -0
- package/core/performance/performance-profile-data-type.js +312 -0
- package/core/performance/performance-profile-data.js +312 -0
- package/core/performance/performance-profile-database.js +312 -0
- package/core/performance/performance-profile-record.js +312 -0
- package/core/performance/performance-profile.d.ts.map +1 -1
- package/core/performance/performance-profile.js +321 -9
- package/core/performance/performance-profile.js.map +1 -1
- package/core/performance/performance-tracker.js +312 -0
- package/core/polyfills.js +312 -0
- package/core/resources/scripts/public/crypto/Get-DecryptedDataFromNode.ps1 +216 -0
- package/core/resources/scripts/public/crypto/Get-EncryptionJWKOnNode.ps1 +216 -0
- package/core/resources/scripts/public/inventory/Get-CimWin32LogicalDisk.ps1 +218 -0
- package/core/resources/scripts/public/inventory/Get-CimWin32NetworkAdapter.ps1 +216 -0
- package/core/resources/scripts/public/inventory/Get-CimWin32PhysicalMemory.ps1 +216 -0
- package/core/resources/scripts/public/inventory/Get-CimWin32Processor.ps1 +216 -0
- package/core/resources/scripts/public/inventory/Get-ClusterInventory.ps1 +216 -0
- package/core/resources/scripts/public/inventory/Get-ClusterNodes.ps1 +216 -0
- package/core/resources/scripts/public/inventory/Get-ServerInventory.ps1 +216 -0
- package/core/rpc/alive/rpc-alive-client.js +312 -0
- package/core/rpc/alive/rpc-alive-handler.js +312 -0
- package/core/rpc/alive/rpc-alive-model.js +315 -0
- package/core/rpc/alive/rpc-alive-subject-server.js +312 -0
- package/core/rpc/alive/rpc-observable-alive-client.js +312 -0
- package/core/rpc/alive/rpc-observable-alive-model.js +312 -0
- package/core/rpc/alive/rpc-observable-alive-server.js +312 -0
- package/core/rpc/azure/rpc-azure-model.js +312 -0
- package/core/rpc/azure/rpc-azure-request-client.js +312 -0
- package/core/rpc/azure/rpc-azure-request-handler.js +312 -0
- package/core/rpc/azure/rpc-azure-request-subject-server.js +312 -0
- package/core/rpc/azure/rpc-azure-response-client.js +312 -0
- package/core/rpc/azure/rpc-azure-response-handler.js +315 -0
- package/core/rpc/credssp/rpc-credssp-model.js +312 -0
- package/core/rpc/credssp/rpc-credssp-request-client.js +312 -0
- package/core/rpc/credssp/rpc-credssp-request-handler.js +315 -0
- package/core/rpc/credssp/rpc-credssp-request-subject-server.js +312 -0
- package/core/rpc/credssp/rpc-credssp-response-client.js +312 -0
- package/core/rpc/credssp/rpc-credssp-response-handler.js +315 -0
- package/core/rpc/dialog/rpc-dialog-client.js +312 -0
- package/core/rpc/dialog/rpc-dialog-handler.js +312 -0
- package/core/rpc/dialog/rpc-dialog-model.js +312 -0
- package/core/rpc/dialog/rpc-dialog-subject-server.js +315 -0
- package/core/rpc/electron/rpc-electron-model.js +312 -0
- package/core/rpc/electron/rpc-electron-request-client.js +312 -0
- package/core/rpc/electron/rpc-electron-request-handler.js +312 -0
- package/core/rpc/electron/rpc-electron-request-subject-server.js +312 -0
- package/core/rpc/electron/rpc-electron-response-client.js +312 -0
- package/core/rpc/electron/rpc-electron-response-handler.js +312 -0
- package/core/rpc/elevate/rpc-observable-elevate-client.js +312 -0
- package/core/rpc/elevate/rpc-observable-elevate-model.js +312 -0
- package/core/rpc/elevate/rpc-observable-elevate-server.js +312 -0
- package/core/rpc/error-monitor/rpc-observable-error-monitor-client.js +312 -0
- package/core/rpc/error-monitor/rpc-observable-error-monitor-model.js +315 -0
- package/core/rpc/error-monitor/rpc-observable-error-monitor-server.js +312 -0
- package/core/rpc/extension-broker/rpc-extension-broker-model.js +315 -0
- package/core/rpc/extension-broker/rpc-extension-broker-module-request-subject-server.js +315 -0
- package/core/rpc/extension-broker/rpc-extension-broker-request-client.js +312 -0
- package/core/rpc/extension-broker/rpc-extension-broker-request-handler.js +312 -0
- package/core/rpc/extension-broker/rpc-extension-broker-request-subject-server.js +312 -0
- package/core/rpc/extension-broker/rpc-extension-broker-response-client.js +312 -0
- package/core/rpc/extension-broker/rpc-extension-broker-response-handler.js +312 -0
- package/core/rpc/extension-data/rpc-observable-extension-data-client.js +312 -0
- package/core/rpc/extension-data/rpc-observable-extension-data-model.js +312 -0
- package/core/rpc/extension-data/rpc-observable-extension-data-server.js +312 -0
- package/core/rpc/forward/rpc-forward-auto-client.js +312 -0
- package/core/rpc/forward/rpc-forward-down-client.js +315 -0
- package/core/rpc/forward/rpc-forward-down-handler.js +312 -0
- package/core/rpc/forward/rpc-forward-model.js +312 -0
- package/core/rpc/forward/rpc-forward-up-client.js +312 -0
- package/core/rpc/forward/rpc-forward-up-handler.js +312 -0
- package/core/rpc/forward/rpc-forward-up-subject-server.js +312 -0
- package/core/rpc/log/rpc-log-client.js +312 -0
- package/core/rpc/log/rpc-log-handler.js +312 -0
- package/core/rpc/log/rpc-log-model.js +312 -0
- package/core/rpc/log/rpc-log-subject-server.js +312 -0
- package/core/rpc/notification/rpc-notification-client.js +312 -0
- package/core/rpc/notification/rpc-notification-handler.js +312 -0
- package/core/rpc/notification/rpc-notification-model.js +312 -0
- package/core/rpc/notification/rpc-notification-subject-server.js +312 -0
- package/core/rpc/overlay/rpc-overlay-close-client.js +312 -0
- package/core/rpc/overlay/rpc-overlay-close-handler.js +312 -0
- package/core/rpc/overlay/rpc-overlay-model.js +312 -0
- package/core/rpc/overlay/rpc-overlay-open-client.js +315 -0
- package/core/rpc/overlay/rpc-overlay-open-handler.js +312 -0
- package/core/rpc/overlay/rpc-overlay-open-subject-server.js +312 -0
- package/core/rpc/performance/rpc-observable-performance-client.js +312 -0
- package/core/rpc/performance/rpc-observable-performance-config-client.js +312 -0
- package/core/rpc/performance/rpc-observable-performance-config-server.js +312 -0
- package/core/rpc/performance/rpc-observable-performance-model.js +312 -0
- package/core/rpc/performance/rpc-observable-performance-server.js +312 -0
- package/core/rpc/report/rpc-report-client.js +312 -0
- package/core/rpc/report/rpc-report-handler.js +312 -0
- package/core/rpc/report/rpc-report-model.js +312 -0
- package/core/rpc/report/rpc-report-subject-server.js +315 -0
- package/core/rpc/rpc-base.js +312 -0
- package/core/rpc/rpc-channel.js +312 -0
- package/core/rpc/rpc-forwarder.js +312 -0
- package/core/rpc/rpc-inbound-client.js +312 -0
- package/core/rpc/rpc-inbound.js +312 -0
- package/core/rpc/rpc-manager.js +312 -0
- package/core/rpc/rpc-module-subject-server.js +315 -0
- package/core/rpc/rpc-observable-client.js +312 -0
- package/core/rpc/rpc-observable-request.js +312 -0
- package/core/rpc/rpc-observable-result.js +312 -0
- package/core/rpc/rpc-observable-server.js +312 -0
- package/core/rpc/rpc-outbound-client.js +312 -0
- package/core/rpc/rpc-outbound.js +312 -0
- package/core/rpc/rpc-subject-server.js +312 -0
- package/core/rpc/rpc.js +312 -0
- package/core/rpc/seek/rpc-seek-client.js +312 -0
- package/core/rpc/seek/rpc-seek-handler.js +315 -0
- package/core/rpc/seek/rpc-seek-model.js +312 -0
- package/core/rpc/settings/rpc-settings-client.js +315 -0
- package/core/rpc/settings/rpc-settings-handler.js +312 -0
- package/core/rpc/settings/rpc-settings-model.js +312 -0
- package/core/rpc/settings/rpc-settings-subject-server.js +312 -0
- package/core/rpc/shell-navigate/rpc-shell-navigate-client.js +312 -0
- package/core/rpc/shell-navigate/rpc-shell-navigate-handler.js +312 -0
- package/core/rpc/shell-navigate/rpc-shell-navigate-model.js +312 -0
- package/core/rpc/shell-navigate/rpc-shell-navigate-subject-server.js +312 -0
- package/core/rpc/sme-extension/rpc-sme-extension-model.js +315 -0
- package/core/rpc/sme-extension/rpc-sme-extension-request-client.js +312 -0
- package/core/rpc/sme-extension/rpc-sme-extension-request-handler.js +312 -0
- package/core/rpc/sme-extension/rpc-sme-extension-request-subject-server.js +312 -0
- package/core/rpc/sme-extension/rpc-sme-extension-response-client.js +312 -0
- package/core/rpc/sme-extension/rpc-sme-extension-response-handler.js +312 -0
- package/core/rpc/telemetry/rpc-telemetry-client.js +312 -0
- package/core/rpc/telemetry/rpc-telemetry-handler.js +315 -0
- package/core/rpc/telemetry/rpc-telemetry-model.js +312 -0
- package/core/rpc/telemetry/rpc-telemetry-subject-server.js +312 -0
- package/core/rpc/update-data/rpc-update-data-client.js +312 -0
- package/core/rpc/update-data/rpc-update-data-handler.js +312 -0
- package/core/rpc/update-data/rpc-update-data-model.js +312 -0
- package/core/rpc/update-data/rpc-update-data-subject-server.js +312 -0
- package/core/rpc/update-theme/rpc-observable-update-theme-client.js +312 -0
- package/core/rpc/update-theme/rpc-observable-update-theme-model.js +312 -0
- package/core/rpc/update-theme/rpc-observable-update-theme-server.js +312 -0
- package/core/rpc/work-item/rpc-work-item-client.js +312 -0
- package/core/rpc/work-item/rpc-work-item-handler.js +312 -0
- package/core/rpc/work-item/rpc-work-item-model.js +312 -0
- package/core/rpc/work-item/rpc-work-item-subject-server.js +312 -0
- package/core/rpc/work-item-find/rpc-work-item-find-client.js +312 -0
- package/core/rpc/work-item-find/rpc-work-item-find-handler.js +312 -0
- package/core/rpc/work-item-find/rpc-work-item-find-model.js +312 -0
- package/core/rpc/work-item-find/rpc-work-item-find-subject-server.js +312 -0
- package/core/security/active-connection.js +312 -0
- package/core/security/authorization-manager.js +312 -0
- package/core/security/connection-manager-settings/common-connection-settings.js +315 -0
- package/core/security/connection-manager-settings/connection-settings.js +312 -0
- package/core/security/connection-manager.js +312 -0
- package/core/security/connection-stream.js +312 -0
- package/core/security/connection.js +312 -0
- package/core/security/credssp-manager.js +312 -0
- package/core/security/sign-on-manager.js +312 -0
- package/core/security/tag-manager.js +312 -0
- package/core/security/tool-condition-validator.js +312 -0
- package/core/security/tool-connection-query.js +312 -0
- package/core/security/user-principal.js +312 -0
- package/core/shared/cluster-inventory/cluster-inventory-cache.js +312 -0
- package/core/shared/cluster-inventory/cluster-inventory.js +312 -0
- package/core/shared/cluster-inventory/cluster-node-inventory.js +312 -0
- package/core/shared/gateway-inventory/gateway-inventory-cache.js +312 -0
- package/core/shared/gateway-inventory/gateway-inventory-detail-cache.js +312 -0
- package/core/shared/gateway-inventory/gateway-inventory-detail.js +312 -0
- package/core/shared/gateway-inventory/gateway-inventory.js +312 -0
- package/core/shared/inventory-query-caches.js +312 -0
- package/core/shared/server-inventory/server-inventory-cache.js +312 -0
- package/core/shared/server-inventory/server-inventory-detail-cache.js +312 -0
- package/core/shared/server-inventory/server-inventory-detail.js +315 -0
- package/core/shared/server-inventory/server-inventory.js +312 -0
- package/core/shared/shared-cache.js +312 -0
- package/core/shared/tool-inventory/tool-inventory-cache.js +312 -0
- package/core/shared/tool-inventory/tool-inventory.js +312 -0
- package/core/special.js +315 -0
- package/core/test-utilities/accessibility-tester.js +312 -0
- package/core/test-utilities/console.mock.js +312 -0
- package/core/test-utilities/jasmine-axe-matcher.js +312 -0
- package/core/test-utilities/wait-async.js +312 -0
- package/core/test.js +312 -0
- package/core/testing.js +312 -0
- package/core/workflow/persistent-local-storage.js +312 -0
- package/core/workflow/persistent-work-item-apply-state.js +316 -0
- package/core/workflow/persistent-work-item-state.js +312 -0
- package/core/workflow/persistent-work-item.js +315 -0
- package/core/workflow/persistent-workflow-builder.js +312 -0
- package/core/workflow/persistent-workflow-context.js +312 -0
- package/core/workflow/persistent-workflow-runner.js +312 -0
- package/core/workflow/persistent-workflow-snapshot.js +312 -0
- package/core/workflow/persistent-workflow-store.js +312 -0
- package/core/workflow/persistent-workflow.js +312 -0
- package/package.json +4 -4
- package/styles/fonts/SegoeUI/Bold/SegoeUIBold-5.27.woff +0 -0
- package/styles/fonts/SegoeUI/Light/SegoeUILight-5.27.woff +0 -0
- package/styles/fonts/SegoeUI/Normal/SegoeUI-5.27.woff +0 -0
- package/styles/fonts/SegoeUI/SemiBold/SegoeUISemiBold-5.27.woff +0 -0
- package/styles/fonts/SegoeUI/SemiLight/SegoeUISemiLight-5.27.woff +0 -0
- package/styles/fonts/ServMDL2/ServMDL2-4.66.woff +0 -0
- package/tools/build/webpack/index-html.transform.js +312 -0
- package/tools/build/webpack/shell.index-html.transform.js +312 -0
- package/tools/build/webpack/shell.webpack.config.js +312 -0
- package/tools/build/webpack/webpack.config.js +312 -0
- package/tools/code-formatter/.eslintrc.base.json +2 -1
- package/tools/code-formatter/lint.js +312 -0
- package/tools/code-formatter/utilities.js +316 -0
- package/tools/gulp-doc-generator/index.js +312 -0
- package/tools/gulp-manifest-resource/index.js +312 -0
- package/tools/gulp-manifest-validator/index.js +312 -0
- package/tools/gulp-merge-json-in-folders/index.js +312 -0
- package/tools/gulp-merge-json-in-folders/json-merge.js +312 -0
- package/tools/gulp-ps-cim/index.js +315 -0
- package/tools/gulp-ps-code/index.d.ts.map +1 -1
- package/tools/gulp-ps-code/index.js +323 -2
- package/tools/gulp-ps-code/index.js.map +1 -1
- package/tools/gulp-ps-code/ps-code-convert.js +312 -0
- package/tools/gulp-ps-manifest/index.js +312 -0
- package/tools/gulp-ps-module/index.d.ts.map +1 -1
- package/tools/gulp-ps-module/index.js +327 -3
- package/tools/gulp-ps-module/index.js.map +1 -1
- package/tools/gulp-ps-resjson/index.js +315 -0
- package/tools/gulp-resjson/index.js +315 -0
- package/tools/gulp-resjson/resjson-convert.js +312 -0
- package/tools/gulp-schema-form/index.js +312 -0
- package/tools/gulp-svg-code/index.js +312 -0
- package/tools/gulp-svg-code/svg-code-convert.js +312 -0
- package/tools/gulp-update-notes-resource/index.js +312 -0
- package/tools/module-template/build/increment-package-version.ps1 +216 -0
- package/tools/module-template/build/push-incremented-version.ps1 +216 -1
- package/tools/module-template/build/update-powershell-code.ps1 +216 -0
- package/tools/module-template/gulpfile.ts/common/clean.ts +2 -0
- package/tools/module-template/gulpfile.ts/common/pack.ts +17 -5
- package/tools/module-template/gulpfile.ts/common/powershell.ts +40 -2
- package/tools/pack-nuget/index.d.ts.map +1 -1
- package/tools/pack-nuget/index.js +321 -3
- package/tools/pack-nuget/index.js.map +1 -1
- package/tools/scripts/Invoke-PesterTest.ps1 +216 -0
- package/tools/scripts/New-ExtensionPackage.ps1 +373 -6
- package/tools/scripts/Search-NonAsciiText.ps1 +216 -0
- package/tools/scripts/package-information/README.md +3 -0
- package/tools/scripts/package-information/ms-logo.png +0 -0
- package/tools/test-runner/index.js +312 -0
- package/tools/utilities/index.js +312 -0
- package/tools/wac-cli/src/angular15/configs/angular-json-config.js +312 -0
- package/tools/wac-cli/src/angular15/configs/ci-build-yml-config.js +315 -0
- package/tools/wac-cli/src/angular15/configs/config.js +312 -0
- package/tools/wac-cli/src/angular15/configs/eslint-auto-fix-config.js +312 -0
- package/tools/wac-cli/src/angular15/configs/git-ignore-config.js +312 -0
- package/tools/wac-cli/src/angular15/configs/jasmine-test-config.js +315 -0
- package/tools/wac-cli/src/angular15/configs/package-json-config.js +312 -0
- package/tools/wac-cli/src/angular15/configs/replace-config.js +315 -0
- package/tools/wac-cli/src/angular15/configs/tsconfig-config.js +312 -0
- package/tools/wac-cli/src/angular15/configs/ui-test-automation-lagacy-config.js +312 -0
- package/tools/wac-cli/src/angular15/main.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/angular-json-upgrader.js +316 -0
- package/tools/wac-cli/src/angular15/upgrader/audit/ajax-response-updater.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/audit/css-syntax-error-updater.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/audit/declare-override-updater.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/audit/error-updater-angular15.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/audit/form-control-updater.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/audit/iif-updater-util.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/audit/load-children-callback-updater.js +315 -0
- package/tools/wac-cli/src/angular15/upgrader/audit/log-parser.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/audit/observable-throw-updater.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/audit/parameter-count-violation-updater.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/audit/string-replace-updater.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/audit/subjuct-next-updater-util.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/ci-build-yml-upgrader.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/eslint-auto-fix-upgrader.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/file-replacement-upgrader.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/git-ignore-upgrader.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/jasmine-test-upgrader.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/package-json-upgrader.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/remove-upgrader.js +315 -0
- package/tools/wac-cli/src/angular15/upgrader/replace-upgrader.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/tsconfig-upgrader.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/ui-test-automation-legacy-upgrader.js +312 -0
- package/tools/wac-cli/src/angular15/upgrader/version-json-upgrader.js +312 -0
- package/tools/wac-cli/src/angular15/utils/add-item.js +312 -0
- package/tools/wac-cli/src/angular15/utils/command-runner.js +312 -0
- package/tools/wac-cli/src/angular15/utils/file-comparison.js +315 -0
- package/tools/wac-cli/src/angular15/utils/file-replacement.js +312 -0
- package/tools/wac-cli/src/angular15/utils/file-writer.js +312 -0
- package/tools/wac-cli/src/angular15/utils/logger.js +312 -0
- package/tools/wac-cli/src/angular15/utils/main-debugger.js +312 -0
- package/tools/wac-cli/src/angular15/utils/relative-path.js +312 -0
- package/tools/wac-cli/src/angular15/utils/remove-item.js +312 -0
- package/tools/wac-cli/src/angular15/utils/space-generator.js +312 -0
- package/tools/wac-cli/src/angular15/utils/update-shell-references.js +316 -0
- package/tools/wac-cli/src/common.js +312 -0
- package/tools/wac-cli/src/create/main.js +312 -0
- package/tools/wac-cli/src/eslint/main.js +312 -0
- package/tools/wac-cli/src/index.js +312 -0
- package/tools/wac-cli/src/upgrade/error-updater.js +312 -0
- package/tools/wac-cli/src/upgrade/error-updaters/component-selector-updater.js +315 -0
- package/tools/wac-cli/src/upgrade/error-updaters/only-arrow-functions-updater.js +315 -0
- package/tools/wac-cli/src/upgrade/error-updaters/updater-lookup.js +312 -0
- package/tools/wac-cli/src/upgrade/file-updater.js +312 -0
- package/tools/wac-cli/src/upgrade/get-files.js +312 -0
- package/tools/wac-cli/src/upgrade/main.js +312 -0
- package/tools/wac-cli/src/upgrade/models/error-result.js +312 -0
- package/tools/wac-cli/src/upgrade/models/updater-interface.js +312 -0
- package/tools/wac-cli/src/upgrade/package-updater.js +312 -0
- package/tools/wac-cli/templates/wac-template/src/favicon.ico +0 -0
- package/tools/wac-cli/templates/wac-template/src/karma.conf.js +312 -0
- package/tools/wac-cli/templates/wac-template/src/resources/scripts/Get-Error.ps1 +216 -0
- package/tools/wac-cli/templates/wac-template/src/resources/scripts/Get-Exception.ps1 +216 -0
- package/tools/wac-cli/templates/wac-template/src/resources/scripts/Get-Process.ps1 +216 -1
- package/tools/wac-cli/templates/wac-template/src/resources/scripts/Get-Service.ps1 +216 -1
- package/tools/wac-cli/templates/wac-template/src/resources/scripts/Get-WinRmState.ps1 +216 -1
- package/core/data/extension-broker/snap-in-listener.d.ts.map +0 -1
- package/core/data/extension-broker/snap-in-listener.js +0 -73
- package/core/data/extension-broker/snap-in-listener.js.map +0 -1
- package/microsoft-windows-admin-center-sdk-4.167.0.tgz +0 -0
|
@@ -161,13 +161,13 @@ export class PerformanceProfile {
|
|
|
161
161
|
if (!powershell.sessionId) {
|
|
162
162
|
powershell.sessionId = response && response.properties && response.properties.sessionId;
|
|
163
163
|
if (!powershell.sessionId) {
|
|
164
|
-
powershell.sessionId = PerformanceProfile.getBetween(url, '
|
|
164
|
+
powershell.sessionId = PerformanceProfile.getBetween(url, '/pssessions/', '?');
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
return powershell;
|
|
168
168
|
}
|
|
169
169
|
static cimApi(url, body) {
|
|
170
|
-
if (url.indexOf('/features/cim/query') > 0) {
|
|
170
|
+
if (url.indexOf('/features/cim/query') > 0 || url.indexOf('/services/WinREST/CIM/query') > 0) {
|
|
171
171
|
try {
|
|
172
172
|
return JSON.parse(body);
|
|
173
173
|
}
|
|
@@ -244,10 +244,10 @@ export class PerformanceProfile {
|
|
|
244
244
|
status: batchStatus,
|
|
245
245
|
method: batchMethod
|
|
246
246
|
};
|
|
247
|
-
if (batchUrl.indexOf('/features/powershellApi/') > 0) {
|
|
247
|
+
if (batchUrl.indexOf('/features/powershellApi/') > 0 || batchUrl.indexOf('/services/WinREST/PowerShell/') > 0) {
|
|
248
248
|
batchItem.powershell = PerformanceProfile.powershellApi(batchUrl, batchBody, batchResponse);
|
|
249
249
|
}
|
|
250
|
-
else if (batchUrl.includes('/features/cim/query')) {
|
|
250
|
+
else if (batchUrl.includes('/features/cim/query') || batchUrl.includes('/services/WinREST/CIM/')) {
|
|
251
251
|
batchItem.cim = PerformanceProfile.cimApi(batchUrl, batchBody);
|
|
252
252
|
}
|
|
253
253
|
batch.push(batchItem);
|
|
@@ -265,7 +265,7 @@ export class PerformanceProfile {
|
|
|
265
265
|
if (index1 < 0) {
|
|
266
266
|
return null;
|
|
267
267
|
}
|
|
268
|
-
return source.substring(index0, index1
|
|
268
|
+
return source.substring(index0, index1);
|
|
269
269
|
}
|
|
270
270
|
enable(rpc) {
|
|
271
271
|
MsftSme.setPerformanceProfile(true);
|
|
@@ -405,11 +405,11 @@ export class PerformanceProfile {
|
|
|
405
405
|
const method = request.method;
|
|
406
406
|
const end = Date.now();
|
|
407
407
|
const start = request[startPropertyName];
|
|
408
|
-
if (url.indexOf('/features/powershellApi/') > 0) {
|
|
408
|
+
if (url.indexOf('/features/powershellApi/') > 0 || url.indexOf('/services/WinREST/PowerShell/') > 0) {
|
|
409
409
|
const powershell = PerformanceProfile.powershellApi(url, request.body, response.response);
|
|
410
410
|
PerformanceProfile.logXhrFetchPowerShell('Http', start, end, url, method, response.status, powershell);
|
|
411
411
|
}
|
|
412
|
-
else if (url.includes('/features/cim/')) {
|
|
412
|
+
else if (url.includes('/features/cim/') || url.includes('/services/WinREST/CIM')) {
|
|
413
413
|
const cim = PerformanceProfile.cimApi(url, request.body);
|
|
414
414
|
PerformanceProfile.logXhrFetchCim('Http', start, end, url, method, response.status, cim);
|
|
415
415
|
}
|
|
@@ -433,11 +433,11 @@ export class PerformanceProfile {
|
|
|
433
433
|
const end = Date.now();
|
|
434
434
|
const start = request[startPropertyName];
|
|
435
435
|
const message = Net.getErrorMessage(error);
|
|
436
|
-
if (url.indexOf('features/powershellApi') > 0) {
|
|
436
|
+
if (url.indexOf('features/powershellApi') > 0 || url.indexOf('/services/WinREST/PowerShell/') > 0) {
|
|
437
437
|
const powershell = PerformanceProfile.powershellApi(url, request.body, error.response);
|
|
438
438
|
PerformanceProfile.logXhrFetchPowerShell('Http', start, end, url, method, error.status, powershell, message);
|
|
439
439
|
}
|
|
440
|
-
else if (url.includes('/features/cim/')) {
|
|
440
|
+
else if (url.includes('/features/cim/') || url.includes('/services/WinREST/CIM/')) {
|
|
441
441
|
const cim = PerformanceProfile.cimApi(url, request.body);
|
|
442
442
|
PerformanceProfile.logXhrFetchCim('Http', start, end, url, method, error.status, cim, message);
|
|
443
443
|
}
|
|
@@ -527,3 +527,315 @@ export class PerformanceProfile {
|
|
|
527
527
|
}
|
|
528
528
|
|
|
529
529
|
//# sourceMappingURL=performance-profile.js.map
|
|
530
|
+
|
|
531
|
+
// SIG // Begin signature block
|
|
532
|
+
// SIG // MIInwAYJKoZIhvcNAQcCoIInsTCCJ60CAQExDzANBglg
|
|
533
|
+
// SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor
|
|
534
|
+
// SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC
|
|
535
|
+
// SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg
|
|
536
|
+
// SIG // WKB3p/kv6D5QfJO8CtOLGWUi/mtLt586w68obYvAFGOg
|
|
537
|
+
// SIG // gg12MIIF9DCCA9ygAwIBAgITMwAAA68wQA5Mo00FQQAA
|
|
538
|
+
// SIG // AAADrzANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJV
|
|
539
|
+
// SIG // UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
|
|
540
|
+
// SIG // UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
|
|
541
|
+
// SIG // cmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBT
|
|
542
|
+
// SIG // aWduaW5nIFBDQSAyMDExMB4XDTIzMTExNjE5MDkwMFoX
|
|
543
|
+
// SIG // DTI0MTExNDE5MDkwMFowdDELMAkGA1UEBhMCVVMxEzAR
|
|
544
|
+
// SIG // BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v
|
|
545
|
+
// SIG // bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
|
|
546
|
+
// SIG // bjEeMBwGA1UEAxMVTWljcm9zb2Z0IENvcnBvcmF0aW9u
|
|
547
|
+
// SIG // MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
|
|
548
|
+
// SIG // zkvLNa2un9GBrYNDoRGkGv7d0PqtTBB4ViYakFbjuWpm
|
|
549
|
+
// SIG // F0KcvDAzzaCWJPhVgIXjz+S8cHEoHuWnp/n+UOljT3eh
|
|
550
|
+
// SIG // A8Rs6Lb1aTYub3tB/e0txewv2sQ3yscjYdtTBtFvEm9L
|
|
551
|
+
// SIG // 8Yv76K3Cxzi/Yvrdg+sr7w8y5RHn1Am0Ff8xggY1xpWC
|
|
552
|
+
// SIG // XFI+kQM18njQDcUqSlwBnexYfqHBhzz6YXA/S0EziYBu
|
|
553
|
+
// SIG // 2O2mM7R6gSyYkEOHgIGTVOGnOvvC5xBgC4KNcnQuQSRL
|
|
554
|
+
// SIG // iUI2CmzU8vefR6ykruyzt1rNMPI8OqWHQtSDKXU5JNqb
|
|
555
|
+
// SIG // k4GNjwzcwbSzOHrxuxWHq91l/vLdVDGDUwIDAQABo4IB
|
|
556
|
+
// SIG // czCCAW8wHwYDVR0lBBgwFgYKKwYBBAGCN0wIAQYIKwYB
|
|
557
|
+
// SIG // BQUHAwMwHQYDVR0OBBYEFEcccTTyBDxkjvJKs/m4AgEF
|
|
558
|
+
// SIG // hl7BMEUGA1UdEQQ+MDykOjA4MR4wHAYDVQQLExVNaWNy
|
|
559
|
+
// SIG // b3NvZnQgQ29ycG9yYXRpb24xFjAUBgNVBAUTDTIzMDAx
|
|
560
|
+
// SIG // Mis1MDE4MjYwHwYDVR0jBBgwFoAUSG5k5VAF04KqFzc3
|
|
561
|
+
// SIG // IrVtqMp1ApUwVAYDVR0fBE0wSzBJoEegRYZDaHR0cDov
|
|
562
|
+
// SIG // L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWlj
|
|
563
|
+
// SIG // Q29kU2lnUENBMjAxMV8yMDExLTA3LTA4LmNybDBhBggr
|
|
564
|
+
// SIG // BgEFBQcBAQRVMFMwUQYIKwYBBQUHMAKGRWh0dHA6Ly93
|
|
565
|
+
// SIG // d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWlj
|
|
566
|
+
// SIG // Q29kU2lnUENBMjAxMV8yMDExLTA3LTA4LmNydDAMBgNV
|
|
567
|
+
// SIG // HRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4ICAQCEsRbf
|
|
568
|
+
// SIG // 80dn60xTweOWHZoWaQdpzSaDqIvqpYHE5ZzuEMJWDdcP
|
|
569
|
+
// SIG // 72MGw8v6BSaJQ+a+hTCXdERnIBDPKvU4ENjgu4EBJocH
|
|
570
|
+
// SIG // lSe8riiZUAR+z+z4OUYqoFd3EqJyfjjOJBR2z94Dy4ss
|
|
571
|
+
// SIG // 7LEkHUbj2NZiFqBoPYu2OGQvEk+1oaUsnNKZ7Nl7FHtV
|
|
572
|
+
// SIG // 7CI2lHBru83e4IPe3glIi0XVZJT5qV6Gx/QhAFmpEVBj
|
|
573
|
+
// SIG // SAmDdgII4UUwuI9yiX6jJFNOEek6MoeP06LMJtbqA3Bq
|
|
574
|
+
// SIG // +ZWmJ033F97uVpyaiS4bj3vFI/ZBgDnMqNDtZjcA2vi4
|
|
575
|
+
// SIG // RRMweggd9vsHyTLpn6+nXoLy03vMeebq0C3k44pgUIEu
|
|
576
|
+
// SIG // PQUlJIRTe6IrN3GcjaZ6zHGuQGWgu6SyO9r7qkrEpS2p
|
|
577
|
+
// SIG // RjnGZjx2RmCamdAWnDdu+DmfNEPAddYjaJJ7PTnd+PGz
|
|
578
|
+
// SIG // G+WeH4ocWgVnm5fJFhItjj70CJjgHqt57e1FiQcyWCwB
|
|
579
|
+
// SIG // hKX2rGgN2UICHBF3Q/rsKOspjMw2OlGphTn2KmFl5J7c
|
|
580
|
+
// SIG // Qxru54A9roClLnHGCiSUYos/iwFHI/dAVXEh0S0KKfTf
|
|
581
|
+
// SIG // M6AC6/9bCbsD61QLcRzRIElvgCgaiMWFjOBL99pemoEl
|
|
582
|
+
// SIG // AHsyzG6uX93fMfas09N9YzA0/rFAKAsNDOcFbQlEHKiD
|
|
583
|
+
// SIG // T7mI20tVoCcmSIhJATCCB3owggVioAMCAQICCmEOkNIA
|
|
584
|
+
// SIG // AAAAAAMwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYT
|
|
585
|
+
// SIG // AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
|
|
586
|
+
// SIG // EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
|
|
587
|
+
// SIG // cG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290
|
|
588
|
+
// SIG // IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDExMB4XDTEx
|
|
589
|
+
// SIG // MDcwODIwNTkwOVoXDTI2MDcwODIxMDkwOVowfjELMAkG
|
|
590
|
+
// SIG // A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
|
|
591
|
+
// SIG // BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
|
|
592
|
+
// SIG // dCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9zb2Z0
|
|
593
|
+
// SIG // IENvZGUgU2lnbmluZyBQQ0EgMjAxMTCCAiIwDQYJKoZI
|
|
594
|
+
// SIG // hvcNAQEBBQADggIPADCCAgoCggIBAKvw+nIQHC6t2G6q
|
|
595
|
+
// SIG // ghBNNLrytlghn0IbKmvpWlCquAY4GgRJun/DDB7dN2vG
|
|
596
|
+
// SIG // EtgL8DjCmQawyDnVARQxQtOJDXlkh36UYCRsr55JnOlo
|
|
597
|
+
// SIG // XtLfm1OyCizDr9mpK656Ca/XllnKYBoF6WZ26DJSJhIv
|
|
598
|
+
// SIG // 56sIUM+zRLdd2MQuA3WraPPLbfM6XKEW9Ea64DhkrG5k
|
|
599
|
+
// SIG // NXimoGMPLdNAk/jj3gcN1Vx5pUkp5w2+oBN3vpQ97/vj
|
|
600
|
+
// SIG // K1oQH01WKKJ6cuASOrdJXtjt7UORg9l7snuGG9k+sYxd
|
|
601
|
+
// SIG // 6IlPhBryoS9Z5JA7La4zWMW3Pv4y07MDPbGyr5I4ftKd
|
|
602
|
+
// SIG // gCz1TlaRITUlwzluZH9TupwPrRkjhMv0ugOGjfdf8NBS
|
|
603
|
+
// SIG // v4yUh7zAIXQlXxgotswnKDglmDlKNs98sZKuHCOnqWbs
|
|
604
|
+
// SIG // YR9q4ShJnV+I4iVd0yFLPlLEtVc/JAPw0XpbL9Uj43Bd
|
|
605
|
+
// SIG // D1FGd7P4AOG8rAKCX9vAFbO9G9RVS+c5oQ/pI0m8GLhE
|
|
606
|
+
// SIG // fEXkwcNyeuBy5yTfv0aZxe/CHFfbg43sTUkwp6uO3+xb
|
|
607
|
+
// SIG // n6/83bBm4sGXgXvt1u1L50kppxMopqd9Z4DmimJ4X7Iv
|
|
608
|
+
// SIG // hNdXnFy/dygo8e1twyiPLI9AN0/B4YVEicQJTMXUpUMv
|
|
609
|
+
// SIG // dJX3bvh4IFgsE11glZo+TzOE2rCIF96eTvSWsLxGoGyY
|
|
610
|
+
// SIG // 0uDWiIwLAgMBAAGjggHtMIIB6TAQBgkrBgEEAYI3FQEE
|
|
611
|
+
// SIG // AwIBADAdBgNVHQ4EFgQUSG5k5VAF04KqFzc3IrVtqMp1
|
|
612
|
+
// SIG // ApUwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYD
|
|
613
|
+
// SIG // VR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j
|
|
614
|
+
// SIG // BBgwFoAUci06AjGQQ7kUBU7h6qfHMdEjiTQwWgYDVR0f
|
|
615
|
+
// SIG // BFMwUTBPoE2gS4ZJaHR0cDovL2NybC5taWNyb3NvZnQu
|
|
616
|
+
// SIG // Y29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0
|
|
617
|
+
// SIG // MjAxMV8yMDExXzAzXzIyLmNybDBeBggrBgEFBQcBAQRS
|
|
618
|
+
// SIG // MFAwTgYIKwYBBQUHMAKGQmh0dHA6Ly93d3cubWljcm9z
|
|
619
|
+
// SIG // b2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0MjAx
|
|
620
|
+
// SIG // MV8yMDExXzAzXzIyLmNydDCBnwYDVR0gBIGXMIGUMIGR
|
|
621
|
+
// SIG // BgkrBgEEAYI3LgMwgYMwPwYIKwYBBQUHAgEWM2h0dHA6
|
|
622
|
+
// SIG // Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvZG9jcy9w
|
|
623
|
+
// SIG // cmltYXJ5Y3BzLmh0bTBABggrBgEFBQcCAjA0HjIgHQBM
|
|
624
|
+
// SIG // AGUAZwBhAGwAXwBwAG8AbABpAGMAeQBfAHMAdABhAHQA
|
|
625
|
+
// SIG // ZQBtAGUAbgB0AC4gHTANBgkqhkiG9w0BAQsFAAOCAgEA
|
|
626
|
+
// SIG // Z/KGpZjgVHkaLtPYdGcimwuWEeFjkplCln3SeQyQwWVf
|
|
627
|
+
// SIG // Liw++MNy0W2D/r4/6ArKO79HqaPzadtjvyI1pZddZYSQ
|
|
628
|
+
// SIG // fYtGUFXYDJJ80hpLHPM8QotS0LD9a+M+By4pm+Y9G6XU
|
|
629
|
+
// SIG // tR13lDni6WTJRD14eiPzE32mkHSDjfTLJgJGKsKKELuk
|
|
630
|
+
// SIG // qQUMm+1o+mgulaAqPyprWEljHwlpblqYluSD9MCP80Yr
|
|
631
|
+
// SIG // 3vw70L01724lruWvJ+3Q3fMOr5kol5hNDj0L8giJ1h/D
|
|
632
|
+
// SIG // Mhji8MUtzluetEk5CsYKwsatruWy2dsViFFFWDgycSca
|
|
633
|
+
// SIG // f7H0J/jeLDogaZiyWYlobm+nt3TDQAUGpgEqKD6CPxNN
|
|
634
|
+
// SIG // ZgvAs0314Y9/HG8VfUWnduVAKmWjw11SYobDHWM2l4bf
|
|
635
|
+
// SIG // 2vP48hahmifhzaWX0O5dY0HjWwechz4GdwbRBrF1HxS+
|
|
636
|
+
// SIG // YWG18NzGGwS+30HHDiju3mUv7Jf2oVyW2ADWoUa9WfOX
|
|
637
|
+
// SIG // pQlLSBCZgB/QACnFsZulP0V3HjXG0qKin3p6IvpIlR+r
|
|
638
|
+
// SIG // +0cjgPWe+L9rt0uX4ut1eBrs6jeZeRhL/9azI2h15q/6
|
|
639
|
+
// SIG // /IvrC4DqaTuv/DDtBEyO3991bWORPdGdVk5Pv4BXIqF4
|
|
640
|
+
// SIG // ETIheu9BCrE/+6jMpF3BoYibV3FWTkhFwELJm3ZbCoBI
|
|
641
|
+
// SIG // a/15n8G9bW1qyVJzEw16UM0xghmiMIIZngIBATCBlTB+
|
|
642
|
+
// SIG // MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv
|
|
643
|
+
// SIG // bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
|
|
644
|
+
// SIG // cm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNy
|
|
645
|
+
// SIG // b3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExAhMzAAAD
|
|
646
|
+
// SIG // rzBADkyjTQVBAAAAAAOvMA0GCWCGSAFlAwQCAQUAoIGu
|
|
647
|
+
// SIG // MBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisG
|
|
648
|
+
// SIG // AQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3
|
|
649
|
+
// SIG // DQEJBDEiBCBAgynJ/hKrHa51Hmml8pliDpsaGQkVZeQq
|
|
650
|
+
// SIG // QU2tGdeFzjBCBgorBgEEAYI3AgEMMTQwMqAUgBIATQBp
|
|
651
|
+
// SIG // AGMAcgBvAHMAbwBmAHShGoAYaHR0cDovL3d3dy5taWNy
|
|
652
|
+
// SIG // b3NvZnQuY29tMA0GCSqGSIb3DQEBAQUABIIBAMTsgxvH
|
|
653
|
+
// SIG // jE6CQ0lpahJlz70taF5e9kWJ77A+/ykRUWaf79NQwkLH
|
|
654
|
+
// SIG // 6UuUoRiAbYIqVy8u+7xZpe0/+JEXFYIxYAdM1lNAswy+
|
|
655
|
+
// SIG // 1KMpHPOC9BRhTx8Mu5YJUXpbO8I045r9b950rJkdwQCn
|
|
656
|
+
// SIG // E9hxd2u/sFlKek1Mh/OCdPzc6UCYl6wZKacLw+zXW+kG
|
|
657
|
+
// SIG // jbf4lkii14/zkLo8f7nSre4aCJhQm3tNR50yyPZEVUQO
|
|
658
|
+
// SIG // gNOm7QAYshKZzW7wesLOLc/9vHdP9VCoeXKn7N6/Bd+i
|
|
659
|
+
// SIG // M8gnw9T9cwiuyJy6yJ1pX0YqVvt1DeurxI84mWSLVk9j
|
|
660
|
+
// SIG // N1cXLZW6P6Jlx81Zlj75rewTz06hghcsMIIXKAYKKwYB
|
|
661
|
+
// SIG // BAGCNwMDATGCFxgwghcUBgkqhkiG9w0BBwKgghcFMIIX
|
|
662
|
+
// SIG // AQIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBWQYLKoZIhvcN
|
|
663
|
+
// SIG // AQkQAQSgggFIBIIBRDCCAUACAQEGCisGAQQBhFkKAwEw
|
|
664
|
+
// SIG // MTANBglghkgBZQMEAgEFAAQgl1YbevdlQ5HEW7vdDDDu
|
|
665
|
+
// SIG // T/70jj4kpEePDiudWB9Q6kcCBmZzCFJD9BgTMjAyNDA2
|
|
666
|
+
// SIG // MjcwNjI0NDYuMTk5WjAEgAIB9KCB2KSB1TCB0jELMAkG
|
|
667
|
+
// SIG // A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
|
|
668
|
+
// SIG // BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
|
|
669
|
+
// SIG // dCBDb3Jwb3JhdGlvbjEtMCsGA1UECxMkTWljcm9zb2Z0
|
|
670
|
+
// SIG // IElyZWxhbmQgT3BlcmF0aW9ucyBMaW1pdGVkMSYwJAYD
|
|
671
|
+
// SIG // VQQLEx1UaGFsZXMgVFNTIEVTTjpGQzQxLTRCRDQtRDIy
|
|
672
|
+
// SIG // MDElMCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAg
|
|
673
|
+
// SIG // U2VydmljZaCCEXswggcnMIIFD6ADAgECAhMzAAAB4pmZ
|
|
674
|
+
// SIG // lfHc4yDrAAEAAAHiMA0GCSqGSIb3DQEBCwUAMHwxCzAJ
|
|
675
|
+
// SIG // BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAw
|
|
676
|
+
// SIG // DgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3Nv
|
|
677
|
+
// SIG // ZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m
|
|
678
|
+
// SIG // dCBUaW1lLVN0YW1wIFBDQSAyMDEwMB4XDTIzMTAxMjE5
|
|
679
|
+
// SIG // MDcyNVoXDTI1MDExMDE5MDcyNVowgdIxCzAJBgNVBAYT
|
|
680
|
+
// SIG // AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
|
|
681
|
+
// SIG // EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
|
|
682
|
+
// SIG // cG9yYXRpb24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVs
|
|
683
|
+
// SIG // YW5kIE9wZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMd
|
|
684
|
+
// SIG // VGhhbGVzIFRTUyBFU046RkM0MS00QkQ0LUQyMjAxJTAj
|
|
685
|
+
// SIG // BgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZp
|
|
686
|
+
// SIG // Y2UwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
|
|
687
|
+
// SIG // AQC1Y7WYVfpBZm/HCkKYNps4rA5USPe/Bm9mphr2wJgn
|
|
688
|
+
// SIG // dOCVRnk3v0BszPCm0KzA6Jewwu40tNyZHKz7FovVqVcL
|
|
689
|
+
// SIG // CHJEUPAJF9YnQRvR4cgrKQGr37r8+eZIZe26z0Mex/fV
|
|
690
|
+
// SIG // CW7BN8DJqZiWrD1qYBdOc2Zb6VkA1Cw3CGMpeZVyOB1W
|
|
691
|
+
// SIG // eTejEsVjvM8Fq+K/cZDJlF7OyAsQya+Wt/UknjwCUSMs
|
|
692
|
+
// SIG // 52iHNFs2ejBXE0cyyzcjwROCq1b9SxXfehTcQM8J3rUn
|
|
693
|
+
// SIG // j4PPBJkXs69k9x0xRJZ3iV8kGHemEO3giHO8pZVqGNNw
|
|
694
|
+
// SIG // hIPYIaK6falCnAVHxXEuFxJX9xkhEZ5cybCu7P2Rj1OH
|
|
695
|
+
// SIG // Wh09o1hqGIWtkAjppIIzpgRQqkBRcBZrD62Y+HkLM2Ma
|
|
696
|
+
// SIG // uHOB6j51LuIU+Gqqb1Gd6iDl23clONqTS/d3J9Kz005X
|
|
697
|
+
// SIG // jlLDkG4L5UXbYRQgXqcX2+p27Kd33GWjwX027V1WvJy0
|
|
698
|
+
// SIG // LjAgasn7Hm7qp28I/pR0H6iqYr6cneyglgAqI+/F1MGK
|
|
699
|
+
// SIG // stR8mJ0rU5nuE/byurtjvyk4X0TniR4koOOMphY/t+CH
|
|
700
|
+
// SIG // BRIT6IGirzTbE1ZuEG6qYQspJ68AcqqKwQix+m5ZUbST
|
|
701
|
+
// SIG // CcJruxkXU0LCMdhzCqqYRLaUptc97nwEnT64D4bECERZ
|
|
702
|
+
// SIG // B2RrooS9SY4+C7twmwJoWtJTqwIDAQABo4IBSTCCAUUw
|
|
703
|
+
// SIG // HQYDVR0OBBYEFESEDhHavu0HbJabSYgkTaV4CdoFMB8G
|
|
704
|
+
// SIG // A1UdIwQYMBaAFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMF8G
|
|
705
|
+
// SIG // A1UdHwRYMFYwVKBSoFCGTmh0dHA6Ly93d3cubWljcm9z
|
|
706
|
+
// SIG // b2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMFRp
|
|
707
|
+
// SIG // bWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNybDBsBggr
|
|
708
|
+
// SIG // BgEFBQcBAQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6Ly93
|
|
709
|
+
// SIG // d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWlj
|
|
710
|
+
// SIG // cm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAo
|
|
711
|
+
// SIG // MSkuY3J0MAwGA1UdEwEB/wQCMAAwFgYDVR0lAQH/BAww
|
|
712
|
+
// SIG // CgYIKwYBBQUHAwgwDgYDVR0PAQH/BAQDAgeAMA0GCSqG
|
|
713
|
+
// SIG // SIb3DQEBCwUAA4ICAQDkVEQxq1UU257pX7INnE7Msoe2
|
|
714
|
+
// SIG // F74VVOzWTJCEwEGLBRD1YL0r4gspa+Wqd5Gu+mM9Lf+p
|
|
715
|
+
// SIG // cbnMyOsO7V6vJ+FsVFIHI+cAIZzaK4Zw/JY2Km3JN+34
|
|
716
|
+
// SIG // IGCt/sBMC4T9Txgubb1ytMWKJlNZ1PpVzsvWUZ0oSPx2
|
|
717
|
+
// SIG // XRa8NrK4LbG1qMPTjLgA0uZYO6JK12tnWgjhp8bmg9SD
|
|
718
|
+
// SIG // vuuRO6r9jtFtLBo+wFnTozXaXsT67KS9ihHDjHiVZpJP
|
|
719
|
+
// SIG // ztIGp4Rc8xwJ1o7TVp3lNdVkOgcb/DqTdX2PcM0KIsnI
|
|
720
|
+
// SIG // LzjiTPd6HeeRBnl8XxfG6Hy1ZVBN8yIpKEnnfvLOtTQz
|
|
721
|
+
// SIG // /sfUTMmtpsCv2LNcXbw5WUx53SCrLH5rt77v2vgRX9ri
|
|
722
|
+
// SIG // KMnFU7wUKb/3a0SQ+vHqONNZpAkRZJsv/gZkJUa8dq2q
|
|
723
|
+
// SIG // agLuZNDXr/olHQVCpl/4jmime+b7kIO4QogQOcSJuWSF
|
|
724
|
+
// SIG // w0pV+O8MBWq9/wYE8J7TKva2ukEQHkv6P7mFpJr6rxPA
|
|
725
|
+
// SIG // Kt/EJioE4gZ1kkv7lT3GhxMgK58hYeRvqnghpi+ODHxJ
|
|
726
|
+
// SIG // xRIcXN7Gj5l4XujIUoAiBiVGQwO99+p0A/H5+Muud+C3
|
|
727
|
+
// SIG // pfi7k+ReWxbdJi8Hfh+RsRszm2Zpv3N6RFrR79boO3Uv
|
|
728
|
+
// SIG // w363HdbJ9hOIJOFtS9Y3UQWyvccJDJsGPgh2XjErwTCC
|
|
729
|
+
// SIG // B3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUw
|
|
730
|
+
// SIG // DQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMw
|
|
731
|
+
// SIG // EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
|
|
732
|
+
// SIG // b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp
|
|
733
|
+
// SIG // b24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRp
|
|
734
|
+
// SIG // ZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTIxMDkzMDE4
|
|
735
|
+
// SIG // MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkGA1UEBhMC
|
|
736
|
+
// SIG // VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT
|
|
737
|
+
// SIG // B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
|
|
738
|
+
// SIG // b3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUt
|
|
739
|
+
// SIG // U3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUA
|
|
740
|
+
// SIG // A4ICDwAwggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC
|
|
741
|
+
// SIG // 0/3unAcH0qlsTnXIyjVX9gF/bErg4r25PhdgM/9cT8dm
|
|
742
|
+
// SIG // 95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNE
|
|
743
|
+
// SIG // t6aORmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZT
|
|
744
|
+
// SIG // fDlhAnrEqv1yaa8dq6z2Nr41JmTamDu6GnszrYBbfowQ
|
|
745
|
+
// SIG // HJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5
|
|
746
|
+
// SIG // LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVV
|
|
747
|
+
// SIG // mG1oO5pGve2krnopN6zL64NF50ZuyjLVwIYwXE8s4mKy
|
|
748
|
+
// SIG // zbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9QZpG
|
|
749
|
+
// SIG // dc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2
|
|
750
|
+
// SIG // TPYrbqgSUei/BQOj0XOmTTd0lBw0gg/wEPK3Rxjtp+iZ
|
|
751
|
+
// SIG // fD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqEUUbi0b1q
|
|
752
|
+
// SIG // GFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSL
|
|
753
|
+
// SIG // W6CmgyFdXzB0kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLU
|
|
754
|
+
// SIG // HMVr9lxSUV0S2yW6r1AFemzFER1y7435UsSFF5PAPBXb
|
|
755
|
+
// SIG // GjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQID
|
|
756
|
+
// SIG // AQABo4IB3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAj
|
|
757
|
+
// SIG // BgkrBgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxGNSnPEP8v
|
|
758
|
+
// SIG // BO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1Gely
|
|
759
|
+
// SIG // MFwGA1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYI
|
|
760
|
+
// SIG // KwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNv
|
|
761
|
+
// SIG // bS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNV
|
|
762
|
+
// SIG // HSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4K
|
|
763
|
+
// SIG // AFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/
|
|
764
|
+
// SIG // BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2U
|
|
765
|
+
// SIG // kFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8v
|
|
766
|
+
// SIG // Y3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0
|
|
767
|
+
// SIG // cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYI
|
|
768
|
+
// SIG // KwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8v
|
|
769
|
+
// SIG // d3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jv
|
|
770
|
+
// SIG // b0NlckF1dF8yMDEwLTA2LTIzLmNydDANBgkqhkiG9w0B
|
|
771
|
+
// SIG // AQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwU
|
|
772
|
+
// SIG // tj5OR2R4sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTC
|
|
773
|
+
// SIG // j/ts0aGUGCLu6WZnOlNN3Zi6th542DYunKmCVgADsAW+
|
|
774
|
+
// SIG // iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhT
|
|
775
|
+
// SIG // dSRXud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYS
|
|
776
|
+
// SIG // EhFdPSfgQJY4rPf5KYnDvBewVIVCs/wMnosZiefwC2qB
|
|
777
|
+
// SIG // woEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0
|
|
778
|
+
// SIG // DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxy
|
|
779
|
+
// SIG // bxCrdTDFNLB62FD+CljdQDzHVG2dY3RILLFORy3BFARx
|
|
780
|
+
// SIG // v2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFrDZ+k
|
|
781
|
+
// SIG // KNxnGSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2
|
|
782
|
+
// SIG // tVdUCbFpAUR+fKFhbHP+CrvsQWY9af3LwUFJfn6Tvsv4
|
|
783
|
+
// SIG // O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7ntdAoGokL
|
|
784
|
+
// SIG // jzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTm
|
|
785
|
+
// SIG // dHRbatGePu1+oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/Z
|
|
786
|
+
// SIG // cGNTTY3ugm2lBRDBcQZqELQdVTNYs6FwZvKhggLXMIIC
|
|
787
|
+
// SIG // QAIBATCCAQChgdikgdUwgdIxCzAJBgNVBAYTAlVTMRMw
|
|
788
|
+
// SIG // EQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
|
|
789
|
+
// SIG // b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRp
|
|
790
|
+
// SIG // b24xLTArBgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9w
|
|
791
|
+
// SIG // ZXJhdGlvbnMgTGltaXRlZDEmMCQGA1UECxMdVGhhbGVz
|
|
792
|
+
// SIG // IFRTUyBFU046RkM0MS00QkQ0LUQyMjAxJTAjBgNVBAMT
|
|
793
|
+
// SIG // HE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiIwoB
|
|
794
|
+
// SIG // ATAHBgUrDgMCGgMVABabmWn6dG56SXSIX4gdXfKU6IZv
|
|
795
|
+
// SIG // oIGDMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
|
|
796
|
+
// SIG // Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc
|
|
797
|
+
// SIG // BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQG
|
|
798
|
+
// SIG // A1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIw
|
|
799
|
+
// SIG // MTAwDQYJKoZIhvcNAQEFBQACBQDqJ2loMCIYDzIwMjQw
|
|
800
|
+
// SIG // NjI3MTIzMDMyWhgPMjAyNDA2MjgxMjMwMzJaMHcwPQYK
|
|
801
|
+
// SIG // KwYBBAGEWQoEATEvMC0wCgIFAOonaWgCAQAwCgIBAAIC
|
|
802
|
+
// SIG // Ao4CAf8wBwIBAAICEeAwCgIFAOoouugCAQAwNgYKKwYB
|
|
803
|
+
// SIG // BAGEWQoEAjEoMCYwDAYKKwYBBAGEWQoDAqAKMAgCAQAC
|
|
804
|
+
// SIG // AwehIKEKMAgCAQACAwGGoDANBgkqhkiG9w0BAQUFAAOB
|
|
805
|
+
// SIG // gQBQyeCEzACVqiOvZWAx7Wc8WHLpwEgKOi0Xe6Kd80RG
|
|
806
|
+
// SIG // 9jyjcEP9urmBfJ6azBn/zVcd7CBLrXZsFVz+i4bUP/TW
|
|
807
|
+
// SIG // pcmL0CdzuKWcWXQk/yrCGOK8JlyLJG2SRcmPIDNnpjR2
|
|
808
|
+
// SIG // EUnVtiVaZKMVRzNGFN3CMhNLsOjaZpjqkCITWLLaCjGC
|
|
809
|
+
// SIG // BA0wggQJAgEBMIGTMHwxCzAJBgNVBAYTAlVTMRMwEQYD
|
|
810
|
+
// SIG // VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
|
|
811
|
+
// SIG // MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x
|
|
812
|
+
// SIG // JjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBD
|
|
813
|
+
// SIG // QSAyMDEwAhMzAAAB4pmZlfHc4yDrAAEAAAHiMA0GCWCG
|
|
814
|
+
// SIG // SAFlAwQCAQUAoIIBSjAaBgkqhkiG9w0BCQMxDQYLKoZI
|
|
815
|
+
// SIG // hvcNAQkQAQQwLwYJKoZIhvcNAQkEMSIEIMVMMlS7roo5
|
|
816
|
+
// SIG // 8TsHpbmq9lyGTutsUo91nS9g0zirhwl8MIH6BgsqhkiG
|
|
817
|
+
// SIG // 9w0BCRACLzGB6jCB5zCB5DCBvQQgK4kqShD9JrjGwVBE
|
|
818
|
+
// SIG // zg6C+HeS1OiP247nCGZDiQiPf/8wgZgwgYCkfjB8MQsw
|
|
819
|
+
// SIG // CQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQ
|
|
820
|
+
// SIG // MA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9z
|
|
821
|
+
// SIG // b2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3Nv
|
|
822
|
+
// SIG // ZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAeKZmZXx
|
|
823
|
+
// SIG // 3OMg6wABAAAB4jAiBCAq2C6RW0ycut78mQElOP3ebV+g
|
|
824
|
+
// SIG // 6hNsN4Pb+nSNUOzoJzANBgkqhkiG9w0BAQsFAASCAgBN
|
|
825
|
+
// SIG // jLSEinqnUehoTcE0bqbRRdGbqFt+6oY357UuW/oNrN0W
|
|
826
|
+
// SIG // mPvLkB9/fSS/wf0CCg/ggpNqqXCIJU3sL4d6TVcoZzJ2
|
|
827
|
+
// SIG // H4jj88KU+JGSbOJcbvw+rmGYGF472NEgHL9ZHis9xynU
|
|
828
|
+
// SIG // hIxKuzu3uMxVr/fxgMf7p+QV2ZcoBr9dXewwaOvGBQEU
|
|
829
|
+
// SIG // 2KoQWoiiAbI3/BMVkmQTYbv0ApWngk5qzyiQszoupZCO
|
|
830
|
+
// SIG // ltiQIqwGJXdQ5qzKS/dGwDV0nDXRb1Y2bDJseJJpMnkT
|
|
831
|
+
// SIG // cvWsEj91+mpE7fsVZmPF7j5YuV9G6hhg+WMSMeVLcjZ0
|
|
832
|
+
// SIG // MLJ4Ogk5zRkcTglPuYKOI+Ubds7gtpoC5cvDDqVNHI1/
|
|
833
|
+
// SIG // VeL6Meqm3H8aszWsF/GsO6xeLrcjE7w0gm1iQ7O3RtRO
|
|
834
|
+
// SIG // L8q8GwF8MR8Cg+uYj2JyCK+vkEfxtpRCrU+/xtcTqb8M
|
|
835
|
+
// SIG // ZSClwpcs8A6TH5gIogRHH4DZPkG+Wo3N6S+ceUVMpAiv
|
|
836
|
+
// SIG // XWWuWdS10oBR2MBOeNVpE7IZnPGDur74XnI6h+KNwM1p
|
|
837
|
+
// SIG // yb6CDhjzT6p6OtAdAk8x0gGkmtn+8FmoWZXqqjaclwry
|
|
838
|
+
// SIG // AzCPHDkoUzWJiAb6SVZdm99n/rqWwwACw/XvBFIIREmP
|
|
839
|
+
// SIG // 8kOM0QNhKwijmP4l+/vGGartCUy7yN4WH4MDvcH2XQze
|
|
840
|
+
// SIG // Mm4+6+Y6rLg+DRO7UWwShA==
|
|
841
|
+
// SIG // End signature block
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../packages/core/performance/performance-profile.ts"],"names":[],"mappings":"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","file":"performance-profile.js","sourcesContent":["import { of, Subscription, throwError } from 'rxjs';\r\nimport { AjaxError, AjaxRequest, AjaxResponse } from 'rxjs/ajax';\r\nimport { filter, map, take } from 'rxjs/operators';\r\nimport { CimResultFormat, CimStream, CimStreamMonitorSetContext, CimStreamOptions, CimStreamRequestData } from '../data/cim-stream';\r\nimport { Http } from '../data/http';\r\nimport { Net } from '../data/net';\r\nimport { PowerShellCommand } from '../data/powershell';\r\nimport { PowerShellStream, PowerShellStreamMonitorSetContext, PowerShellStreamOptions } from '../data/powershell-stream';\r\nimport { WebsocketStreamDataRequestState } from '../data/websocket-stream';\r\nimport { Logging } from '../diagnostics/logging';\r\nimport { RpcObservablePerformanceClient } from '../rpc/performance/rpc-observable-performance-client';\r\nimport { RpcObservablePerformanceConfigClient } from '../rpc/performance/rpc-observable-performance-config-client';\r\nimport { RpcObservablePerformanceServer } from '../rpc/performance/rpc-observable-performance-server';\r\nimport { Rpc } from '../rpc/rpc';\r\nimport {\r\n PerformanceProfileData, PerformanceProfileDataCim, PerformanceProfileDataPowerShell, PerformanceProfileXhrFetch\r\n} from './performance-profile-data';\r\nimport { PerformanceProfileDataType } from './performance-profile-data-type';\r\nimport { PerformanceProfileDatabase } from './performance-profile-database';\r\nimport { PerformanceProfileRecord } from './performance-profile-record';\r\n\r\ninterface PowerShellStreamContext {\r\n id: number;\r\n start: number;\r\n progressStart: number;\r\n progressEnd?: number;\r\n count: number;\r\n itemCount: number;\r\n}\r\n\r\ninterface CimStreamContext {\r\n id: number;\r\n start: number;\r\n progressStart: number;\r\n progressEnd?: number;\r\n count: number;\r\n itemCount: number;\r\n}\r\n\r\n/**\r\n * Performance measurement class.\r\n */\r\nexport class PerformanceProfile {\r\n private static monitorName = 'PerformanceProfile';\r\n private static instance: PerformanceProfile;\r\n\r\n private database: PerformanceProfileDatabase = null;\r\n private rpc: Rpc;\r\n private rpcObservablePerformanceClient: RpcObservablePerformanceClient;\r\n private rpcObservablePerformanceServer: RpcObservablePerformanceServer;\r\n private subscription: Subscription;\r\n private moduleVersionMap: { [index: string]: string } = {};\r\n private rpcObservablePerformanceConfigClient: RpcObservablePerformanceConfigClient;\r\n\r\n /**\r\n * Gets the current PerformanceProfile instance.\r\n */\r\n public static get current(): PerformanceProfile {\r\n if (PerformanceProfile.instance) {\r\n return PerformanceProfile.instance;\r\n }\r\n\r\n PerformanceProfile.instance = new PerformanceProfile();\r\n return PerformanceProfile.instance;\r\n }\r\n\r\n public static get database(): PerformanceProfileDatabase {\r\n return PerformanceProfile.current.database;\r\n }\r\n\r\n /**\r\n * Record Route navigation performance measurement.\r\n */\r\n public static logRouteNavigation(\r\n source: string,\r\n start: number,\r\n end: number,\r\n url: string,\r\n target?: string,\r\n errorMessage?: string): void {\r\n const data: PerformanceProfileData = {\r\n source,\r\n start,\r\n end,\r\n errorMessage,\r\n type: PerformanceProfileDataType.RouteNavigation,\r\n routeNavigation: { url, target }\r\n };\r\n PerformanceProfile.current.log(data);\r\n }\r\n\r\n /**\r\n * Record Null packet.\r\n */\r\n public static logNull(source: string): void {\r\n const data: PerformanceProfileData = {\r\n source,\r\n start: 0,\r\n end: 0,\r\n errorMessage: null,\r\n type: PerformanceProfileDataType.Null\r\n };\r\n PerformanceProfile.current.logAnyway(data);\r\n }\r\n\r\n /**\r\n * Record XHR or Fetch performance measurement for PowerShell.\r\n */\r\n private static logXhrFetchPowerShell(\r\n source: string,\r\n start: number,\r\n end: number,\r\n url: string,\r\n method: string,\r\n status: number,\r\n powershell: PerformanceProfileDataPowerShell,\r\n errorMessage?: string): void {\r\n const data: PerformanceProfileData = {\r\n source,\r\n start,\r\n end,\r\n errorMessage,\r\n type: PerformanceProfileDataType.XhrFetch,\r\n xhrFetch: { url, method, status, powershell }\r\n };\r\n PerformanceProfile.current.log(data);\r\n }\r\n\r\n /**\r\n * Record XHR or Fetch performance measurement for CIM.\r\n */\r\n private static logXhrFetchCim(\r\n source: string,\r\n start: number,\r\n end: number,\r\n url: string,\r\n method: string,\r\n status: number,\r\n cim: PerformanceProfileDataCim,\r\n errorMessage?: string): void {\r\n const data: PerformanceProfileData = {\r\n source,\r\n start,\r\n end,\r\n errorMessage,\r\n type: PerformanceProfileDataType.XhrFetch,\r\n xhrFetch: { url, method, status, cim }\r\n };\r\n PerformanceProfile.current.log(data);\r\n }\r\n\r\n /**\r\n * Record XHR or Fetch performance measurement for Batch.\r\n */\r\n private static logXhrFetchBatch(\r\n source: string,\r\n start: number,\r\n end: number,\r\n url: string,\r\n method: string,\r\n status: number,\r\n batch: PerformanceProfileXhrFetch[],\r\n errorMessage?: string): void {\r\n const data: PerformanceProfileData = {\r\n source,\r\n start,\r\n end,\r\n errorMessage,\r\n type: PerformanceProfileDataType.XhrFetch,\r\n xhrFetch: { url, method, status, batch }\r\n };\r\n PerformanceProfile.current.log(data);\r\n }\r\n\r\n /**\r\n * Record XHR or Fetch performance measurement for general.\r\n */\r\n private static logXhrFetch(\r\n source: string,\r\n start: number,\r\n end: number,\r\n url: string,\r\n method: string,\r\n status: number,\r\n errorMessage?: string): void {\r\n const data: PerformanceProfileData = {\r\n source,\r\n start,\r\n end,\r\n errorMessage,\r\n type: PerformanceProfileDataType.XhrFetch,\r\n xhrFetch: { url, method, status }\r\n };\r\n PerformanceProfile.current.log(data);\r\n }\r\n\r\n /**\r\n * Record WebSocket performance measurement.\r\n */\r\n private static logWebSocketPowerShell(\r\n source: string,\r\n nodeName: string,\r\n command: string,\r\n context: PowerShellStreamContext,\r\n errorMessage?: string): void {\r\n const data: PerformanceProfileData = {\r\n source,\r\n start: context.progressStart,\r\n end: context.progressEnd,\r\n errorMessage,\r\n type: PerformanceProfileDataType.WebSocket,\r\n webSocket: { nodeName, id: context.id, count: context.count, itemCount: context.itemCount, powershell: { command } }\r\n };\r\n PerformanceProfile.current.log(data);\r\n }\r\n\r\n /**\r\n * Record WebSocket performance measurement.\r\n */\r\n private static logWebSocketCim(\r\n source: string,\r\n nodeName: string,\r\n cim: CimStreamRequestData,\r\n context: CimStreamContext,\r\n errorMessage?: string): void {\r\n const data: PerformanceProfileData = {\r\n source,\r\n start: context.progressStart,\r\n end: context.progressEnd,\r\n errorMessage,\r\n type: PerformanceProfileDataType.WebSocket,\r\n webSocket: { nodeName, id: context.id, count: context.count, itemCount: context.itemCount, cim }\r\n };\r\n PerformanceProfile.current.log(data);\r\n }\r\n\r\n private static powershellApi(\r\n url: string,\r\n body: string,\r\n response: { completed?: string, sessionId?: string; properties?: { completed: string; sessionId: string; }; }): PerformanceProfileDataPowerShell {\r\n const powershell: { command?: string; sessionId?: string; completed?: string } = {};\r\n if (body && body.indexOf('\\\"properties\\\"') > 0) {\r\n powershell.command = PerformanceProfile.getBetween(body, ',\\\"command\\\":\\\"', '\\\",\\\"')\r\n || PerformanceProfile.getBetween(body, '\\\"script\\\":\\\"##', '##:');\r\n }\r\n\r\n powershell.completed = response && response.completed;\r\n if (!powershell.completed) {\r\n powershell.completed = response && response.properties && response.properties.completed;\r\n }\r\n\r\n powershell.sessionId = response && response.sessionId;\r\n if (!powershell.sessionId) {\r\n powershell.sessionId = response && response.properties && response.properties.sessionId;\r\n if (!powershell.sessionId) {\r\n powershell.sessionId = PerformanceProfile.getBetween(url, 'features/powershellApi/pssessions/', '?');\r\n }\r\n }\r\n\r\n return powershell;\r\n }\r\n\r\n private static cimApi(url: string, body: string): PerformanceProfileDataCim {\r\n if (url.indexOf('/features/cim/query') > 0) {\r\n try {\r\n return JSON.parse(body);\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n const namespaceName = PerformanceProfile.getBetween(url, '/namespaces/', '/classes/');\r\n const className = PerformanceProfile.getBetween(url, '/classes/', '/instances');\r\n return { namespace: namespaceName, className: className };\r\n }\r\n\r\n private static batchApi(body: string, response: string): PerformanceProfileXhrFetch[] {\r\n const delimiter = '\\x0d\\x0a';\r\n const batch: PerformanceProfileXhrFetch[] = [];\r\n let last = body.indexOf(delimiter);\r\n let separator = body.substring(0, last + 2);\r\n const bodySegments = body.split(separator);\r\n last = response.indexOf(delimiter);\r\n separator = response.substring(0, last + 2);\r\n const responseSegments = response.split(separator);\r\n if (bodySegments.length === responseSegments.length && bodySegments.length > 1) {\r\n let batchMethod: string;\r\n let batchUrl: string;\r\n let batchBody: string;\r\n let batchStatus: number;\r\n let batchResponse: any;\r\n for (let i = 1; i < bodySegments.length; i++) {\r\n const bodySegment = bodySegments[i];\r\n const responseSegment = responseSegments[i];\r\n const bodySegmentLines = bodySegment.split(delimiter);\r\n let emptyLines = 0;\r\n for (let j = 0; j < bodySegmentLines.length; j++) {\r\n const line = bodySegmentLines[j];\r\n if (line.length > 0) {\r\n if (emptyLines === 1 && !batchUrl) {\r\n // reached header segment.\r\n const query = line.split(' ');\r\n batchMethod = query[0];\r\n batchUrl = query[1];\r\n } else if (emptyLines >= 2 && !batchBody) {\r\n batchBody = line;\r\n }\r\n } else {\r\n emptyLines++;\r\n }\r\n }\r\n\r\n emptyLines = 0;\r\n const responseSegmentLines = responseSegment.split(delimiter);\r\n for (let j = 0; j < responseSegmentLines.length; j++) {\r\n const line = responseSegmentLines[j];\r\n if (line.length > 0) {\r\n if (emptyLines === 1 && !batchStatus) {\r\n // reached header segment.\r\n const query = line.split(' ');\r\n batchStatus = Number(query[1]);\r\n } else if (emptyLines >= 2 && !batchResponse) {\r\n try {\r\n batchResponse = JSON.parse(line);\r\n } catch {\r\n batchResponse = {};\r\n }\r\n }\r\n } else {\r\n emptyLines++;\r\n }\r\n }\r\n\r\n const batchItem: PerformanceProfileXhrFetch = {\r\n url: batchUrl,\r\n status: batchStatus,\r\n method: batchMethod\r\n };\r\n if (batchUrl.indexOf('/features/powershellApi/') > 0) {\r\n batchItem.powershell = PerformanceProfile.powershellApi(batchUrl, batchBody, batchResponse);\r\n } else if (batchUrl.includes('/features/cim/query')) {\r\n batchItem.cim = PerformanceProfile.cimApi(batchUrl, batchBody);\r\n }\r\n\r\n batch.push(batchItem);\r\n }\r\n }\r\n\r\n return batch;\r\n }\r\n\r\n private static getBetween(source: string, begin: string, end: string): string {\r\n let index0 = source.indexOf(begin);\r\n if (index0 < 0) {\r\n return null;\r\n }\r\n\r\n index0 += begin.length;\r\n const index1 = source.indexOf(end, index0);\r\n if (index1 < 0) {\r\n return null;\r\n }\r\n\r\n return source.substring(index0, index1 - index0);\r\n }\r\n\r\n public enable(rpc: Rpc): void {\r\n MsftSme.setPerformanceProfile(true);\r\n this.registerRpc(rpc);\r\n }\r\n\r\n public disable(rpc: Rpc): void {\r\n MsftSme.setPerformanceProfile(false);\r\n this.registerRpc(rpc);\r\n }\r\n\r\n private checkPerformanceProfile(): boolean {\r\n if (!MsftSme.getPerformanceProfile()) {\r\n if (this.database) {\r\n this.database.close();\r\n this.database = null;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n if (!this.database) {\r\n this.database = new PerformanceProfileDatabase();\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public registerRpc(rpc: Rpc): void {\r\n if (!this.rpc) {\r\n this.rpc = rpc;\r\n if (MsftSme.isShell()) {\r\n this.subscription = rpc.stateChanged\r\n .pipe(\r\n filter(active => active),\r\n take(1))\r\n .subscribe(() => {\r\n this.rpcObservablePerformanceConfigClient = new RpcObservablePerformanceConfigClient(this.rpc);\r\n this.rpcObservablePerformanceServer = new RpcObservablePerformanceServer(rpc);\r\n this.rpcObservablePerformanceServer.register(\r\n request => {\r\n if (request.type === PerformanceProfileDataType.Null) {\r\n // The packet is null packet and retain only the version data.\r\n if (request.sourceVersion === '0.2.0') {\r\n // this version can support config command when on/off switch was used.\r\n this.moduleVersionMap[request.sourceName] = request.sourceVersion;\r\n }\r\n\r\n return of(null);\r\n }\r\n\r\n if (!this.checkPerformanceProfile()) {\r\n return of(null);\r\n }\r\n\r\n return this.database.write(request).pipe(map(() => null));\r\n });\r\n });\r\n } else {\r\n this.subscription = rpc.stateChanged\r\n .pipe(\r\n filter(active => active),\r\n take(1))\r\n .subscribe(() => {\r\n this.rpcObservablePerformanceClient = new RpcObservablePerformanceClient(rpc);\r\n });\r\n }\r\n }\r\n\r\n this.updateMonitors();\r\n }\r\n\r\n public updateMonitors(): void {\r\n const enabled = this.checkPerformanceProfile();\r\n if (this.rpcObservablePerformanceConfigClient) {\r\n // enable/disable the performance profile data collection to current modules.\r\n // but these must be version 0.2.0.\r\n const items = this.rpc.rpcManager.getCurrentRpcOutbound();\r\n if (items) {\r\n for (const item of items) {\r\n if (this.moduleVersionMap[item.name]) {\r\n this.rpcObservablePerformanceConfigClient.config({ enabled }, item).subscribe();\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (enabled) {\r\n this.registerHttp();\r\n this.registerPowerShellStream();\r\n this.registerCimStream();\r\n } else {\r\n Http.unregisterMonitors(PerformanceProfile.monitorName);\r\n PowerShellStream.unregisterMonitors(PerformanceProfile.monitorName);\r\n CimStream.unregisterMonitors(PerformanceProfile.monitorName);\r\n }\r\n }\r\n\r\n private log(message: PerformanceProfileData): void {\r\n if (!this.checkPerformanceProfile()) {\r\n return;\r\n }\r\n\r\n const self = MsftSme.self();\r\n const record: PerformanceProfileRecord = {\r\n ...message,\r\n ...{ sessionId: self.Init.sessionId, timestamp: Date.now(), moduleName: self.Init.moduleName }\r\n };\r\n\r\n if (!record.errorMessage) {\r\n delete record['errorMessage'];\r\n }\r\n\r\n if (this.rpc && this.rpc.stateActive && this.rpcObservablePerformanceClient) {\r\n // send to shell.\r\n this.rpcObservablePerformanceClient.log(record).subscribe();\r\n } else {\r\n // write to database.\r\n this.database.write(record).subscribe();\r\n }\r\n }\r\n\r\n private logAnyway(message: PerformanceProfileData): void {\r\n const self = MsftSme.self();\r\n const record: PerformanceProfileRecord = {\r\n ...message,\r\n ...{ sessionId: self.Init.sessionId, timestamp: Date.now(), moduleName: self.Init.moduleName }\r\n };\r\n\r\n if (!record.errorMessage) {\r\n delete record['errorMessage'];\r\n }\r\n\r\n if (this.rpc && this.rpc.stateActive && this.rpcObservablePerformanceClient) {\r\n // send to shell.\r\n this.rpcObservablePerformanceClient.log(record).subscribe();\r\n }\r\n }\r\n\r\n private registerHttp(): void {\r\n const startPropertyName = '_start_';\r\n\r\n Http.registerMonitorSet({\r\n name: PerformanceProfile.monitorName,\r\n preMonitor: (request: AjaxRequest) => {\r\n if (!request) {\r\n Logging.logWarning('Http', 'Http performance profile measurement error to access the AjaxRequest object.');\r\n return of(request);\r\n }\r\n\r\n request[startPropertyName] = Date.now();\r\n return of(request);\r\n },\r\n successMonitor: (response: AjaxResponse<any>) => {\r\n if (!response || !response.request || !response.request.url) {\r\n Logging.logWarning('Http', 'Http performance profile measurement error to access the AjaxResponse object.');\r\n return of(response);\r\n }\r\n\r\n const request = response.request;\r\n const url = request.url;\r\n const method = request.method;\r\n const end = Date.now();\r\n const start = request[startPropertyName];\r\n if (url.indexOf('/features/powershellApi/') > 0) {\r\n const powershell = PerformanceProfile.powershellApi(url, request.body, response.response);\r\n PerformanceProfile.logXhrFetchPowerShell('Http', start, end, url, method, response.status, powershell);\r\n } else if (url.includes('/features/cim/')) {\r\n const cim = PerformanceProfile.cimApi(url, request.body);\r\n PerformanceProfile.logXhrFetchCim('Http', start, end, url, method, response.status, cim);\r\n } else if (url.indexOf('/api/batch') > 0) {\r\n const batch = PerformanceProfile.batchApi(request.body, response.response);\r\n PerformanceProfile.logXhrFetchBatch('Http', start, end, url, method, response.status, batch);\r\n } else {\r\n PerformanceProfile.logXhrFetch('Http', start, end, url, method, response.status);\r\n }\r\n\r\n return of(response);\r\n },\r\n errorMonitor: (error: AjaxError) => {\r\n if (!error || !error.response || !error.request || !error.request.url) {\r\n Logging.logWarning('Http', 'Http performance profile measurement error to access the AjaxError object.');\r\n return throwError(() => error);\r\n }\r\n\r\n const request = error.request;\r\n const url = request.url;\r\n const method = request.method;\r\n const end = Date.now();\r\n const start = request[startPropertyName];\r\n const message = Net.getErrorMessage(error);\r\n if (url.indexOf('features/powershellApi') > 0) {\r\n const powershell = PerformanceProfile.powershellApi(url, request.body, error.response);\r\n PerformanceProfile.logXhrFetchPowerShell('Http', start, end, url, method, error.status, powershell, message);\r\n } else if (url.includes('/features/cim/')) {\r\n const cim = PerformanceProfile.cimApi(url, request.body);\r\n PerformanceProfile.logXhrFetchCim('Http', start, end, url, method, error.status, cim, message);\r\n } else {\r\n PerformanceProfile.logXhrFetch('Http', start, end, url, method, error.status, message);\r\n }\r\n\r\n return throwError(() => error);\r\n }\r\n });\r\n }\r\n\r\n private registerPowerShellStream(): void {\r\n let masterId = 1;\r\n PowerShellStream.registerMonitorSet({\r\n name: PerformanceProfile.monitorName,\r\n preMonitor: (nodeName: string, command: PowerShellCommand, options?: PowerShellStreamOptions) => {\r\n const start = Date.now();\r\n const id = masterId++;\r\n const context: PowerShellStreamMonitorSetContext<PowerShellStreamContext> = {\r\n nodeName,\r\n command,\r\n options,\r\n data: { id, start, progressStart: start, count: 0, itemCount: 0 }\r\n };\r\n return of(context);\r\n },\r\n successMonitor: (response: any, context: PowerShellStreamMonitorSetContext<PowerShellStreamContext>) => {\r\n context.data.progressEnd = Date.now();\r\n context.data.count++;\r\n context.data.itemCount += (response && response.results && response.results.length || 1);\r\n PerformanceProfile.logWebSocketPowerShell(\r\n 'PowerShellStream',\r\n context.nodeName,\r\n context.command.command,\r\n context.data);\r\n context.data.progressStart = Date.now();\r\n return of(response);\r\n },\r\n errorMonitor: (error: any, context: PowerShellStreamMonitorSetContext<PowerShellStreamContext>) => {\r\n context.data.progressEnd = Date.now();\r\n PerformanceProfile.logWebSocketPowerShell(\r\n 'PowerShellStream',\r\n context.nodeName,\r\n context.command.command,\r\n context.data,\r\n Net.getErrorMessage(error));\r\n return throwError(() => error);\r\n }\r\n });\r\n }\r\n\r\n private registerCimStream(): void {\r\n let masterId = 1;\r\n CimStream.registerMonitorSet({\r\n name: PerformanceProfile.monitorName,\r\n preMonitor: (\r\n nodeName: string,\r\n requestState: WebsocketStreamDataRequestState,\r\n request: CimStreamRequestData,\r\n format: CimResultFormat,\r\n options?: CimStreamOptions) => {\r\n const start = Date.now();\r\n const id = masterId++;\r\n const context: CimStreamMonitorSetContext<CimStreamContext> = {\r\n nodeName,\r\n requestState,\r\n request,\r\n format,\r\n options,\r\n data: { id, start, progressStart: start, count: 0, itemCount: 0 }\r\n };\r\n return of(context);\r\n },\r\n successMonitor: (response: any, context: CimStreamMonitorSetContext<CimStreamContext>) => {\r\n context.data.progressEnd = Date.now();\r\n context.data.count++;\r\n context.data.itemCount += (response && response.results && response.results.length || 1);\r\n PerformanceProfile.logWebSocketCim(\r\n 'CimStream',\r\n context.nodeName,\r\n this.removeCimStreamDetailData(context.request),\r\n context.data);\r\n context.data.progressStart = Date.now();\r\n return of(response);\r\n },\r\n errorMonitor: (error: any, context: CimStreamMonitorSetContext<CimStreamContext>) => {\r\n context.data.progressEnd = Date.now();\r\n PerformanceProfile.logWebSocketCim(\r\n 'CimStream',\r\n context.nodeName,\r\n this.removeCimStreamDetailData(context.request),\r\n context.data,\r\n Net.getErrorMessage(error));\r\n return throwError(() => error);\r\n }\r\n });\r\n }\r\n\r\n private removeCimStreamDetailData(request: CimStreamRequestData): CimStreamRequestData {\r\n const skipKeys = ['data', 'keyProperties'];\r\n const requestRaw: any = request;\r\n const keys = Object.keys(requestRaw);\r\n const trimmedKeys = keys.filter(key => skipKeys.indexOf(key) < 0);\r\n if (keys.length !== trimmedKeys.length) {\r\n const copy: any = {};\r\n for (const key of trimmedKeys) {\r\n copy[key] = requestRaw[key];\r\n }\r\n\r\n return copy;\r\n }\r\n\r\n return request;\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../packages/core/performance/performance-profile.ts"],"names":[],"mappings":"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","file":"performance-profile.js","sourcesContent":["import { of, Subscription, throwError } from 'rxjs';\r\nimport { AjaxError, AjaxRequest, AjaxResponse } from 'rxjs/ajax';\r\nimport { filter, map, take } from 'rxjs/operators';\r\nimport { CimResultFormat, CimStream, CimStreamMonitorSetContext, CimStreamOptions, CimStreamRequestData } from '../data/cim-stream';\r\nimport { Http } from '../data/http';\r\nimport { Net } from '../data/net';\r\nimport { PowerShellCommand } from '../data/powershell';\r\nimport { PowerShellStream, PowerShellStreamMonitorSetContext, PowerShellStreamOptions } from '../data/powershell-stream';\r\nimport { WebsocketStreamDataRequestState } from '../data/websocket-stream';\r\nimport { Logging } from '../diagnostics/logging';\r\nimport { RpcObservablePerformanceClient } from '../rpc/performance/rpc-observable-performance-client';\r\nimport { RpcObservablePerformanceConfigClient } from '../rpc/performance/rpc-observable-performance-config-client';\r\nimport { RpcObservablePerformanceServer } from '../rpc/performance/rpc-observable-performance-server';\r\nimport { Rpc } from '../rpc/rpc';\r\nimport {\r\n PerformanceProfileData, PerformanceProfileDataCim, PerformanceProfileDataPowerShell, PerformanceProfileXhrFetch\r\n} from './performance-profile-data';\r\nimport { PerformanceProfileDataType } from './performance-profile-data-type';\r\nimport { PerformanceProfileDatabase } from './performance-profile-database';\r\nimport { PerformanceProfileRecord } from './performance-profile-record';\r\n\r\ninterface PowerShellStreamContext {\r\n id: number;\r\n start: number;\r\n progressStart: number;\r\n progressEnd?: number;\r\n count: number;\r\n itemCount: number;\r\n}\r\n\r\ninterface CimStreamContext {\r\n id: number;\r\n start: number;\r\n progressStart: number;\r\n progressEnd?: number;\r\n count: number;\r\n itemCount: number;\r\n}\r\n\r\n/**\r\n * Performance measurement class.\r\n */\r\nexport class PerformanceProfile {\r\n private static monitorName = 'PerformanceProfile';\r\n private static instance: PerformanceProfile;\r\n\r\n private database: PerformanceProfileDatabase = null;\r\n private rpc: Rpc;\r\n private rpcObservablePerformanceClient: RpcObservablePerformanceClient;\r\n private rpcObservablePerformanceServer: RpcObservablePerformanceServer;\r\n private subscription: Subscription;\r\n private moduleVersionMap: { [index: string]: string } = {};\r\n private rpcObservablePerformanceConfigClient: RpcObservablePerformanceConfigClient;\r\n\r\n /**\r\n * Gets the current PerformanceProfile instance.\r\n */\r\n public static get current(): PerformanceProfile {\r\n if (PerformanceProfile.instance) {\r\n return PerformanceProfile.instance;\r\n }\r\n\r\n PerformanceProfile.instance = new PerformanceProfile();\r\n return PerformanceProfile.instance;\r\n }\r\n\r\n public static get database(): PerformanceProfileDatabase {\r\n return PerformanceProfile.current.database;\r\n }\r\n\r\n /**\r\n * Record Route navigation performance measurement.\r\n */\r\n public static logRouteNavigation(\r\n source: string,\r\n start: number,\r\n end: number,\r\n url: string,\r\n target?: string,\r\n errorMessage?: string): void {\r\n const data: PerformanceProfileData = {\r\n source,\r\n start,\r\n end,\r\n errorMessage,\r\n type: PerformanceProfileDataType.RouteNavigation,\r\n routeNavigation: { url, target }\r\n };\r\n PerformanceProfile.current.log(data);\r\n }\r\n\r\n /**\r\n * Record Null packet.\r\n */\r\n public static logNull(source: string): void {\r\n const data: PerformanceProfileData = {\r\n source,\r\n start: 0,\r\n end: 0,\r\n errorMessage: null,\r\n type: PerformanceProfileDataType.Null\r\n };\r\n PerformanceProfile.current.logAnyway(data);\r\n }\r\n\r\n /**\r\n * Record XHR or Fetch performance measurement for PowerShell.\r\n */\r\n private static logXhrFetchPowerShell(\r\n source: string,\r\n start: number,\r\n end: number,\r\n url: string,\r\n method: string,\r\n status: number,\r\n powershell: PerformanceProfileDataPowerShell,\r\n errorMessage?: string): void {\r\n const data: PerformanceProfileData = {\r\n source,\r\n start,\r\n end,\r\n errorMessage,\r\n type: PerformanceProfileDataType.XhrFetch,\r\n xhrFetch: { url, method, status, powershell }\r\n };\r\n PerformanceProfile.current.log(data);\r\n }\r\n\r\n /**\r\n * Record XHR or Fetch performance measurement for CIM.\r\n */\r\n private static logXhrFetchCim(\r\n source: string,\r\n start: number,\r\n end: number,\r\n url: string,\r\n method: string,\r\n status: number,\r\n cim: PerformanceProfileDataCim,\r\n errorMessage?: string): void {\r\n const data: PerformanceProfileData = {\r\n source,\r\n start,\r\n end,\r\n errorMessage,\r\n type: PerformanceProfileDataType.XhrFetch,\r\n xhrFetch: { url, method, status, cim }\r\n };\r\n PerformanceProfile.current.log(data);\r\n }\r\n\r\n /**\r\n * Record XHR or Fetch performance measurement for Batch.\r\n */\r\n private static logXhrFetchBatch(\r\n source: string,\r\n start: number,\r\n end: number,\r\n url: string,\r\n method: string,\r\n status: number,\r\n batch: PerformanceProfileXhrFetch[],\r\n errorMessage?: string): void {\r\n const data: PerformanceProfileData = {\r\n source,\r\n start,\r\n end,\r\n errorMessage,\r\n type: PerformanceProfileDataType.XhrFetch,\r\n xhrFetch: { url, method, status, batch }\r\n };\r\n PerformanceProfile.current.log(data);\r\n }\r\n\r\n /**\r\n * Record XHR or Fetch performance measurement for general.\r\n */\r\n private static logXhrFetch(\r\n source: string,\r\n start: number,\r\n end: number,\r\n url: string,\r\n method: string,\r\n status: number,\r\n errorMessage?: string): void {\r\n const data: PerformanceProfileData = {\r\n source,\r\n start,\r\n end,\r\n errorMessage,\r\n type: PerformanceProfileDataType.XhrFetch,\r\n xhrFetch: { url, method, status }\r\n };\r\n PerformanceProfile.current.log(data);\r\n }\r\n\r\n /**\r\n * Record WebSocket performance measurement.\r\n */\r\n private static logWebSocketPowerShell(\r\n source: string,\r\n nodeName: string,\r\n command: string,\r\n context: PowerShellStreamContext,\r\n errorMessage?: string): void {\r\n const data: PerformanceProfileData = {\r\n source,\r\n start: context.progressStart,\r\n end: context.progressEnd,\r\n errorMessage,\r\n type: PerformanceProfileDataType.WebSocket,\r\n webSocket: { nodeName, id: context.id, count: context.count, itemCount: context.itemCount, powershell: { command } }\r\n };\r\n PerformanceProfile.current.log(data);\r\n }\r\n\r\n /**\r\n * Record WebSocket performance measurement.\r\n */\r\n private static logWebSocketCim(\r\n source: string,\r\n nodeName: string,\r\n cim: CimStreamRequestData,\r\n context: CimStreamContext,\r\n errorMessage?: string): void {\r\n const data: PerformanceProfileData = {\r\n source,\r\n start: context.progressStart,\r\n end: context.progressEnd,\r\n errorMessage,\r\n type: PerformanceProfileDataType.WebSocket,\r\n webSocket: { nodeName, id: context.id, count: context.count, itemCount: context.itemCount, cim }\r\n };\r\n PerformanceProfile.current.log(data);\r\n }\r\n\r\n private static powershellApi(\r\n url: string,\r\n body: string,\r\n response: { completed?: string, sessionId?: string; properties?: { completed: string; sessionId: string; }; }): PerformanceProfileDataPowerShell {\r\n const powershell: { command?: string; sessionId?: string; completed?: string } = {};\r\n if (body && body.indexOf('\\\"properties\\\"') > 0) {\r\n powershell.command = PerformanceProfile.getBetween(body, ',\\\"command\\\":\\\"', '\\\",\\\"')\r\n || PerformanceProfile.getBetween(body, '\\\"script\\\":\\\"##', '##:');\r\n }\r\n\r\n powershell.completed = response && response.completed;\r\n if (!powershell.completed) {\r\n powershell.completed = response && response.properties && response.properties.completed;\r\n }\r\n\r\n powershell.sessionId = response && response.sessionId;\r\n if (!powershell.sessionId) {\r\n powershell.sessionId = response && response.properties && response.properties.sessionId;\r\n if (!powershell.sessionId) {\r\n powershell.sessionId = PerformanceProfile.getBetween(url, '/pssessions/', '?');\r\n }\r\n }\r\n\r\n return powershell;\r\n }\r\n\r\n private static cimApi(url: string, body: string): PerformanceProfileDataCim {\r\n if (url.indexOf('/features/cim/query') > 0 || url.indexOf('/services/WinREST/CIM/query') > 0) {\r\n try {\r\n return JSON.parse(body);\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n const namespaceName = PerformanceProfile.getBetween(url, '/namespaces/', '/classes/');\r\n const className = PerformanceProfile.getBetween(url, '/classes/', '/instances');\r\n return { namespace: namespaceName, className: className };\r\n }\r\n\r\n private static batchApi(body: string, response: string): PerformanceProfileXhrFetch[] {\r\n const delimiter = '\\x0d\\x0a';\r\n const batch: PerformanceProfileXhrFetch[] = [];\r\n let last = body.indexOf(delimiter);\r\n let separator = body.substring(0, last + 2);\r\n const bodySegments = body.split(separator);\r\n last = response.indexOf(delimiter);\r\n separator = response.substring(0, last + 2);\r\n const responseSegments = response.split(separator);\r\n if (bodySegments.length === responseSegments.length && bodySegments.length > 1) {\r\n let batchMethod: string;\r\n let batchUrl: string;\r\n let batchBody: string;\r\n let batchStatus: number;\r\n let batchResponse: any;\r\n for (let i = 1; i < bodySegments.length; i++) {\r\n const bodySegment = bodySegments[i];\r\n const responseSegment = responseSegments[i];\r\n const bodySegmentLines = bodySegment.split(delimiter);\r\n let emptyLines = 0;\r\n for (let j = 0; j < bodySegmentLines.length; j++) {\r\n const line = bodySegmentLines[j];\r\n if (line.length > 0) {\r\n if (emptyLines === 1 && !batchUrl) {\r\n // reached header segment.\r\n const query = line.split(' ');\r\n batchMethod = query[0];\r\n batchUrl = query[1];\r\n } else if (emptyLines >= 2 && !batchBody) {\r\n batchBody = line;\r\n }\r\n } else {\r\n emptyLines++;\r\n }\r\n }\r\n\r\n emptyLines = 0;\r\n const responseSegmentLines = responseSegment.split(delimiter);\r\n for (let j = 0; j < responseSegmentLines.length; j++) {\r\n const line = responseSegmentLines[j];\r\n if (line.length > 0) {\r\n if (emptyLines === 1 && !batchStatus) {\r\n // reached header segment.\r\n const query = line.split(' ');\r\n batchStatus = Number(query[1]);\r\n } else if (emptyLines >= 2 && !batchResponse) {\r\n try {\r\n batchResponse = JSON.parse(line);\r\n } catch {\r\n batchResponse = {};\r\n }\r\n }\r\n } else {\r\n emptyLines++;\r\n }\r\n }\r\n\r\n const batchItem: PerformanceProfileXhrFetch = {\r\n url: batchUrl,\r\n status: batchStatus,\r\n method: batchMethod\r\n };\r\n if (batchUrl.indexOf('/features/powershellApi/') > 0 || batchUrl.indexOf('/services/WinREST/PowerShell/') > 0) {\r\n batchItem.powershell = PerformanceProfile.powershellApi(batchUrl, batchBody, batchResponse);\r\n } else if (batchUrl.includes('/features/cim/query') || batchUrl.includes('/services/WinREST/CIM/')) {\r\n batchItem.cim = PerformanceProfile.cimApi(batchUrl, batchBody);\r\n }\r\n\r\n batch.push(batchItem);\r\n }\r\n }\r\n\r\n return batch;\r\n }\r\n\r\n private static getBetween(source: string, begin: string, end: string): string {\r\n let index0 = source.indexOf(begin);\r\n if (index0 < 0) {\r\n return null;\r\n }\r\n\r\n index0 += begin.length;\r\n const index1 = source.indexOf(end, index0);\r\n if (index1 < 0) {\r\n return null;\r\n }\r\n\r\n return source.substring(index0, index1);\r\n }\r\n\r\n public enable(rpc: Rpc): void {\r\n MsftSme.setPerformanceProfile(true);\r\n this.registerRpc(rpc);\r\n }\r\n\r\n public disable(rpc: Rpc): void {\r\n MsftSme.setPerformanceProfile(false);\r\n this.registerRpc(rpc);\r\n }\r\n\r\n private checkPerformanceProfile(): boolean {\r\n if (!MsftSme.getPerformanceProfile()) {\r\n if (this.database) {\r\n this.database.close();\r\n this.database = null;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n if (!this.database) {\r\n this.database = new PerformanceProfileDatabase();\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public registerRpc(rpc: Rpc): void {\r\n if (!this.rpc) {\r\n this.rpc = rpc;\r\n if (MsftSme.isShell()) {\r\n this.subscription = rpc.stateChanged\r\n .pipe(\r\n filter(active => active),\r\n take(1))\r\n .subscribe(() => {\r\n this.rpcObservablePerformanceConfigClient = new RpcObservablePerformanceConfigClient(this.rpc);\r\n this.rpcObservablePerformanceServer = new RpcObservablePerformanceServer(rpc);\r\n this.rpcObservablePerformanceServer.register(\r\n request => {\r\n if (request.type === PerformanceProfileDataType.Null) {\r\n // The packet is null packet and retain only the version data.\r\n if (request.sourceVersion === '0.2.0') {\r\n // this version can support config command when on/off switch was used.\r\n this.moduleVersionMap[request.sourceName] = request.sourceVersion;\r\n }\r\n\r\n return of(null);\r\n }\r\n\r\n if (!this.checkPerformanceProfile()) {\r\n return of(null);\r\n }\r\n\r\n return this.database.write(request).pipe(map(() => null));\r\n });\r\n });\r\n } else {\r\n this.subscription = rpc.stateChanged\r\n .pipe(\r\n filter(active => active),\r\n take(1))\r\n .subscribe(() => {\r\n this.rpcObservablePerformanceClient = new RpcObservablePerformanceClient(rpc);\r\n });\r\n }\r\n }\r\n\r\n this.updateMonitors();\r\n }\r\n\r\n public updateMonitors(): void {\r\n const enabled = this.checkPerformanceProfile();\r\n if (this.rpcObservablePerformanceConfigClient) {\r\n // enable/disable the performance profile data collection to current modules.\r\n // but these must be version 0.2.0.\r\n const items = this.rpc.rpcManager.getCurrentRpcOutbound();\r\n if (items) {\r\n for (const item of items) {\r\n if (this.moduleVersionMap[item.name]) {\r\n this.rpcObservablePerformanceConfigClient.config({ enabled }, item).subscribe();\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (enabled) {\r\n this.registerHttp();\r\n this.registerPowerShellStream();\r\n this.registerCimStream();\r\n } else {\r\n Http.unregisterMonitors(PerformanceProfile.monitorName);\r\n PowerShellStream.unregisterMonitors(PerformanceProfile.monitorName);\r\n CimStream.unregisterMonitors(PerformanceProfile.monitorName);\r\n }\r\n }\r\n\r\n private log(message: PerformanceProfileData): void {\r\n if (!this.checkPerformanceProfile()) {\r\n return;\r\n }\r\n\r\n const self = MsftSme.self();\r\n const record: PerformanceProfileRecord = {\r\n ...message,\r\n ...{ sessionId: self.Init.sessionId, timestamp: Date.now(), moduleName: self.Init.moduleName }\r\n };\r\n\r\n if (!record.errorMessage) {\r\n delete record['errorMessage'];\r\n }\r\n\r\n if (this.rpc && this.rpc.stateActive && this.rpcObservablePerformanceClient) {\r\n // send to shell.\r\n this.rpcObservablePerformanceClient.log(record).subscribe();\r\n } else {\r\n // write to database.\r\n this.database.write(record).subscribe();\r\n }\r\n }\r\n\r\n private logAnyway(message: PerformanceProfileData): void {\r\n const self = MsftSme.self();\r\n const record: PerformanceProfileRecord = {\r\n ...message,\r\n ...{ sessionId: self.Init.sessionId, timestamp: Date.now(), moduleName: self.Init.moduleName }\r\n };\r\n\r\n if (!record.errorMessage) {\r\n delete record['errorMessage'];\r\n }\r\n\r\n if (this.rpc && this.rpc.stateActive && this.rpcObservablePerformanceClient) {\r\n // send to shell.\r\n this.rpcObservablePerformanceClient.log(record).subscribe();\r\n }\r\n }\r\n\r\n private registerHttp(): void {\r\n const startPropertyName = '_start_';\r\n\r\n Http.registerMonitorSet({\r\n name: PerformanceProfile.monitorName,\r\n preMonitor: (request: AjaxRequest) => {\r\n if (!request) {\r\n Logging.logWarning('Http', 'Http performance profile measurement error to access the AjaxRequest object.');\r\n return of(request);\r\n }\r\n\r\n request[startPropertyName] = Date.now();\r\n return of(request);\r\n },\r\n successMonitor: (response: AjaxResponse<any>) => {\r\n if (!response || !response.request || !response.request.url) {\r\n Logging.logWarning('Http', 'Http performance profile measurement error to access the AjaxResponse object.');\r\n return of(response);\r\n }\r\n\r\n const request = response.request;\r\n const url = request.url;\r\n const method = request.method;\r\n const end = Date.now();\r\n const start = request[startPropertyName];\r\n if (url.indexOf('/features/powershellApi/') > 0 || url.indexOf('/services/WinREST/PowerShell/') > 0){\r\n const powershell = PerformanceProfile.powershellApi(url, request.body, response.response);\r\n PerformanceProfile.logXhrFetchPowerShell('Http', start, end, url, method, response.status, powershell);\r\n } else if (url.includes('/features/cim/') || url.includes('/services/WinREST/CIM')) {\r\n const cim = PerformanceProfile.cimApi(url, request.body);\r\n PerformanceProfile.logXhrFetchCim('Http', start, end, url, method, response.status, cim);\r\n } else if (url.indexOf('/api/batch') > 0) {\r\n const batch = PerformanceProfile.batchApi(request.body, response.response);\r\n PerformanceProfile.logXhrFetchBatch('Http', start, end, url, method, response.status, batch);\r\n } else {\r\n PerformanceProfile.logXhrFetch('Http', start, end, url, method, response.status);\r\n }\r\n\r\n return of(response);\r\n },\r\n errorMonitor: (error: AjaxError) => {\r\n if (!error || !error.response || !error.request || !error.request.url) {\r\n Logging.logWarning('Http', 'Http performance profile measurement error to access the AjaxError object.');\r\n return throwError(() => error);\r\n }\r\n\r\n const request = error.request;\r\n const url = request.url;\r\n const method = request.method;\r\n const end = Date.now();\r\n const start = request[startPropertyName];\r\n const message = Net.getErrorMessage(error);\r\n if (url.indexOf('features/powershellApi') > 0 || url.indexOf('/services/WinREST/PowerShell/') > 0) {\r\n const powershell = PerformanceProfile.powershellApi(url, request.body, error.response);\r\n PerformanceProfile.logXhrFetchPowerShell('Http', start, end, url, method, error.status, powershell, message);\r\n } else if (url.includes('/features/cim/') || url.includes('/services/WinREST/CIM/')) {\r\n const cim = PerformanceProfile.cimApi(url, request.body);\r\n PerformanceProfile.logXhrFetchCim('Http', start, end, url, method, error.status, cim, message);\r\n } else {\r\n PerformanceProfile.logXhrFetch('Http', start, end, url, method, error.status, message);\r\n }\r\n\r\n return throwError(() => error);\r\n }\r\n });\r\n }\r\n\r\n private registerPowerShellStream(): void {\r\n let masterId = 1;\r\n PowerShellStream.registerMonitorSet({\r\n name: PerformanceProfile.monitorName,\r\n preMonitor: (nodeName: string, command: PowerShellCommand, options?: PowerShellStreamOptions) => {\r\n const start = Date.now();\r\n const id = masterId++;\r\n const context: PowerShellStreamMonitorSetContext<PowerShellStreamContext> = {\r\n nodeName,\r\n command,\r\n options,\r\n data: { id, start, progressStart: start, count: 0, itemCount: 0 }\r\n };\r\n return of(context);\r\n },\r\n successMonitor: (response: any, context: PowerShellStreamMonitorSetContext<PowerShellStreamContext>) => {\r\n context.data.progressEnd = Date.now();\r\n context.data.count++;\r\n context.data.itemCount += (response && response.results && response.results.length || 1);\r\n PerformanceProfile.logWebSocketPowerShell(\r\n 'PowerShellStream',\r\n context.nodeName,\r\n context.command.command,\r\n context.data);\r\n context.data.progressStart = Date.now();\r\n return of(response);\r\n },\r\n errorMonitor: (error: any, context: PowerShellStreamMonitorSetContext<PowerShellStreamContext>) => {\r\n context.data.progressEnd = Date.now();\r\n PerformanceProfile.logWebSocketPowerShell(\r\n 'PowerShellStream',\r\n context.nodeName,\r\n context.command.command,\r\n context.data,\r\n Net.getErrorMessage(error));\r\n return throwError(() => error);\r\n }\r\n });\r\n }\r\n\r\n private registerCimStream(): void {\r\n let masterId = 1;\r\n CimStream.registerMonitorSet({\r\n name: PerformanceProfile.monitorName,\r\n preMonitor: (\r\n nodeName: string,\r\n requestState: WebsocketStreamDataRequestState,\r\n request: CimStreamRequestData,\r\n format: CimResultFormat,\r\n options?: CimStreamOptions) => {\r\n const start = Date.now();\r\n const id = masterId++;\r\n const context: CimStreamMonitorSetContext<CimStreamContext> = {\r\n nodeName,\r\n requestState,\r\n request,\r\n format,\r\n options,\r\n data: { id, start, progressStart: start, count: 0, itemCount: 0 }\r\n };\r\n return of(context);\r\n },\r\n successMonitor: (response: any, context: CimStreamMonitorSetContext<CimStreamContext>) => {\r\n context.data.progressEnd = Date.now();\r\n context.data.count++;\r\n context.data.itemCount += (response && response.results && response.results.length || 1);\r\n PerformanceProfile.logWebSocketCim(\r\n 'CimStream',\r\n context.nodeName,\r\n this.removeCimStreamDetailData(context.request),\r\n context.data);\r\n context.data.progressStart = Date.now();\r\n return of(response);\r\n },\r\n errorMonitor: (error: any, context: CimStreamMonitorSetContext<CimStreamContext>) => {\r\n context.data.progressEnd = Date.now();\r\n PerformanceProfile.logWebSocketCim(\r\n 'CimStream',\r\n context.nodeName,\r\n this.removeCimStreamDetailData(context.request),\r\n context.data,\r\n Net.getErrorMessage(error));\r\n return throwError(() => error);\r\n }\r\n });\r\n }\r\n\r\n private removeCimStreamDetailData(request: CimStreamRequestData): CimStreamRequestData {\r\n const skipKeys = ['data', 'keyProperties'];\r\n const requestRaw: any = request;\r\n const keys = Object.keys(requestRaw);\r\n const trimmedKeys = keys.filter(key => skipKeys.indexOf(key) < 0);\r\n if (keys.length !== trimmedKeys.length) {\r\n const copy: any = {};\r\n for (const key of trimmedKeys) {\r\n copy[key] = requestRaw[key];\r\n }\r\n\r\n return copy;\r\n }\r\n\r\n return request;\r\n }\r\n}\r\n"]}
|