@nutanix-scratch/dataprotection-js-client 4.1.1 → 4.3.1
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/README.md +24 -16
- package/dist/Ntnx-Dataprotection-js-client-prod.js +1 -1
- package/dist/Ntnx-Dataprotection-js-client.js +1213 -547
- package/dist/es/ApiClient.d.ts +29 -7
- package/dist/es/ApiClient.js +854 -667
- package/dist/es/Paginable.d.ts +1 -1
- package/dist/es/Paginable.js +144 -183
- package/dist/es/apis/dataprotectionclustercapabilities-endpoints.d.ts +46 -0
- package/dist/es/apis/dataprotectionclustercapabilities-endpoints.js +107 -0
- package/dist/es/apis/protectedresources-endpoints.d.ts +1 -1
- package/dist/es/apis/protectedresources-endpoints.js +128 -146
- package/dist/es/apis/recoveryplanactions-endpoints.d.ts +76 -0
- package/dist/es/apis/recoveryplanactions-endpoints.js +282 -0
- package/dist/es/apis/recoveryplanjobs-endpoints.d.ts +108 -0
- package/dist/es/apis/recoveryplanjobs-endpoints.js +291 -0
- package/dist/es/apis/recoverypoints-endpoints.d.ts +3 -3
- package/dist/es/apis/recoverypoints-endpoints.js +530 -552
- package/dist/es/index.d.ts +121 -1
- package/dist/es/index.js +801 -321
- package/dist/es/models/common/v1/config/EntityReference.d.ts +79 -0
- package/dist/es/models/common/v1/config/EntityReference.js +355 -0
- package/dist/es/models/common/v1/config/EntityType.d.ts +19 -0
- package/dist/es/models/common/v1/config/EntityType.js +239 -0
- package/dist/es/models/common/v1/config/Flag.d.ts +2 -8
- package/dist/es/models/common/v1/config/Flag.js +170 -211
- package/dist/es/models/common/v1/config/IPAddress.d.ts +2 -20
- package/dist/es/models/common/v1/config/IPAddress.js +170 -217
- package/dist/es/models/common/v1/config/IPv4Address.d.ts +2 -8
- package/dist/es/models/common/v1/config/IPv4Address.js +174 -215
- package/dist/es/models/common/v1/config/IPv6Address.d.ts +2 -8
- package/dist/es/models/common/v1/config/IPv6Address.js +174 -215
- package/dist/es/models/common/v1/config/KVPair.d.ts +2 -8
- package/dist/es/models/common/v1/config/KVPair.js +225 -270
- package/dist/es/models/common/v1/config/MapOfStringWrapper.d.ts +2 -7
- package/dist/es/models/common/v1/config/MapOfStringWrapper.js +139 -178
- package/dist/es/models/common/v1/config/Message.d.ts +2 -10
- package/dist/es/models/common/v1/config/Message.js +213 -258
- package/dist/es/models/common/v1/config/MessageSeverity.js +7 -9
- package/dist/es/models/common/v1/config/TenantAwareModel.d.ts +2 -7
- package/dist/es/models/common/v1/config/TenantAwareModel.js +137 -177
- package/dist/es/models/common/v1/response/ApiLink.d.ts +2 -8
- package/dist/es/models/common/v1/response/ApiLink.js +165 -206
- package/dist/es/models/common/v1/response/ApiResponseMetadata.d.ts +2 -40
- package/dist/es/models/common/v1/response/ApiResponseMetadata.js +281 -344
- package/dist/es/models/common/v1/response/ExternalizableAbstractModel.d.ts +1 -15
- package/dist/es/models/common/v1/response/ExternalizableAbstractModel.js +154 -202
- package/dist/es/models/dataprotection/v4/common/BackupType.js +7 -9
- package/dist/es/models/dataprotection/v4/common/BaseRecoveryPoint.d.ts +12 -21
- package/dist/es/models/dataprotection/v4/common/BaseRecoveryPoint.js +280 -301
- package/dist/es/models/dataprotection/v4/common/BaseVmRecoveryPoint.d.ts +1 -32
- package/dist/es/models/dataprotection/v4/common/BaseVmRecoveryPoint.js +294 -335
- package/dist/es/models/dataprotection/v4/common/ClusterInfo.d.ts +5 -29
- package/dist/es/models/dataprotection/v4/common/ClusterInfo.js +166 -207
- package/dist/es/models/dataprotection/v4/common/DiskRecoveryPoint.d.ts +2 -8
- package/dist/es/models/dataprotection/v4/common/DiskRecoveryPoint.js +163 -206
- package/dist/es/models/dataprotection/v4/common/RecoveryPointStatus.js +7 -9
- package/dist/es/models/dataprotection/v4/common/RecoveryPointType.js +7 -9
- package/dist/es/models/dataprotection/v4/common/VssProperties.d.ts +2 -10
- package/dist/es/models/dataprotection/v4/common/VssProperties.js +222 -267
- package/dist/es/models/dataprotection/v4/config/AhvVmOverrideSpec.d.ts +1 -1
- package/dist/es/models/dataprotection/v4/config/AhvVmOverrideSpec.js +75 -106
- package/dist/es/models/dataprotection/v4/config/AmazonS3Bucket.d.ts +2 -8
- package/dist/es/models/dataprotection/v4/config/AmazonS3Bucket.js +171 -212
- package/dist/es/models/dataprotection/v4/config/AzureBlobStorageContainer.d.ts +2 -8
- package/dist/es/models/dataprotection/v4/config/AzureBlobStorageContainer.js +171 -212
- package/dist/es/models/dataprotection/v4/config/Capability.d.ts +71 -0
- package/dist/es/models/dataprotection/v4/config/Capability.js +279 -0
- package/dist/es/models/dataprotection/v4/config/ClusterInfoApiResponse.d.ts +2 -43
- package/dist/es/models/dataprotection/v4/config/ClusterInfoApiResponse.js +187 -242
- package/dist/es/models/dataprotection/v4/config/ConsistencyGroup.d.ts +1 -26
- package/dist/es/models/dataprotection/v4/config/ConsistencyGroup.js +244 -301
- package/dist/es/models/dataprotection/v4/config/ConsistencyGroupMember.d.ts +2 -8
- package/dist/es/models/dataprotection/v4/config/ConsistencyGroupMember.js +166 -207
- package/dist/es/models/dataprotection/v4/config/ConsistencyGroupMemberType.js +7 -9
- package/dist/es/models/dataprotection/v4/config/ConsistencyGroupMigrationSpec.d.ts +2 -8
- package/dist/es/models/dataprotection/v4/config/ConsistencyGroupMigrationSpec.js +171 -212
- package/dist/es/models/dataprotection/v4/config/ConsistencyGroupProjection.d.ts +1 -1
- package/dist/es/models/dataprotection/v4/config/ConsistencyGroupProjection.js +74 -103
- package/dist/es/models/dataprotection/v4/config/CreateRecoveryPointApiResponse.d.ts +2 -43
- package/dist/es/models/dataprotection/v4/config/CreateRecoveryPointApiResponse.js +187 -242
- package/dist/es/models/dataprotection/v4/config/CreationTimeRange.d.ts +58 -0
- package/dist/es/models/dataprotection/v4/config/CreationTimeRange.js +272 -0
- package/dist/es/models/dataprotection/v4/config/DataProtectionCapabilityName.d.ts +19 -0
- package/dist/es/models/dataprotection/v4/config/DataProtectionCapabilityName.js +77 -0
- package/dist/es/models/dataprotection/v4/config/DataProtectionClusterCapability.d.ts +34 -0
- package/dist/es/models/dataprotection/v4/config/DataProtectionClusterCapability.js +277 -0
- package/dist/es/models/dataprotection/v4/config/DataProtectionClusterCapabilityProjection.d.ts +10 -0
- package/dist/es/models/dataprotection/v4/config/DataProtectionClusterCapabilityProjection.js +124 -0
- package/dist/es/models/dataprotection/v4/config/DataProtectionSiteReference.d.ts +2 -8
- package/dist/es/models/dataprotection/v4/config/DataProtectionSiteReference.js +171 -212
- package/dist/es/models/dataprotection/v4/config/DeleteRecoveryPlanJobApiResponse.d.ts +58 -0
- package/dist/es/models/dataprotection/v4/config/DeleteRecoveryPlanJobApiResponse.js +288 -0
- package/dist/es/models/dataprotection/v4/config/DeleteRecoveryPointApiResponse.d.ts +2 -43
- package/dist/es/models/dataprotection/v4/config/DeleteRecoveryPointApiResponse.js +187 -242
- package/dist/es/models/dataprotection/v4/config/DisasterRecoveryLocation.d.ts +72 -0
- package/dist/es/models/dataprotection/v4/config/DisasterRecoveryLocation.js +292 -0
- package/dist/es/models/dataprotection/v4/config/EntityRecoveryResult.d.ts +79 -0
- package/dist/es/models/dataprotection/v4/config/EntityRecoveryResult.js +352 -0
- package/dist/es/models/dataprotection/v4/config/EntityReference.d.ts +57 -0
- package/dist/es/models/dataprotection/v4/config/EntityReference.js +243 -0
- package/dist/es/models/dataprotection/v4/config/ErrorGroup.d.ts +19 -0
- package/dist/es/models/dataprotection/v4/config/ErrorGroup.js +113 -0
- package/dist/es/models/dataprotection/v4/config/ErrorMessage.d.ts +53 -0
- package/dist/es/models/dataprotection/v4/config/ErrorMessage.js +335 -0
- package/dist/es/models/dataprotection/v4/config/EsxiVmOverrideSpec.d.ts +2 -7
- package/dist/es/models/dataprotection/v4/config/EsxiVmOverrideSpec.js +143 -182
- package/dist/es/models/dataprotection/v4/config/ExecutionStepEntityReference.d.ts +68 -0
- package/dist/es/models/dataprotection/v4/config/ExecutionStepEntityReference.js +311 -0
- package/dist/es/models/dataprotection/v4/config/ExecutionStepEntityType.d.ts +19 -0
- package/dist/es/models/dataprotection/v4/config/ExecutionStepEntityType.js +143 -0
- package/dist/es/models/dataprotection/v4/config/ExecutionStepResult.d.ts +58 -0
- package/dist/es/models/dataprotection/v4/config/ExecutionStepResult.js +253 -0
- package/dist/es/models/dataprotection/v4/config/ExpirationTimeSpec.d.ts +7 -12
- package/dist/es/models/dataprotection/v4/config/ExpirationTimeSpec.js +143 -182
- package/dist/es/models/dataprotection/v4/config/FailoverDirection.d.ts +90 -0
- package/dist/es/models/dataprotection/v4/config/FailoverDirection.js +354 -0
- package/dist/es/models/dataprotection/v4/config/ForceDeleteAllRecoveryPointsSpec.d.ts +55 -0
- package/dist/es/models/dataprotection/v4/config/ForceDeleteAllRecoveryPointsSpec.js +274 -0
- package/dist/es/models/dataprotection/v4/config/GetProtectedResourceApiResponse.d.ts +3 -44
- package/dist/es/models/dataprotection/v4/config/GetProtectedResourceApiResponse.js +187 -242
- package/dist/es/models/dataprotection/v4/config/GetRecoveryPlanJobApiResponse.d.ts +58 -0
- package/dist/es/models/dataprotection/v4/config/GetRecoveryPlanJobApiResponse.js +288 -0
- package/dist/es/models/dataprotection/v4/config/GetRecoveryPointApiResponse.d.ts +2 -43
- package/dist/es/models/dataprotection/v4/config/GetRecoveryPointApiResponse.js +187 -242
- package/dist/es/models/dataprotection/v4/config/GetVmRecoveryPointApiResponse.d.ts +2 -45
- package/dist/es/models/dataprotection/v4/config/GetVmRecoveryPointApiResponse.js +187 -242
- package/dist/es/models/dataprotection/v4/config/HostReference.d.ts +1 -17
- package/dist/es/models/dataprotection/v4/config/HostReference.js +153 -197
- package/dist/es/models/dataprotection/v4/config/HostType.js +7 -9
- package/dist/es/models/dataprotection/v4/config/HypervisorType.js +7 -9
- package/dist/es/models/dataprotection/v4/config/ListDPClusterCapabilitiesApiResponse.d.ts +59 -0
- package/dist/es/models/dataprotection/v4/config/ListDPClusterCapabilitiesApiResponse.js +315 -0
- package/dist/es/models/dataprotection/v4/config/ListRecoveryPlanJobExecutionStepsApiResponse.d.ts +59 -0
- package/dist/es/models/dataprotection/v4/config/ListRecoveryPlanJobExecutionStepsApiResponse.js +315 -0
- package/dist/es/models/dataprotection/v4/config/ListRecoveryPlanJobValidationErrorsApiResponse.d.ts +59 -0
- package/dist/es/models/dataprotection/v4/config/ListRecoveryPlanJobValidationErrorsApiResponse.js +315 -0
- package/dist/es/models/dataprotection/v4/config/ListRecoveryPlanJobsApiResponse.d.ts +59 -0
- package/dist/es/models/dataprotection/v4/config/ListRecoveryPlanJobsApiResponse.js +315 -0
- package/dist/es/models/dataprotection/v4/config/ListRecoveryPointsApiResponse.d.ts +2 -43
- package/dist/es/models/dataprotection/v4/config/ListRecoveryPointsApiResponse.js +213 -268
- package/dist/es/models/dataprotection/v4/config/LocationReference.d.ts +2 -7
- package/dist/es/models/dataprotection/v4/config/LocationReference.js +142 -181
- package/dist/es/models/dataprotection/v4/config/NutanixObjectsBucket.d.ts +2 -7
- package/dist/es/models/dataprotection/v4/config/NutanixObjectsBucket.js +140 -179
- package/dist/es/models/dataprotection/v4/config/ObjectStorageType.js +7 -9
- package/dist/es/models/dataprotection/v4/config/OperationType.d.ts +19 -0
- package/dist/es/models/dataprotection/v4/config/OperationType.js +251 -0
- package/dist/es/models/dataprotection/v4/config/PhaseSummary.d.ts +33 -0
- package/dist/es/models/dataprotection/v4/config/PhaseSummary.js +274 -0
- package/dist/es/models/dataprotection/v4/config/ProtectedEntityType.js +7 -9
- package/dist/es/models/dataprotection/v4/config/ProtectedResource.d.ts +4 -72
- package/dist/es/models/dataprotection/v4/config/ProtectedResource.js +307 -369
- package/dist/es/models/dataprotection/v4/config/ProtectedResourcePromoteApiResponse.d.ts +2 -43
- package/dist/es/models/dataprotection/v4/config/ProtectedResourcePromoteApiResponse.js +187 -242
- package/dist/es/models/dataprotection/v4/config/ProtectedResourceReplicationStatus.js +8 -10
- package/dist/es/models/dataprotection/v4/config/ProtectedResourceRestoreApiResponse.d.ts +2 -43
- package/dist/es/models/dataprotection/v4/config/ProtectedResourceRestoreApiResponse.js +187 -242
- package/dist/es/models/dataprotection/v4/config/ProtectedResourceRestoreSpec.d.ts +5 -11
- package/dist/es/models/dataprotection/v4/config/ProtectedResourceRestoreSpec.js +169 -210
- package/dist/es/models/dataprotection/v4/config/RecoveryInfo.d.ts +2 -13
- package/dist/es/models/dataprotection/v4/config/RecoveryInfo.js +149 -192
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanActionType.d.ts +19 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanActionType.js +95 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanJob.d.ts +177 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanJob.js +771 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobExecutionStatus.d.ts +19 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobExecutionStatus.js +107 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobExecutionStep.d.ts +132 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobExecutionStep.js +624 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobExecutionStepProjection.d.ts +10 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobExecutionStepProjection.js +129 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobPhaseType.d.ts +19 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobPhaseType.js +89 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobProjection.d.ts +10 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanJobProjection.js +128 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanValidationError.d.ts +32 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanValidationError.js +322 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanValidationErrorProjection.d.ts +10 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPlanValidationErrorProjection.js +126 -0
- package/dist/es/models/dataprotection/v4/config/RecoveryPoint.d.ts +23 -101
- package/dist/es/models/dataprotection/v4/config/RecoveryPoint.js +337 -348
- package/dist/es/models/dataprotection/v4/config/RecoveryPointProjection.d.ts +1 -1
- package/dist/es/models/dataprotection/v4/config/RecoveryPointProjection.js +75 -103
- package/dist/es/models/dataprotection/v4/config/RecoveryPointReplicateApiResponse.d.ts +2 -43
- package/dist/es/models/dataprotection/v4/config/RecoveryPointReplicateApiResponse.js +187 -242
- package/dist/es/models/dataprotection/v4/config/RecoveryPointReplicationSpec.d.ts +5 -11
- package/dist/es/models/dataprotection/v4/config/RecoveryPointReplicationSpec.js +172 -213
- package/dist/es/models/dataprotection/v4/config/RecoveryPointRepository.d.ts +1 -18
- package/dist/es/models/dataprotection/v4/config/RecoveryPointRepository.js +196 -246
- package/dist/es/models/dataprotection/v4/config/RecoveryPointRepositoryProjection.d.ts +1 -1
- package/dist/es/models/dataprotection/v4/config/RecoveryPointRepositoryProjection.js +73 -102
- package/dist/es/models/dataprotection/v4/config/RecoveryPointRestorationSpec.d.ts +19 -33
- package/dist/es/models/dataprotection/v4/config/RecoveryPointRestorationSpec.js +259 -273
- package/dist/es/models/dataprotection/v4/config/RecoveryPointRestoreApiResponse.d.ts +2 -43
- package/dist/es/models/dataprotection/v4/config/RecoveryPointRestoreApiResponse.js +187 -242
- package/dist/es/models/dataprotection/v4/config/RecycleBinEntry.d.ts +77 -0
- package/dist/es/models/dataprotection/v4/config/RecycleBinEntry.js +405 -0
- package/dist/es/models/dataprotection/v4/config/RecycleBinVm.d.ts +44 -0
- package/dist/es/models/dataprotection/v4/config/RecycleBinVm.js +352 -0
- package/dist/es/models/dataprotection/v4/config/RecycleBinVmProjection.d.ts +10 -0
- package/dist/es/models/dataprotection/v4/config/RecycleBinVmProjection.js +124 -0
- package/dist/es/models/dataprotection/v4/config/RecycleBinVolumeGroup.d.ts +44 -0
- package/dist/es/models/dataprotection/v4/config/RecycleBinVolumeGroup.js +352 -0
- package/dist/es/models/dataprotection/v4/config/RecycleBinVolumeGroupProjection.d.ts +10 -0
- package/dist/es/models/dataprotection/v4/config/RecycleBinVolumeGroupProjection.js +124 -0
- package/dist/es/models/dataprotection/v4/config/ReplicationState.d.ts +2 -16
- package/dist/es/models/dataprotection/v4/config/ReplicationState.js +221 -266
- package/dist/es/models/dataprotection/v4/config/RestorableTimeRange.d.ts +2 -8
- package/dist/es/models/dataprotection/v4/config/RestorableTimeRange.js +166 -207
- package/dist/es/models/dataprotection/v4/config/RootCauseAnalysis.d.ts +69 -0
- package/dist/es/models/dataprotection/v4/config/RootCauseAnalysis.js +329 -0
- package/dist/es/models/dataprotection/v4/config/Severity.d.ts +19 -0
- package/dist/es/models/dataprotection/v4/config/Severity.js +83 -0
- package/dist/es/models/dataprotection/v4/config/SiteProtectionInfo.d.ts +2 -26
- package/dist/es/models/dataprotection/v4/config/SiteProtectionInfo.js +185 -228
- package/dist/es/models/dataprotection/v4/config/SiteReference.d.ts +2 -8
- package/dist/es/models/dataprotection/v4/config/SiteReference.js +171 -212
- package/dist/es/models/dataprotection/v4/config/StageSummary.d.ts +22 -0
- package/dist/es/models/dataprotection/v4/config/StageSummary.js +230 -0
- package/dist/es/models/dataprotection/v4/config/Summary.d.ts +59 -0
- package/dist/es/models/dataprotection/v4/config/Summary.js +277 -0
- package/dist/es/models/dataprotection/v4/config/SynchronousReplicationRole.js +8 -10
- package/dist/es/models/dataprotection/v4/config/UpdateRecoveryPointExpirationTimeApiResponse.d.ts +2 -43
- package/dist/es/models/dataprotection/v4/config/UpdateRecoveryPointExpirationTimeApiResponse.js +187 -242
- package/dist/es/models/dataprotection/v4/config/VmRecoveryPoint.d.ts +1 -33
- package/dist/es/models/dataprotection/v4/config/VmRecoveryPoint.js +183 -206
- package/dist/es/models/dataprotection/v4/config/VmRecoveryPointRestoreOverride.d.ts +8 -15
- package/dist/es/models/dataprotection/v4/config/VmRecoveryPointRestoreOverride.js +211 -258
- package/dist/es/models/dataprotection/v4/config/VolumeGroupOverrideSpec.d.ts +2 -7
- package/dist/es/models/dataprotection/v4/config/VolumeGroupOverrideSpec.js +143 -182
- package/dist/es/models/dataprotection/v4/config/VolumeGroupRecoveryPoint.d.ts +18 -32
- package/dist/es/models/dataprotection/v4/config/VolumeGroupRecoveryPoint.js +283 -306
- package/dist/es/models/dataprotection/v4/config/VolumeGroupRecoveryPointRestoreOverride.d.ts +2 -13
- package/dist/es/models/dataprotection/v4/config/VolumeGroupRecoveryPointRestoreOverride.js +166 -207
- package/dist/es/models/dataprotection/v4/config/VolumeGroupSyncContext.d.ts +1 -29
- package/dist/es/models/dataprotection/v4/config/VolumeGroupSyncContext.js +148 -192
- package/dist/es/models/dataprotection/v4/config/Witness.d.ts +1 -34
- package/dist/es/models/dataprotection/v4/config/Witness.js +226 -278
- package/dist/es/models/dataprotection/v4/config/WitnessAvailabilityStatus.js +7 -9
- package/dist/es/models/dataprotection/v4/content/BaseRecoveryPointSpec.d.ts +2 -8
- package/dist/es/models/dataprotection/v4/content/BaseRecoveryPointSpec.js +171 -212
- package/dist/es/models/dataprotection/v4/content/ChangedRegion.d.ts +2 -9
- package/dist/es/models/dataprotection/v4/content/ChangedRegion.js +189 -232
- package/dist/es/models/dataprotection/v4/content/ChangedVmRegionsApiResponse.d.ts +2 -43
- package/dist/es/models/dataprotection/v4/content/ChangedVmRegionsApiResponse.js +209 -264
- package/dist/es/models/dataprotection/v4/content/ChangedVolumeGroupRegionsApiResponse.d.ts +2 -43
- package/dist/es/models/dataprotection/v4/content/ChangedVolumeGroupRegionsApiResponse.js +209 -264
- package/dist/es/models/dataprotection/v4/content/ClusterDiscoverOperation.js +9 -11
- package/dist/es/models/dataprotection/v4/content/ClusterDiscoverSpec.d.ts +2 -8
- package/dist/es/models/dataprotection/v4/content/ClusterDiscoverSpec.js +179 -224
- package/dist/es/models/dataprotection/v4/content/ComputeChangedRegionsClusterDiscoverSpec.d.ts +3 -9
- package/dist/es/models/dataprotection/v4/content/ComputeChangedRegionsClusterDiscoverSpec.js +197 -246
- package/dist/es/models/dataprotection/v4/content/DiskRecoveryPointReference.d.ts +2 -8
- package/dist/es/models/dataprotection/v4/content/DiskRecoveryPointReference.js +172 -213
- package/dist/es/models/dataprotection/v4/content/FileWrapper.d.ts +36 -0
- package/dist/es/models/dataprotection/v4/content/FileWrapper.js +200 -0
- package/dist/es/models/dataprotection/v4/content/GetVssMetadataApiResponse.d.ts +8 -48
- package/dist/es/models/dataprotection/v4/content/GetVssMetadataApiResponse.js +188 -242
- package/dist/es/models/dataprotection/v4/content/GetVssMetadataClusterDiscoverSpec.d.ts +3 -8
- package/dist/es/models/dataprotection/v4/content/GetVssMetadataClusterDiscoverSpec.js +143 -182
- package/dist/es/models/dataprotection/v4/content/RegionType.js +7 -9
- package/dist/es/models/dataprotection/v4/content/VmDiskRecoveryPointClusterDiscoverSpec.d.ts +1 -9
- package/dist/es/models/dataprotection/v4/content/VmDiskRecoveryPointClusterDiscoverSpec.js +130 -169
- package/dist/es/models/dataprotection/v4/content/VmDiskRecoveryPointReference.d.ts +1 -9
- package/dist/es/models/dataprotection/v4/content/VmDiskRecoveryPointReference.js +130 -169
- package/dist/es/models/dataprotection/v4/content/VmRecoveryPointChangedRegionsComputeSpec.d.ts +4 -15
- package/dist/es/models/dataprotection/v4/content/VmRecoveryPointChangedRegionsComputeSpec.js +190 -231
- package/dist/es/models/dataprotection/v4/content/VolumeGroupDiskRecoveryPointClusterDiscoverSpec.d.ts +1 -9
- package/dist/es/models/dataprotection/v4/content/VolumeGroupDiskRecoveryPointClusterDiscoverSpec.js +130 -169
- package/dist/es/models/dataprotection/v4/content/VolumeGroupDiskRecoveryPointReference.d.ts +1 -9
- package/dist/es/models/dataprotection/v4/content/VolumeGroupDiskRecoveryPointReference.js +131 -170
- package/dist/es/models/dataprotection/v4/content/VolumeGroupRecoveryPointChangedRegionsComputeSpec.d.ts +4 -15
- package/dist/es/models/dataprotection/v4/content/VolumeGroupRecoveryPointChangedRegionsComputeSpec.js +190 -231
- package/dist/es/models/dataprotection/v4/error/AppMessage.d.ts +2 -12
- package/dist/es/models/dataprotection/v4/error/AppMessage.js +264 -313
- package/dist/es/models/dataprotection/v4/error/ErrorResponse.d.ts +2 -7
- package/dist/es/models/dataprotection/v4/error/ErrorResponse.js +190 -222
- package/dist/es/models/dataprotection/v4/error/SchemaValidationError.d.ts +2 -18
- package/dist/es/models/dataprotection/v4/error/SchemaValidationError.js +249 -300
- package/dist/es/models/dataprotection/v4/error/SchemaValidationErrorMessage.d.ts +2 -9
- package/dist/es/models/dataprotection/v4/error/SchemaValidationErrorMessage.js +191 -234
- package/dist/es/models/dataprotection/v4/operations/BaseRecoveryPlanActionSpec.d.ts +73 -0
- package/dist/es/models/dataprotection/v4/operations/BaseRecoveryPlanActionSpec.js +297 -0
- package/dist/es/models/dataprotection/v4/operations/CleanupRecoveryPlanResourcesApiResponse.d.ts +58 -0
- package/dist/es/models/dataprotection/v4/operations/CleanupRecoveryPlanResourcesApiResponse.js +288 -0
- package/dist/es/models/dataprotection/v4/operations/PlannedFailoverRecoveryPlanApiResponse.d.ts +58 -0
- package/dist/es/models/dataprotection/v4/operations/PlannedFailoverRecoveryPlanApiResponse.js +288 -0
- package/dist/es/models/dataprotection/v4/operations/PlannedFailoverSpec.d.ts +37 -0
- package/dist/es/models/dataprotection/v4/operations/PlannedFailoverSpec.js +274 -0
- package/dist/es/models/dataprotection/v4/operations/TestFailoverRecoveryPlanApiResponse.d.ts +58 -0
- package/dist/es/models/dataprotection/v4/operations/TestFailoverRecoveryPlanApiResponse.js +288 -0
- package/dist/es/models/dataprotection/v4/operations/TestFailoverSpec.d.ts +37 -0
- package/dist/es/models/dataprotection/v4/operations/TestFailoverSpec.js +274 -0
- package/dist/es/models/dataprotection/v4/operations/UnplannedFailoverRecoveryPlanApiResponse.d.ts +58 -0
- package/dist/es/models/dataprotection/v4/operations/UnplannedFailoverRecoveryPlanApiResponse.js +288 -0
- package/dist/es/models/dataprotection/v4/operations/UnplannedFailoverSpec.d.ts +48 -0
- package/dist/es/models/dataprotection/v4/operations/UnplannedFailoverSpec.js +311 -0
- package/dist/es/models/dataprotection/v4/operations/ValidateRecoveryPlanApiResponse.d.ts +58 -0
- package/dist/es/models/dataprotection/v4/operations/ValidateRecoveryPlanApiResponse.js +288 -0
- package/dist/es/models/dataprotection/v4/operations/ValidateSpec.d.ts +24 -0
- package/dist/es/models/dataprotection/v4/operations/ValidateSpec.js +129 -0
- package/dist/es/models/prism/v4/config/TaskReference.d.ts +2 -7
- package/dist/es/models/prism/v4/config/TaskReference.js +150 -183
- package/dist/es/models/validation/ValidationError.js +26 -42
- package/dist/es/models/validation/ValidationScopes.js +3 -3
- package/dist/es/models/vmm/v4/ahv/config/CategoryReference.d.ts +2 -7
- package/dist/es/models/vmm/v4/ahv/config/CategoryReference.js +142 -181
- package/dist/es/models/vmm/v4/ahv/config/GuestStaticIpSpec.d.ts +57 -0
- package/dist/es/models/vmm/v4/ahv/config/GuestStaticIpSpec.js +277 -0
- package/dist/es/models/vmm/v4/ahv/config/OwnerReference.d.ts +2 -7
- package/dist/es/models/vmm/v4/ahv/config/OwnerReference.js +142 -181
- package/dist/es/models/vmm/v4/ahv/config/OwnershipInfo.d.ts +2 -12
- package/dist/es/models/vmm/v4/ahv/config/OwnershipInfo.js +138 -177
- package/dist/es/models/vmm/v4/ahv/config/SubnetReference.d.ts +2 -7
- package/dist/es/models/vmm/v4/ahv/config/SubnetReference.js +142 -181
- package/dist/es/models/vmm/v4/ahv/config/VmConfigOverrideSpecification.d.ts +12 -39
- package/dist/es/models/vmm/v4/ahv/config/VmConfigOverrideSpecification.js +283 -300
- package/dist/es/models/vmm/v4/ahv/config/VmRestoreGuestNicInfoOverrideSpec.d.ts +48 -0
- package/dist/es/models/vmm/v4/ahv/config/VmRestoreGuestNicInfoOverrideSpec.js +245 -0
- package/dist/es/models/vmm/v4/ahv/config/VmRestoreGuestToolsSpecification.d.ts +47 -0
- package/dist/es/models/vmm/v4/ahv/config/VmRestoreGuestToolsSpecification.js +236 -0
- package/dist/es/models/vmm/v4/ahv/config/VmRestoreIpv4ConfigOverrideSpec.d.ts +2 -20
- package/dist/es/models/vmm/v4/ahv/config/VmRestoreIpv4ConfigOverrideSpec.js +173 -218
- package/dist/es/models/vmm/v4/ahv/config/VmRestoreNicConfigOverrideParams.d.ts +12 -9
- package/dist/es/models/vmm/v4/ahv/config/VmRestoreNicConfigOverrideParams.js +252 -269
- package/dist/es/models/vmm/v4/ahv/config/VmRestoreNicConfigSpecification.d.ts +2 -15
- package/dist/es/models/vmm/v4/ahv/config/VmRestoreNicConfigSpecification.js +183 -228
- package/dist/es/models/vmm/v4/ahv/config/VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec.d.ts +2 -31
- package/dist/es/models/vmm/v4/ahv/config/VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec.js +162 -203
- package/dist/es/models/vmm/v4/ahv/config/VmRestoreVirtualEthernetNicOverrideSpec.d.ts +2 -7
- package/dist/es/models/vmm/v4/ahv/config/VmRestoreVirtualEthernetNicOverrideSpec.js +142 -181
- package/dist/es/utils/ValidationUtils.js +39 -69
- package/dist/lib/ApiClient.d.ts +29 -7
- package/dist/lib/ApiClient.js +854 -667
- package/dist/lib/Paginable.d.ts +1 -1
- package/dist/lib/Paginable.js +144 -183
- package/dist/lib/apis/dataprotectionclustercapabilities-endpoints.d.ts +46 -0
- package/dist/lib/apis/dataprotectionclustercapabilities-endpoints.js +107 -0
- package/dist/lib/apis/protectedresources-endpoints.d.ts +1 -1
- package/dist/lib/apis/protectedresources-endpoints.js +128 -146
- package/dist/lib/apis/recoveryplanactions-endpoints.d.ts +76 -0
- package/dist/lib/apis/recoveryplanactions-endpoints.js +282 -0
- package/dist/lib/apis/recoveryplanjobs-endpoints.d.ts +108 -0
- package/dist/lib/apis/recoveryplanjobs-endpoints.js +291 -0
- package/dist/lib/apis/recoverypoints-endpoints.d.ts +3 -3
- package/dist/lib/apis/recoverypoints-endpoints.js +530 -552
- package/dist/lib/index.d.ts +121 -1
- package/dist/lib/index.js +801 -321
- package/dist/lib/models/common/v1/config/EntityReference.d.ts +79 -0
- package/dist/lib/models/common/v1/config/EntityReference.js +355 -0
- package/dist/lib/models/common/v1/config/EntityType.d.ts +19 -0
- package/dist/lib/models/common/v1/config/EntityType.js +239 -0
- package/dist/lib/models/common/v1/config/Flag.d.ts +2 -8
- package/dist/lib/models/common/v1/config/Flag.js +170 -211
- package/dist/lib/models/common/v1/config/IPAddress.d.ts +2 -20
- package/dist/lib/models/common/v1/config/IPAddress.js +170 -217
- package/dist/lib/models/common/v1/config/IPv4Address.d.ts +2 -8
- package/dist/lib/models/common/v1/config/IPv4Address.js +174 -215
- package/dist/lib/models/common/v1/config/IPv6Address.d.ts +2 -8
- package/dist/lib/models/common/v1/config/IPv6Address.js +174 -215
- package/dist/lib/models/common/v1/config/KVPair.d.ts +2 -8
- package/dist/lib/models/common/v1/config/KVPair.js +225 -270
- package/dist/lib/models/common/v1/config/MapOfStringWrapper.d.ts +2 -7
- package/dist/lib/models/common/v1/config/MapOfStringWrapper.js +139 -178
- package/dist/lib/models/common/v1/config/Message.d.ts +2 -10
- package/dist/lib/models/common/v1/config/Message.js +213 -258
- package/dist/lib/models/common/v1/config/MessageSeverity.js +7 -9
- package/dist/lib/models/common/v1/config/TenantAwareModel.d.ts +2 -7
- package/dist/lib/models/common/v1/config/TenantAwareModel.js +137 -177
- package/dist/lib/models/common/v1/response/ApiLink.d.ts +2 -8
- package/dist/lib/models/common/v1/response/ApiLink.js +165 -206
- package/dist/lib/models/common/v1/response/ApiResponseMetadata.d.ts +2 -40
- package/dist/lib/models/common/v1/response/ApiResponseMetadata.js +281 -344
- package/dist/lib/models/common/v1/response/ExternalizableAbstractModel.d.ts +1 -15
- package/dist/lib/models/common/v1/response/ExternalizableAbstractModel.js +154 -202
- package/dist/lib/models/dataprotection/v4/common/BackupType.js +7 -9
- package/dist/lib/models/dataprotection/v4/common/BaseRecoveryPoint.d.ts +12 -21
- package/dist/lib/models/dataprotection/v4/common/BaseRecoveryPoint.js +280 -301
- package/dist/lib/models/dataprotection/v4/common/BaseVmRecoveryPoint.d.ts +1 -32
- package/dist/lib/models/dataprotection/v4/common/BaseVmRecoveryPoint.js +294 -335
- package/dist/lib/models/dataprotection/v4/common/ClusterInfo.d.ts +5 -29
- package/dist/lib/models/dataprotection/v4/common/ClusterInfo.js +166 -207
- package/dist/lib/models/dataprotection/v4/common/DiskRecoveryPoint.d.ts +2 -8
- package/dist/lib/models/dataprotection/v4/common/DiskRecoveryPoint.js +163 -206
- package/dist/lib/models/dataprotection/v4/common/RecoveryPointStatus.js +7 -9
- package/dist/lib/models/dataprotection/v4/common/RecoveryPointType.js +7 -9
- package/dist/lib/models/dataprotection/v4/common/VssProperties.d.ts +2 -10
- package/dist/lib/models/dataprotection/v4/common/VssProperties.js +222 -267
- package/dist/lib/models/dataprotection/v4/config/AhvVmOverrideSpec.d.ts +1 -1
- package/dist/lib/models/dataprotection/v4/config/AhvVmOverrideSpec.js +75 -106
- package/dist/lib/models/dataprotection/v4/config/AmazonS3Bucket.d.ts +2 -8
- package/dist/lib/models/dataprotection/v4/config/AmazonS3Bucket.js +171 -212
- package/dist/lib/models/dataprotection/v4/config/AzureBlobStorageContainer.d.ts +2 -8
- package/dist/lib/models/dataprotection/v4/config/AzureBlobStorageContainer.js +171 -212
- package/dist/lib/models/dataprotection/v4/config/Capability.d.ts +71 -0
- package/dist/lib/models/dataprotection/v4/config/Capability.js +279 -0
- package/dist/lib/models/dataprotection/v4/config/ClusterInfoApiResponse.d.ts +2 -43
- package/dist/lib/models/dataprotection/v4/config/ClusterInfoApiResponse.js +187 -242
- package/dist/lib/models/dataprotection/v4/config/ConsistencyGroup.d.ts +1 -26
- package/dist/lib/models/dataprotection/v4/config/ConsistencyGroup.js +244 -301
- package/dist/lib/models/dataprotection/v4/config/ConsistencyGroupMember.d.ts +2 -8
- package/dist/lib/models/dataprotection/v4/config/ConsistencyGroupMember.js +166 -207
- package/dist/lib/models/dataprotection/v4/config/ConsistencyGroupMemberType.js +7 -9
- package/dist/lib/models/dataprotection/v4/config/ConsistencyGroupMigrationSpec.d.ts +2 -8
- package/dist/lib/models/dataprotection/v4/config/ConsistencyGroupMigrationSpec.js +171 -212
- package/dist/lib/models/dataprotection/v4/config/ConsistencyGroupProjection.d.ts +1 -1
- package/dist/lib/models/dataprotection/v4/config/ConsistencyGroupProjection.js +74 -103
- package/dist/lib/models/dataprotection/v4/config/CreateRecoveryPointApiResponse.d.ts +2 -43
- package/dist/lib/models/dataprotection/v4/config/CreateRecoveryPointApiResponse.js +187 -242
- package/dist/lib/models/dataprotection/v4/config/CreationTimeRange.d.ts +58 -0
- package/dist/lib/models/dataprotection/v4/config/CreationTimeRange.js +272 -0
- package/dist/lib/models/dataprotection/v4/config/DataProtectionCapabilityName.d.ts +19 -0
- package/dist/lib/models/dataprotection/v4/config/DataProtectionCapabilityName.js +77 -0
- package/dist/lib/models/dataprotection/v4/config/DataProtectionClusterCapability.d.ts +34 -0
- package/dist/lib/models/dataprotection/v4/config/DataProtectionClusterCapability.js +277 -0
- package/dist/lib/models/dataprotection/v4/config/DataProtectionClusterCapabilityProjection.d.ts +10 -0
- package/dist/lib/models/dataprotection/v4/config/DataProtectionClusterCapabilityProjection.js +124 -0
- package/dist/lib/models/dataprotection/v4/config/DataProtectionSiteReference.d.ts +2 -8
- package/dist/lib/models/dataprotection/v4/config/DataProtectionSiteReference.js +171 -212
- package/dist/lib/models/dataprotection/v4/config/DeleteRecoveryPlanJobApiResponse.d.ts +58 -0
- package/dist/lib/models/dataprotection/v4/config/DeleteRecoveryPlanJobApiResponse.js +288 -0
- package/dist/lib/models/dataprotection/v4/config/DeleteRecoveryPointApiResponse.d.ts +2 -43
- package/dist/lib/models/dataprotection/v4/config/DeleteRecoveryPointApiResponse.js +187 -242
- package/dist/lib/models/dataprotection/v4/config/DisasterRecoveryLocation.d.ts +72 -0
- package/dist/lib/models/dataprotection/v4/config/DisasterRecoveryLocation.js +292 -0
- package/dist/lib/models/dataprotection/v4/config/EntityRecoveryResult.d.ts +79 -0
- package/dist/lib/models/dataprotection/v4/config/EntityRecoveryResult.js +352 -0
- package/dist/lib/models/dataprotection/v4/config/EntityReference.d.ts +57 -0
- package/dist/lib/models/dataprotection/v4/config/EntityReference.js +243 -0
- package/dist/lib/models/dataprotection/v4/config/ErrorGroup.d.ts +19 -0
- package/dist/lib/models/dataprotection/v4/config/ErrorGroup.js +113 -0
- package/dist/lib/models/dataprotection/v4/config/ErrorMessage.d.ts +53 -0
- package/dist/lib/models/dataprotection/v4/config/ErrorMessage.js +335 -0
- package/dist/lib/models/dataprotection/v4/config/EsxiVmOverrideSpec.d.ts +2 -7
- package/dist/lib/models/dataprotection/v4/config/EsxiVmOverrideSpec.js +143 -182
- package/dist/lib/models/dataprotection/v4/config/ExecutionStepEntityReference.d.ts +68 -0
- package/dist/lib/models/dataprotection/v4/config/ExecutionStepEntityReference.js +311 -0
- package/dist/lib/models/dataprotection/v4/config/ExecutionStepEntityType.d.ts +19 -0
- package/dist/lib/models/dataprotection/v4/config/ExecutionStepEntityType.js +143 -0
- package/dist/lib/models/dataprotection/v4/config/ExecutionStepResult.d.ts +58 -0
- package/dist/lib/models/dataprotection/v4/config/ExecutionStepResult.js +253 -0
- package/dist/lib/models/dataprotection/v4/config/ExpirationTimeSpec.d.ts +7 -12
- package/dist/lib/models/dataprotection/v4/config/ExpirationTimeSpec.js +143 -182
- package/dist/lib/models/dataprotection/v4/config/FailoverDirection.d.ts +90 -0
- package/dist/lib/models/dataprotection/v4/config/FailoverDirection.js +354 -0
- package/dist/lib/models/dataprotection/v4/config/ForceDeleteAllRecoveryPointsSpec.d.ts +55 -0
- package/dist/lib/models/dataprotection/v4/config/ForceDeleteAllRecoveryPointsSpec.js +274 -0
- package/dist/lib/models/dataprotection/v4/config/GetProtectedResourceApiResponse.d.ts +3 -44
- package/dist/lib/models/dataprotection/v4/config/GetProtectedResourceApiResponse.js +187 -242
- package/dist/lib/models/dataprotection/v4/config/GetRecoveryPlanJobApiResponse.d.ts +58 -0
- package/dist/lib/models/dataprotection/v4/config/GetRecoveryPlanJobApiResponse.js +288 -0
- package/dist/lib/models/dataprotection/v4/config/GetRecoveryPointApiResponse.d.ts +2 -43
- package/dist/lib/models/dataprotection/v4/config/GetRecoveryPointApiResponse.js +187 -242
- package/dist/lib/models/dataprotection/v4/config/GetVmRecoveryPointApiResponse.d.ts +2 -45
- package/dist/lib/models/dataprotection/v4/config/GetVmRecoveryPointApiResponse.js +187 -242
- package/dist/lib/models/dataprotection/v4/config/HostReference.d.ts +1 -17
- package/dist/lib/models/dataprotection/v4/config/HostReference.js +153 -197
- package/dist/lib/models/dataprotection/v4/config/HostType.js +7 -9
- package/dist/lib/models/dataprotection/v4/config/HypervisorType.js +7 -9
- package/dist/lib/models/dataprotection/v4/config/ListDPClusterCapabilitiesApiResponse.d.ts +59 -0
- package/dist/lib/models/dataprotection/v4/config/ListDPClusterCapabilitiesApiResponse.js +315 -0
- package/dist/lib/models/dataprotection/v4/config/ListRecoveryPlanJobExecutionStepsApiResponse.d.ts +59 -0
- package/dist/lib/models/dataprotection/v4/config/ListRecoveryPlanJobExecutionStepsApiResponse.js +315 -0
- package/dist/lib/models/dataprotection/v4/config/ListRecoveryPlanJobValidationErrorsApiResponse.d.ts +59 -0
- package/dist/lib/models/dataprotection/v4/config/ListRecoveryPlanJobValidationErrorsApiResponse.js +315 -0
- package/dist/lib/models/dataprotection/v4/config/ListRecoveryPlanJobsApiResponse.d.ts +59 -0
- package/dist/lib/models/dataprotection/v4/config/ListRecoveryPlanJobsApiResponse.js +315 -0
- package/dist/lib/models/dataprotection/v4/config/ListRecoveryPointsApiResponse.d.ts +2 -43
- package/dist/lib/models/dataprotection/v4/config/ListRecoveryPointsApiResponse.js +213 -268
- package/dist/lib/models/dataprotection/v4/config/LocationReference.d.ts +2 -7
- package/dist/lib/models/dataprotection/v4/config/LocationReference.js +142 -181
- package/dist/lib/models/dataprotection/v4/config/NutanixObjectsBucket.d.ts +2 -7
- package/dist/lib/models/dataprotection/v4/config/NutanixObjectsBucket.js +140 -179
- package/dist/lib/models/dataprotection/v4/config/ObjectStorageType.js +7 -9
- package/dist/lib/models/dataprotection/v4/config/OperationType.d.ts +19 -0
- package/dist/lib/models/dataprotection/v4/config/OperationType.js +251 -0
- package/dist/lib/models/dataprotection/v4/config/PhaseSummary.d.ts +33 -0
- package/dist/lib/models/dataprotection/v4/config/PhaseSummary.js +274 -0
- package/dist/lib/models/dataprotection/v4/config/ProtectedEntityType.js +7 -9
- package/dist/lib/models/dataprotection/v4/config/ProtectedResource.d.ts +4 -72
- package/dist/lib/models/dataprotection/v4/config/ProtectedResource.js +307 -369
- package/dist/lib/models/dataprotection/v4/config/ProtectedResourcePromoteApiResponse.d.ts +2 -43
- package/dist/lib/models/dataprotection/v4/config/ProtectedResourcePromoteApiResponse.js +187 -242
- package/dist/lib/models/dataprotection/v4/config/ProtectedResourceReplicationStatus.js +8 -10
- package/dist/lib/models/dataprotection/v4/config/ProtectedResourceRestoreApiResponse.d.ts +2 -43
- package/dist/lib/models/dataprotection/v4/config/ProtectedResourceRestoreApiResponse.js +187 -242
- package/dist/lib/models/dataprotection/v4/config/ProtectedResourceRestoreSpec.d.ts +5 -11
- package/dist/lib/models/dataprotection/v4/config/ProtectedResourceRestoreSpec.js +169 -210
- package/dist/lib/models/dataprotection/v4/config/RecoveryInfo.d.ts +2 -13
- package/dist/lib/models/dataprotection/v4/config/RecoveryInfo.js +149 -192
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanActionType.d.ts +19 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanActionType.js +95 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJob.d.ts +177 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJob.js +771 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobExecutionStatus.d.ts +19 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobExecutionStatus.js +107 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobExecutionStep.d.ts +132 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobExecutionStep.js +624 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobExecutionStepProjection.d.ts +10 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobExecutionStepProjection.js +129 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobPhaseType.d.ts +19 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobPhaseType.js +89 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobProjection.d.ts +10 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanJobProjection.js +128 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanValidationError.d.ts +32 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanValidationError.js +322 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanValidationErrorProjection.d.ts +10 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPlanValidationErrorProjection.js +126 -0
- package/dist/lib/models/dataprotection/v4/config/RecoveryPoint.d.ts +23 -101
- package/dist/lib/models/dataprotection/v4/config/RecoveryPoint.js +337 -348
- package/dist/lib/models/dataprotection/v4/config/RecoveryPointProjection.d.ts +1 -1
- package/dist/lib/models/dataprotection/v4/config/RecoveryPointProjection.js +75 -103
- package/dist/lib/models/dataprotection/v4/config/RecoveryPointReplicateApiResponse.d.ts +2 -43
- package/dist/lib/models/dataprotection/v4/config/RecoveryPointReplicateApiResponse.js +187 -242
- package/dist/lib/models/dataprotection/v4/config/RecoveryPointReplicationSpec.d.ts +5 -11
- package/dist/lib/models/dataprotection/v4/config/RecoveryPointReplicationSpec.js +172 -213
- package/dist/lib/models/dataprotection/v4/config/RecoveryPointRepository.d.ts +1 -18
- package/dist/lib/models/dataprotection/v4/config/RecoveryPointRepository.js +196 -246
- package/dist/lib/models/dataprotection/v4/config/RecoveryPointRepositoryProjection.d.ts +1 -1
- package/dist/lib/models/dataprotection/v4/config/RecoveryPointRepositoryProjection.js +73 -102
- package/dist/lib/models/dataprotection/v4/config/RecoveryPointRestorationSpec.d.ts +19 -33
- package/dist/lib/models/dataprotection/v4/config/RecoveryPointRestorationSpec.js +259 -273
- package/dist/lib/models/dataprotection/v4/config/RecoveryPointRestoreApiResponse.d.ts +2 -43
- package/dist/lib/models/dataprotection/v4/config/RecoveryPointRestoreApiResponse.js +187 -242
- package/dist/lib/models/dataprotection/v4/config/RecycleBinEntry.d.ts +77 -0
- package/dist/lib/models/dataprotection/v4/config/RecycleBinEntry.js +405 -0
- package/dist/lib/models/dataprotection/v4/config/RecycleBinVm.d.ts +44 -0
- package/dist/lib/models/dataprotection/v4/config/RecycleBinVm.js +352 -0
- package/dist/lib/models/dataprotection/v4/config/RecycleBinVmProjection.d.ts +10 -0
- package/dist/lib/models/dataprotection/v4/config/RecycleBinVmProjection.js +124 -0
- package/dist/lib/models/dataprotection/v4/config/RecycleBinVolumeGroup.d.ts +44 -0
- package/dist/lib/models/dataprotection/v4/config/RecycleBinVolumeGroup.js +352 -0
- package/dist/lib/models/dataprotection/v4/config/RecycleBinVolumeGroupProjection.d.ts +10 -0
- package/dist/lib/models/dataprotection/v4/config/RecycleBinVolumeGroupProjection.js +124 -0
- package/dist/lib/models/dataprotection/v4/config/ReplicationState.d.ts +2 -16
- package/dist/lib/models/dataprotection/v4/config/ReplicationState.js +221 -266
- package/dist/lib/models/dataprotection/v4/config/RestorableTimeRange.d.ts +2 -8
- package/dist/lib/models/dataprotection/v4/config/RestorableTimeRange.js +166 -207
- package/dist/lib/models/dataprotection/v4/config/RootCauseAnalysis.d.ts +69 -0
- package/dist/lib/models/dataprotection/v4/config/RootCauseAnalysis.js +329 -0
- package/dist/lib/models/dataprotection/v4/config/Severity.d.ts +19 -0
- package/dist/lib/models/dataprotection/v4/config/Severity.js +83 -0
- package/dist/lib/models/dataprotection/v4/config/SiteProtectionInfo.d.ts +2 -26
- package/dist/lib/models/dataprotection/v4/config/SiteProtectionInfo.js +185 -228
- package/dist/lib/models/dataprotection/v4/config/SiteReference.d.ts +2 -8
- package/dist/lib/models/dataprotection/v4/config/SiteReference.js +171 -212
- package/dist/lib/models/dataprotection/v4/config/StageSummary.d.ts +22 -0
- package/dist/lib/models/dataprotection/v4/config/StageSummary.js +230 -0
- package/dist/lib/models/dataprotection/v4/config/Summary.d.ts +59 -0
- package/dist/lib/models/dataprotection/v4/config/Summary.js +277 -0
- package/dist/lib/models/dataprotection/v4/config/SynchronousReplicationRole.js +8 -10
- package/dist/lib/models/dataprotection/v4/config/UpdateRecoveryPointExpirationTimeApiResponse.d.ts +2 -43
- package/dist/lib/models/dataprotection/v4/config/UpdateRecoveryPointExpirationTimeApiResponse.js +187 -242
- package/dist/lib/models/dataprotection/v4/config/VmRecoveryPoint.d.ts +1 -33
- package/dist/lib/models/dataprotection/v4/config/VmRecoveryPoint.js +183 -206
- package/dist/lib/models/dataprotection/v4/config/VmRecoveryPointRestoreOverride.d.ts +8 -15
- package/dist/lib/models/dataprotection/v4/config/VmRecoveryPointRestoreOverride.js +211 -258
- package/dist/lib/models/dataprotection/v4/config/VolumeGroupOverrideSpec.d.ts +2 -7
- package/dist/lib/models/dataprotection/v4/config/VolumeGroupOverrideSpec.js +143 -182
- package/dist/lib/models/dataprotection/v4/config/VolumeGroupRecoveryPoint.d.ts +18 -32
- package/dist/lib/models/dataprotection/v4/config/VolumeGroupRecoveryPoint.js +283 -306
- package/dist/lib/models/dataprotection/v4/config/VolumeGroupRecoveryPointRestoreOverride.d.ts +2 -13
- package/dist/lib/models/dataprotection/v4/config/VolumeGroupRecoveryPointRestoreOverride.js +166 -207
- package/dist/lib/models/dataprotection/v4/config/VolumeGroupSyncContext.d.ts +1 -29
- package/dist/lib/models/dataprotection/v4/config/VolumeGroupSyncContext.js +148 -192
- package/dist/lib/models/dataprotection/v4/config/Witness.d.ts +1 -34
- package/dist/lib/models/dataprotection/v4/config/Witness.js +226 -278
- package/dist/lib/models/dataprotection/v4/config/WitnessAvailabilityStatus.js +7 -9
- package/dist/lib/models/dataprotection/v4/content/BaseRecoveryPointSpec.d.ts +2 -8
- package/dist/lib/models/dataprotection/v4/content/BaseRecoveryPointSpec.js +171 -212
- package/dist/lib/models/dataprotection/v4/content/ChangedRegion.d.ts +2 -9
- package/dist/lib/models/dataprotection/v4/content/ChangedRegion.js +189 -232
- package/dist/lib/models/dataprotection/v4/content/ChangedVmRegionsApiResponse.d.ts +2 -43
- package/dist/lib/models/dataprotection/v4/content/ChangedVmRegionsApiResponse.js +209 -264
- package/dist/lib/models/dataprotection/v4/content/ChangedVolumeGroupRegionsApiResponse.d.ts +2 -43
- package/dist/lib/models/dataprotection/v4/content/ChangedVolumeGroupRegionsApiResponse.js +209 -264
- package/dist/lib/models/dataprotection/v4/content/ClusterDiscoverOperation.js +9 -11
- package/dist/lib/models/dataprotection/v4/content/ClusterDiscoverSpec.d.ts +2 -8
- package/dist/lib/models/dataprotection/v4/content/ClusterDiscoverSpec.js +179 -224
- package/dist/lib/models/dataprotection/v4/content/ComputeChangedRegionsClusterDiscoverSpec.d.ts +3 -9
- package/dist/lib/models/dataprotection/v4/content/ComputeChangedRegionsClusterDiscoverSpec.js +197 -246
- package/dist/lib/models/dataprotection/v4/content/DiskRecoveryPointReference.d.ts +2 -8
- package/dist/lib/models/dataprotection/v4/content/DiskRecoveryPointReference.js +172 -213
- package/dist/lib/models/dataprotection/v4/content/FileWrapper.d.ts +36 -0
- package/dist/lib/models/dataprotection/v4/content/FileWrapper.js +200 -0
- package/dist/lib/models/dataprotection/v4/content/GetVssMetadataApiResponse.d.ts +8 -48
- package/dist/lib/models/dataprotection/v4/content/GetVssMetadataApiResponse.js +188 -242
- package/dist/lib/models/dataprotection/v4/content/GetVssMetadataClusterDiscoverSpec.d.ts +3 -8
- package/dist/lib/models/dataprotection/v4/content/GetVssMetadataClusterDiscoverSpec.js +143 -182
- package/dist/lib/models/dataprotection/v4/content/RegionType.js +7 -9
- package/dist/lib/models/dataprotection/v4/content/VmDiskRecoveryPointClusterDiscoverSpec.d.ts +1 -9
- package/dist/lib/models/dataprotection/v4/content/VmDiskRecoveryPointClusterDiscoverSpec.js +130 -169
- package/dist/lib/models/dataprotection/v4/content/VmDiskRecoveryPointReference.d.ts +1 -9
- package/dist/lib/models/dataprotection/v4/content/VmDiskRecoveryPointReference.js +130 -169
- package/dist/lib/models/dataprotection/v4/content/VmRecoveryPointChangedRegionsComputeSpec.d.ts +4 -15
- package/dist/lib/models/dataprotection/v4/content/VmRecoveryPointChangedRegionsComputeSpec.js +190 -231
- package/dist/lib/models/dataprotection/v4/content/VolumeGroupDiskRecoveryPointClusterDiscoverSpec.d.ts +1 -9
- package/dist/lib/models/dataprotection/v4/content/VolumeGroupDiskRecoveryPointClusterDiscoverSpec.js +130 -169
- package/dist/lib/models/dataprotection/v4/content/VolumeGroupDiskRecoveryPointReference.d.ts +1 -9
- package/dist/lib/models/dataprotection/v4/content/VolumeGroupDiskRecoveryPointReference.js +131 -170
- package/dist/lib/models/dataprotection/v4/content/VolumeGroupRecoveryPointChangedRegionsComputeSpec.d.ts +4 -15
- package/dist/lib/models/dataprotection/v4/content/VolumeGroupRecoveryPointChangedRegionsComputeSpec.js +190 -231
- package/dist/lib/models/dataprotection/v4/error/AppMessage.d.ts +2 -12
- package/dist/lib/models/dataprotection/v4/error/AppMessage.js +264 -313
- package/dist/lib/models/dataprotection/v4/error/ErrorResponse.d.ts +2 -7
- package/dist/lib/models/dataprotection/v4/error/ErrorResponse.js +190 -222
- package/dist/lib/models/dataprotection/v4/error/SchemaValidationError.d.ts +2 -18
- package/dist/lib/models/dataprotection/v4/error/SchemaValidationError.js +249 -300
- package/dist/lib/models/dataprotection/v4/error/SchemaValidationErrorMessage.d.ts +2 -9
- package/dist/lib/models/dataprotection/v4/error/SchemaValidationErrorMessage.js +191 -234
- package/dist/lib/models/dataprotection/v4/operations/BaseRecoveryPlanActionSpec.d.ts +73 -0
- package/dist/lib/models/dataprotection/v4/operations/BaseRecoveryPlanActionSpec.js +297 -0
- package/dist/lib/models/dataprotection/v4/operations/CleanupRecoveryPlanResourcesApiResponse.d.ts +58 -0
- package/dist/lib/models/dataprotection/v4/operations/CleanupRecoveryPlanResourcesApiResponse.js +288 -0
- package/dist/lib/models/dataprotection/v4/operations/PlannedFailoverRecoveryPlanApiResponse.d.ts +58 -0
- package/dist/lib/models/dataprotection/v4/operations/PlannedFailoverRecoveryPlanApiResponse.js +288 -0
- package/dist/lib/models/dataprotection/v4/operations/PlannedFailoverSpec.d.ts +37 -0
- package/dist/lib/models/dataprotection/v4/operations/PlannedFailoverSpec.js +274 -0
- package/dist/lib/models/dataprotection/v4/operations/TestFailoverRecoveryPlanApiResponse.d.ts +58 -0
- package/dist/lib/models/dataprotection/v4/operations/TestFailoverRecoveryPlanApiResponse.js +288 -0
- package/dist/lib/models/dataprotection/v4/operations/TestFailoverSpec.d.ts +37 -0
- package/dist/lib/models/dataprotection/v4/operations/TestFailoverSpec.js +274 -0
- package/dist/lib/models/dataprotection/v4/operations/UnplannedFailoverRecoveryPlanApiResponse.d.ts +58 -0
- package/dist/lib/models/dataprotection/v4/operations/UnplannedFailoverRecoveryPlanApiResponse.js +288 -0
- package/dist/lib/models/dataprotection/v4/operations/UnplannedFailoverSpec.d.ts +48 -0
- package/dist/lib/models/dataprotection/v4/operations/UnplannedFailoverSpec.js +311 -0
- package/dist/lib/models/dataprotection/v4/operations/ValidateRecoveryPlanApiResponse.d.ts +58 -0
- package/dist/lib/models/dataprotection/v4/operations/ValidateRecoveryPlanApiResponse.js +288 -0
- package/dist/lib/models/dataprotection/v4/operations/ValidateSpec.d.ts +24 -0
- package/dist/lib/models/dataprotection/v4/operations/ValidateSpec.js +129 -0
- package/dist/lib/models/prism/v4/config/TaskReference.d.ts +2 -7
- package/dist/lib/models/prism/v4/config/TaskReference.js +150 -183
- package/dist/lib/models/validation/ValidationError.js +26 -42
- package/dist/lib/models/validation/ValidationScopes.js +3 -3
- package/dist/lib/models/vmm/v4/ahv/config/CategoryReference.d.ts +2 -7
- package/dist/lib/models/vmm/v4/ahv/config/CategoryReference.js +142 -181
- package/dist/lib/models/vmm/v4/ahv/config/GuestStaticIpSpec.d.ts +57 -0
- package/dist/lib/models/vmm/v4/ahv/config/GuestStaticIpSpec.js +277 -0
- package/dist/lib/models/vmm/v4/ahv/config/OwnerReference.d.ts +2 -7
- package/dist/lib/models/vmm/v4/ahv/config/OwnerReference.js +142 -181
- package/dist/lib/models/vmm/v4/ahv/config/OwnershipInfo.d.ts +2 -12
- package/dist/lib/models/vmm/v4/ahv/config/OwnershipInfo.js +138 -177
- package/dist/lib/models/vmm/v4/ahv/config/SubnetReference.d.ts +2 -7
- package/dist/lib/models/vmm/v4/ahv/config/SubnetReference.js +142 -181
- package/dist/lib/models/vmm/v4/ahv/config/VmConfigOverrideSpecification.d.ts +12 -39
- package/dist/lib/models/vmm/v4/ahv/config/VmConfigOverrideSpecification.js +283 -300
- package/dist/lib/models/vmm/v4/ahv/config/VmRestoreGuestNicInfoOverrideSpec.d.ts +48 -0
- package/dist/lib/models/vmm/v4/ahv/config/VmRestoreGuestNicInfoOverrideSpec.js +245 -0
- package/dist/lib/models/vmm/v4/ahv/config/VmRestoreGuestToolsSpecification.d.ts +47 -0
- package/dist/lib/models/vmm/v4/ahv/config/VmRestoreGuestToolsSpecification.js +236 -0
- package/dist/lib/models/vmm/v4/ahv/config/VmRestoreIpv4ConfigOverrideSpec.d.ts +2 -20
- package/dist/lib/models/vmm/v4/ahv/config/VmRestoreIpv4ConfigOverrideSpec.js +173 -218
- package/dist/lib/models/vmm/v4/ahv/config/VmRestoreNicConfigOverrideParams.d.ts +12 -9
- package/dist/lib/models/vmm/v4/ahv/config/VmRestoreNicConfigOverrideParams.js +252 -269
- package/dist/lib/models/vmm/v4/ahv/config/VmRestoreNicConfigSpecification.d.ts +2 -15
- package/dist/lib/models/vmm/v4/ahv/config/VmRestoreNicConfigSpecification.js +183 -228
- package/dist/lib/models/vmm/v4/ahv/config/VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec.d.ts +2 -31
- package/dist/lib/models/vmm/v4/ahv/config/VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec.js +162 -203
- package/dist/lib/models/vmm/v4/ahv/config/VmRestoreVirtualEthernetNicOverrideSpec.d.ts +2 -7
- package/dist/lib/models/vmm/v4/ahv/config/VmRestoreVirtualEthernetNicOverrideSpec.js +142 -181
- package/dist/lib/utils/ValidationUtils.js +39 -69
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Ntnx=t():(e.Ntnx=e.Ntnx||{},e.Ntnx.Dataprotection=t())}("undefined"==typeof self?this:self,()=>(()=>{var e={19:(e,t,n)=>{"use strict";var r=n(897);function o(e){if(e)return function(e){for(var t in o.prototype)Object.prototype.hasOwnProperty.call(o.prototype,t)&&(e[t]=o.prototype[t]);return e}(e)}e.exports=o,o.prototype.get=function(e){return this.header[e.toLowerCase()]},o.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=r.type(t);var n=r.params(t);for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(this[o]=n[o]);this.links={};try{e.link&&(this.links=r.parseLinks(e.link))}catch(e){}},o.prototype._setStatusProperties=function(e){var t=e/100|0;this.statusCode=e,this.status=this.statusCode,this.statusType=t,this.info=1===t,this.ok=2===t,this.redirect=3===t,this.clientError=4===t,this.serverError=5===t,this.error=(4===t||5===t)&&this.toError(),this.created=201===e,this.accepted=202===e,this.noContent=204===e,this.badRequest=400===e,this.unauthorized=401===e,this.notAcceptable=406===e,this.forbidden=403===e,this.notFound=404===e,this.unprocessableEntity=422===e}},98:e=>{function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}e.exports=function(e){return e&&"object"===t(e)&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},340:e=>{function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}e.exports=a,a.default=a,a.stable=f,a.stableStringify=f;var n="[...]",r="[Circular]",o=[],i=[];function s(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function a(e,t,n,r){var a;void 0===r&&(r=s()),c(e,"",0,[],void 0,0,r);try{a=0===i.length?JSON.stringify(e,t,n):JSON.stringify(e,d(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==o.length;){var u=o.pop();4===u.length?Object.defineProperty(u[0],u[1],u[3]):u[0][u[1]]=u[2]}}return a}function u(e,t,n,r){var s=Object.getOwnPropertyDescriptor(r,n);void 0!==s.get?s.configurable?(Object.defineProperty(r,n,{value:e}),o.push([r,n,t,s])):i.push([t,n,e]):(r[n]=e,o.push([r,n,t]))}function c(e,o,i,s,a,l,f){var p;if(l+=1,"object"===t(e)&&null!==e){for(p=0;p<s.length;p++)if(s[p]===e)return void u(r,e,o,a);if(void 0!==f.depthLimit&&l>f.depthLimit)return void u(n,e,o,a);if(void 0!==f.edgesLimit&&i+1>f.edgesLimit)return void u(n,e,o,a);if(s.push(e),Array.isArray(e))for(p=0;p<e.length;p++)c(e[p],p,p,s,e,l,f);else{var d=Object.keys(e);for(p=0;p<d.length;p++){var y=d[p];c(e[y],y,p,s,e,l,f)}}s.pop()}}function l(e,t){return e<t?-1:e>t?1:0}function f(e,t,n,r){void 0===r&&(r=s());var a,u=p(e,"",0,[],void 0,0,r)||e;try{a=0===i.length?JSON.stringify(u,t,n):JSON.stringify(u,d(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==o.length;){var c=o.pop();4===c.length?Object.defineProperty(c[0],c[1],c[3]):c[0][c[1]]=c[2]}}return a}function p(e,i,s,a,c,f,d){var y;if(f+=1,"object"===t(e)&&null!==e){for(y=0;y<a.length;y++)if(a[y]===e)return void u(r,e,i,c);try{if("function"==typeof e.toJSON)return}catch(e){return}if(void 0!==d.depthLimit&&f>d.depthLimit)return void u(n,e,i,c);if(void 0!==d.edgesLimit&&s+1>d.edgesLimit)return void u(n,e,i,c);if(a.push(e),Array.isArray(e))for(y=0;y<e.length;y++)p(e[y],y,y,a,e,f,d);else{var v={},h=Object.keys(e).sort(l);for(y=0;y<h.length;y++){var b=h[y];p(e[b],b,y,a,e,f,d),v[b]=e[b]}if(void 0===c)return v;o.push([c,i,e]),c[i]=v}a.pop()}}function d(e){return e=void 0!==e?e:function(e,t){return t},function(t,n){if(i.length>0)for(var r=0;r<i.length;r++){var o=i[r];if(o[1]===t&&o[0]===n){n=o[2],i.splice(r,1);break}}return e.call(this,t,n)}}},388:e=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}e.exports=function(e){return null!==e&&"object"===t(e)}},540:e=>{function t(e,t){if(this._maxRetries&&this._retries++<this._maxRetries&&function(e,t,n,r){if(r)return r(e,t);if(e&&e.code&&~["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT","ENOTFOUND","ECONNREFUSED"].indexOf(e.code))return!0;if(t&&t.status){var o=t.status;if(o>=500)return!0;if((o>=400||o<200)&&-1===n.indexOf(o))return!0}return!(!e||!("timeout"in e)||"ECONNABORTED"!==e.code)||e&&"crossDomain"in e}(e,t,this._allowedStatuses,this._retryCallback)){var n;n=this._retries?this._retryDelays[this._retries-1]:0;var r=this;return setTimeout(function(){return r._retry()},n)}var o=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),o(e,t)}function n(e,t,n,r){0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),"number"==typeof t&&(t=[t]);var o=t.length,i=e-o;if(0!==i){if(i<0)throw new Error("Cannot have more delays than retries");for(var s=t[o-1],a=0;a<i+1;a++)t.push(s)}return this._maxRetries=e,this._retries=0,this._retryDelays=t||[0],this._allowedStatuses=n||[],this._retryCallback=r,this}e.exports=function(e){var r=e.Request;return r.prototype.oldRetry=r.prototype.retry,r.prototype.retry=n,r.prototype.callback=t,e}},545:()=>{},548:()=>{},585:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}var o;"undefined"!=typeof window?o=window:"undefined"==typeof self?(console.warn("Using browser-only version of superagent in non-browser environment"),o=void 0):o=self;var i=n(960),s=n(340),a=n(695),u=n(388),c=n(19),l=n(619);function f(){}e.exports=function(e,n){return"function"==typeof n?new t.Request("GET",e).end(n):1===arguments.length?new t.Request("GET",e):new t.Request(e,n)};var p=t=e.exports;t.Request=g,p.getXHR=function(){if(o.XMLHttpRequest&&(!o.location||"file:"!==o.location.protocol||!o.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw new Error("Browser-only version of superagent could not find XHR")};var d="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};function y(e){if(!u(e))return e;var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&v(t,n,e[n]);return t.join("&")}function v(e,t,n){if(void 0!==n)if(null!==n)if(Array.isArray(n))n.forEach(function(n){v(e,t,n)});else if(u(n))for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&v(e,"".concat(t,"[").concat(r,"]"),n[r]);else e.push(encodeURI(t)+"="+encodeURIComponent(n));else e.push(encodeURI(t))}function h(e){for(var t,n,r={},o=e.split("&"),i=0,s=o.length;i<s;++i)-1===(n=(t=o[i]).indexOf("="))?r[decodeURIComponent(t)]="":r[decodeURIComponent(t.slice(0,n))]=decodeURIComponent(t.slice(n+1));return r}function b(e){return/[/+]json($|[^-\w])/.test(e)}function m(e){this.req=e,this.xhr=this.req.xhr,this.text="HEAD"!==this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||void 0===this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText;var t=this.xhr.status;1223===t&&(t=204),this._setStatusProperties(t),this.headers=function(e){for(var t,n,r,o,i=e.split(/\r?\n/),s={},a=0,u=i.length;a<u;++a)-1!==(t=(n=i[a]).indexOf(":"))&&(r=n.slice(0,t).toLowerCase(),o=d(n.slice(t+1)),s[r]=o);return s}(this.xhr.getAllResponseHeaders()),this.header=this.headers,this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this._setHeaderProperties(this.header),null===this.text&&e._responseType?this.body=this.xhr.response:this.body="HEAD"===this.req.method?null:this._parseBody(this.text?this.text:this.xhr.response)}function g(e,t){var n=this;this._query=this._query||[],this.method=e,this.url=t,this.header={},this._header={},this.on("end",function(){var e,t=null,r=null;try{r=new m(n)}catch(e){return(t=new Error("Parser is unable to parse the response")).parse=!0,t.original=e,n.xhr?(t.rawResponse=void 0===n.xhr.responseType?n.xhr.responseText:n.xhr.response,t.status=n.xhr.status?n.xhr.status:null,t.statusCode=t.status):(t.rawResponse=null,t.status=null),n.callback(t)}n.emit("response",r);try{n._isResponseOK(r)||(e=new Error(r.statusText||r.text||"Unsuccessful HTTP response"))}catch(t){e=t}e?(e.original=t,e.response=r,e.status=r.status,n.callback(e,r)):n.callback(null,r)})}function w(e,t,n){var r=p("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r}p.serializeObject=y,p.parseString=h,p.types={html:"text/html",json:"application/json",xml:"text/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},p.serialize={"application/x-www-form-urlencoded":y,"application/json":s},p.parse={"application/x-www-form-urlencoded":h,"application/json":JSON.parse},c(m.prototype),m.prototype._parseBody=function(e){var t=p.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&b(this.type)&&(t=p.parse["application/json"]),t&&e&&(e.length>0||e instanceof Object)?t(e):null)},m.prototype.toError=function(){var e=this.req,t=e.method,n=e.url,r="cannot ".concat(t," ").concat(n," (").concat(this.status,")"),o=new Error(r);return o.status=this.status,o.method=t,o.url=n,o},p.Response=m,i(g.prototype),a(g.prototype),g.prototype.type=function(e){return this.set("Content-Type",p.types[e]||e),this},g.prototype.accept=function(e){return this.set("Accept",p.types[e]||e),this},g.prototype.auth=function(e,t,n){return 1===arguments.length&&(t=""),"object"===r(t)&&null!==t&&(n=t,t=""),n||(n={type:"function"==typeof btoa?"basic":"auto"}),this._auth(e,t,n,function(e){if("function"==typeof btoa)return btoa(e);throw new Error("Cannot use basic auth, btoa is not a function")})},g.prototype.query=function(e){return"string"!=typeof e&&(e=y(e)),e&&this._query.push(e),this},g.prototype.attach=function(e,t,n){if(t){if(this._data)throw new Error("superagent can't mix .send() and .attach()");this._getFormData().append(e,t,n||t.name)}return this},g.prototype._getFormData=function(){return this._formData||(this._formData=new o.FormData),this._formData},g.prototype.callback=function(e,t){if(this._shouldRetry(e,t))return this._retry();var n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)},g.prototype.crossDomainError=function(){var e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},g.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},g.prototype.ca=g.prototype.agent,g.prototype.buffer=g.prototype.ca,g.prototype.write=function(){throw new Error("Streaming is not supported in browser version of superagent")},g.prototype.pipe=g.prototype.write,g.prototype._isHost=function(e){return e&&"object"===r(e)&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},g.prototype.end=function(e){this._endCalled&&console.warn("Warning: .end() was called twice. This is not supported in superagent"),this._endCalled=!0,this._callback=e||f,this._finalizeQueryString(),this._end()},g.prototype._setUploadTimeout=function(){var e=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout(function(){e._timeoutError("Upload timeout of ",e._uploadTimeout,"ETIMEDOUT")},this._uploadTimeout))},g.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));var e=this;this.xhr=p.getXHR();var t=this.xhr,n=this._formData||this._data;this._setTimeouts(),t.onreadystatechange=function(){var n=t.readyState;if(n>=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4===n){var r;try{r=t.status}catch(e){r=0}if(!r){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}};var r=function(t,n){n.total>0&&(n.percent=n.loaded/n.total*100,100===n.percent&&clearTimeout(e._uploadTimeoutTimer)),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.addEventListener("progress",r.bind(null,"download")),t.upload&&t.upload.addEventListener("progress",r.bind(null,"upload"))}catch(e){}t.upload&&this._setUploadTimeout();try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(e){return this.callback(e)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!==this.method&&"HEAD"!==this.method&&"string"!=typeof n&&!this._isHost(n)){var o=this._header["content-type"],i=this._serializer||p.serialize[o?o.split(";")[0]:""];!i&&b(o)&&(i=p.serialize["application/json"]),i&&(n=i(n))}for(var s in this.header)null!==this.header[s]&&Object.prototype.hasOwnProperty.call(this.header,s)&&t.setRequestHeader(s,this.header[s]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0===n?null:n)},p.agent=function(){return new l},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach(function(e){l.prototype[e.toLowerCase()]=function(t,n){var r=new p.Request(e,t);return this._setDefaults(r),n&&r.end(n),r}}),l.prototype.del=l.prototype.delete,p.get=function(e,t,n){var r=p("GET",e);return"function"==typeof t&&(n=t,t=null),t&&r.query(t),n&&r.end(n),r},p.head=function(e,t,n){var r=p("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&r.query(t),n&&r.end(n),r},p.options=function(e,t,n){var r=p("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},p.del=w,p.delete=w,p.patch=function(e,t,n){var r=p("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},p.post=function(e,t,n){var r=p("POST",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},p.put=function(e,t,n){var r=p("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r}},597:e=>{"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},619:e=>{"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function n(){this._defaults=[]}["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert","disableTLSCerts"].forEach(function(e){n.prototype[e]=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return this._defaults.push({fn:e,args:n}),this}}),n.prototype._setDefaults=function(e){this._defaults.forEach(function(n){var r;e[n.fn].apply(e,function(e){if(Array.isArray(e))return t(e)}(r=n.args)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(r)||function(e,n){if(e){if("string"==typeof e)return t(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())})},e.exports=n},695:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}var o=n(388);function i(e){if(e)return function(e){for(var t in i.prototype)Object.prototype.hasOwnProperty.call(i.prototype,t)&&(e[t]=i.prototype[t]);return e}(e)}e.exports=i,i.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},i.prototype.parse=function(e){return this._parser=e,this},i.prototype.responseType=function(e){return this._responseType=e,this},i.prototype.serialize=function(e){return this._serializer=e,this},i.prototype.timeout=function(e){if(!e||"object"!==r(e))return this._timeout=e,this._responseTimeout=0,this._uploadTimeout=0,this;for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(t){case"deadline":this._timeout=e.deadline;break;case"response":this._responseTimeout=e.response;break;case"upload":this._uploadTimeout=e.upload;break;default:console.warn("Unknown timeout option",t)}return this},i.prototype.retry=function(e,t){return 0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),this._maxRetries=e,this._retries=0,this._retryCallback=t,this};var s=["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT"];i.prototype._shouldRetry=function(e,t){if(!this._maxRetries||this._retries++>=this._maxRetries)return!1;if(this._retryCallback)try{var n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(e){console.error(e)}if(t&&t.status&&t.status>=500&&501!==t.status)return!0;if(e){if(e.code&&s.includes(e.code))return!0;if(e.timeout&&"ECONNABORTED"===e.code)return!0;if(e.crossDomain)return!0}return!1},i.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this.timedoutError=null,this._end()},i.prototype.then=function(e,t){var n=this;if(!this._fullfilledPromise){var r=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(function(e,t){r.on("abort",function(){if(!(n._maxRetries&&n._maxRetries>n._retries))if(n.timedout&&n.timedoutError)t(n.timedoutError);else{var e=new Error("Aborted");e.code="ABORTED",e.status=n.status,e.method=n.method,e.url=n.url,t(e)}}),r.end(function(n,r){n?t(n):e(r)})})}return this._fullfilledPromise.then(e,t)},i.prototype.catch=function(e){return this.then(void 0,e)},i.prototype.use=function(e){return e(this),this},i.prototype.ok=function(e){if("function"!=typeof e)throw new Error("Callback required");return this._okCallback=e,this},i.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},i.prototype.get=function(e){return this._header[e.toLowerCase()]},i.prototype.getHeader=i.prototype.get,i.prototype.set=function(e,t){if(o(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.set(n,e[n]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},i.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},i.prototype.field=function(e,t){if(null==e)throw new Error(".field(name, val) name can not be empty");if(this._data)throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");if(o(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.field(n,e[n]);return this}if(Array.isArray(t)){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&this.field(e,t[r]);return this}if(null==t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=String(t)),this._getFormData().append(e,t),this},i.prototype.abort=function(){return this._aborted||(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort")),this},i.prototype._auth=function(e,t,n,r){switch(n.type){case"basic":this.set("Authorization","Basic ".concat(r("".concat(e,":").concat(t))));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer ".concat(e))}return this},i.prototype.withCredentials=function(e){return void 0===e&&(e=!0),this._withCredentials=e,this},i.prototype.redirects=function(e){return this._maxRedirects=e,this},i.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw new TypeError("Invalid argument");return this._maxResponseSize=e,this},i.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},i.prototype.send=function(e){var t=o(e),n=this._header["content-type"];if(this._formData)throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");if(t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw new Error("Can't merge these send calls");if(t&&o(this._data))for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(this._data[r]=e[r]);else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],this._data="application/x-www-form-urlencoded"===n?this._data?"".concat(this._data,"&").concat(e):e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)||n||this.type("json"),this},i.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},i.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(this.url.includes("?")?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(t>=0){var n=this.url.slice(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.slice(0,t)+"?"+n.join("&")}}},i.prototype._appendQueryString=function(){console.warn("Unsupported")},i.prototype._timeoutError=function(e,t,n){if(!this._aborted){var r=new Error("".concat(e+t,"ms exceeded"));r.timeout=t,r.code="ECONNABORTED",r.errno=n,this.timedout=!0,this.timedoutError=r,this.abort(),this.callback(r)}},i.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")},this._responseTimeout))}},784:(e,t,n)=>{"use strict";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}var o="win32"===process.platform,i=n(818);function s(e,t){for(var n=[],r=0;r<e.length;r++){var o=e[r];o&&"."!==o&&(".."===o?n.length&&".."!==n[n.length-1]?n.pop():t&&n.push(".."):n.push(o))}return n}function a(e){for(var t=e.length-1,n=0;n<=t&&!e[n];n++);for(var r=t;r>=0&&!e[r];r--);return 0===n&&r===t?e:n>r?[]:e.slice(n,r+1)}var u=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,c=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,l={};function f(e){var t=u.exec(e),n=(t[1]||"")+(t[2]||""),r=t[3]||"",o=c.exec(r);return[n,o[1],o[2],o[3]]}function p(e){var t=u.exec(e),n=t[1]||"",r=!!n&&":"!==n[1];return{device:n,isUnc:r,isAbsolute:r||!!t[2],tail:t[3]}}function d(e){return"\\\\"+e.replace(/^[\\\/]+/,"").replace(/[\\\/]+/g,"\\")}l.resolve=function(){for(var e="",t="",n=!1,r=arguments.length-1;r>=-1;r--){var o;if(r>=0?o=arguments[r]:e?(o=process.env["="+e])&&o.substr(0,3).toLowerCase()===e.toLowerCase()+"\\"||(o=e+"\\"):o=process.cwd(),!i.isString(o))throw new TypeError("Arguments to path.resolve must be strings");if(o){var a=p(o),u=a.device,c=a.isUnc,l=a.isAbsolute,f=a.tail;if((!u||!e||u.toLowerCase()===e.toLowerCase())&&(e||(e=u),n||(t=f+"\\"+t,n=l),e&&n))break}}return c&&(e=d(e)),e+(n?"\\":"")+(t=s(t.split(/[\\\/]+/),!n).join("\\"))||"."},l.normalize=function(e){var t=p(e),n=t.device,r=t.isUnc,o=t.isAbsolute,i=t.tail,a=/[\\\/]$/.test(i);return(i=s(i.split(/[\\\/]+/),!o).join("\\"))||o||(i="."),i&&a&&(i+="\\"),r&&(n=d(n)),n+(o?"\\":"")+i},l.isAbsolute=function(e){return p(e).isAbsolute},l.join=function(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(!i.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&e.push(n)}var r=e.join("\\");return/^[\\\/]{2}[^\\\/]/.test(e[0])||(r=r.replace(/^[\\\/]{2,}/,"\\")),l.normalize(r)},l.relative=function(e,t){e=l.resolve(e),t=l.resolve(t);for(var n=e.toLowerCase(),r=t.toLowerCase(),o=a(t.split("\\")),i=a(n.split("\\")),s=a(r.split("\\")),u=Math.min(i.length,s.length),c=u,f=0;f<u;f++)if(i[f]!==s[f]){c=f;break}if(0==c)return t;var p=[];for(f=c;f<i.length;f++)p.push("..");return(p=p.concat(o.slice(c))).join("\\")},l._makeLong=function(e){if(!i.isString(e))return e;if(!e)return"";var t=l.resolve(e);return/^[a-zA-Z]\:\\/.test(t)?"\\\\?\\"+t:/^\\\\[^?.]/.test(t)?"\\\\?\\UNC\\"+t.substring(2):e},l.dirname=function(e){var t=f(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},l.basename=function(e,t){var n=f(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},l.extname=function(e){return f(e)[3]},l.format=function(e){if(!i.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+r(e));var t=e.root||"";if(!i.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+r(e.root));var n=e.dir,o=e.base||"";return n?n[n.length-1]===l.sep?n+o:n+l.sep+o:o},l.parse=function(e){if(!i.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+r(e));var t=f(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},l.sep="\\",l.delimiter=";";var y=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,v={};function h(e){return y.exec(e).slice(1)}v.resolve=function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:process.cwd();if(!i.isString(r))throw new TypeError("Arguments to path.resolve must be strings");r&&(e=r+"/"+e,t="/"===r[0])}return(t?"/":"")+(e=s(e.split("/"),!t).join("/"))||"."},v.normalize=function(e){var t=v.isAbsolute(e),n=e&&"/"===e[e.length-1];return(e=s(e.split("/"),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},v.isAbsolute=function(e){return"/"===e.charAt(0)},v.join=function(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];if(!i.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&(e+=e?"/"+n:n)}return v.normalize(e)},v.relative=function(e,t){e=v.resolve(e).substr(1),t=v.resolve(t).substr(1);for(var n=a(e.split("/")),r=a(t.split("/")),o=Math.min(n.length,r.length),i=o,s=0;s<o;s++)if(n[s]!==r[s]){i=s;break}var u=[];for(s=i;s<n.length;s++)u.push("..");return(u=u.concat(r.slice(i))).join("/")},v._makeLong=function(e){return e},v.dirname=function(e){var t=h(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},v.basename=function(e,t){var n=h(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},v.extname=function(e){return h(e)[3]},v.format=function(e){if(!i.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+r(e));var t=e.root||"";if(!i.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+r(e.root));return(e.dir?e.dir+v.sep:"")+(e.base||"")},v.parse=function(e){if(!i.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+r(e));var t=h(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return t[1]=t[1]||"",t[2]=t[2]||"",t[3]=t[3]||"",{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},v.sep="/",v.delimiter=":",e.exports=o?l:v,e.exports.posix=v,e.exports.win32=l},799:()=>{},818:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}var o=/%[sdj%]/g;t.format=function(e){if(!b(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(a(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,i=r.length,s=String(e).replace(o,function(e){if("%%"===e)return"%";if(n>=i)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}}),u=r[n];n<i;u=r[++n])v(u)||!w(u)?s+=" "+u:s+=" "+a(u);return s},t.deprecate=function(e,r){if(m(n.g.process))return function(){return t.deprecate(e,r).apply(this,arguments)};if(!0===process.noDeprecation)return e;var o=!1;return function(){if(!o){if(process.throwDeprecation)throw new Error(r);process.traceDeprecation?console.trace(r):console.error(r),o=!0}return e.apply(this,arguments)}};var i,s={};function a(e,n){var r={seen:[],stylize:c};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(n)?r.showHidden=n:n&&t._extend(r,n),m(r.showHidden)&&(r.showHidden=!1),m(r.depth)&&(r.depth=2),m(r.colors)&&(r.colors=!1),m(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=u),l(r,e,r.depth)}function u(e,t){var n=a.styles[t];return n?"["+a.colors[n][0]+"m"+e+"["+a.colors[n][1]+"m":e}function c(e,t){return e}function l(e,n,r){if(e.customInspect&&n&&k(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var o=n.inspect(r,e);return b(o)||(o=l(e,o,r)),o}var i=function(e,t){if(m(t))return e.stylize("undefined","undefined");if(b(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return h(t)?e.stylize(""+t,"number"):y(t)?e.stylize(""+t,"boolean"):v(t)?e.stylize("null","null"):void 0}(e,n);if(i)return i;var s=Object.keys(n),a=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(s);if(e.showHidden&&(s=Object.getOwnPropertyNames(n)),j(n)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return f(n);if(0===s.length){if(k(n)){var u=n.name?": "+n.name:"";return e.stylize("[Function"+u+"]","special")}if(g(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(O(n))return e.stylize(Date.prototype.toString.call(n),"date");if(j(n))return f(n)}var c,w="",$=!1,P=["{","}"];return d(n)&&($=!0,P=["[","]"]),k(n)&&(w=" [Function"+(n.name?": "+n.name:"")+"]"),g(n)&&(w=" "+RegExp.prototype.toString.call(n)),O(n)&&(w=" "+Date.prototype.toUTCString.call(n)),j(n)&&(w=" "+f(n)),0!==s.length||$&&0!=n.length?r<0?g(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),c=$?function(e,t,n,r,o){for(var i=[],s=0,a=t.length;s<a;++s)E(t,String(s))?i.push(p(e,t,n,r,String(s),!0)):i.push("");return o.forEach(function(o){o.match(/^\d+$/)||i.push(p(e,t,n,r,o,!0))}),i}(e,n,r,a,s):s.map(function(t){return p(e,n,r,a,t,$)}),e.seen.pop(),function(e,t,n){return e.reduce(function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(c,w,P)):P[0]+w+P[1]}function f(e){return"["+Error.prototype.toString.call(e)+"]"}function p(e,t,n,r,o,i){var s,a,u;if((u=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?a=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(a=e.stylize("[Setter]","special")),E(r,o)||(s="["+o+"]"),a||(e.seen.indexOf(u.value)<0?(a=v(n)?l(e,u.value,null):l(e,u.value,n-1)).indexOf("\n")>-1&&(a=i?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n")):a=e.stylize("[Circular]","special")),m(s)){if(i&&o.match(/^\d+$/))return a;(s=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+a}function d(e){return Array.isArray(e)}function y(e){return"boolean"==typeof e}function v(e){return null===e}function h(e){return"number"==typeof e}function b(e){return"string"==typeof e}function m(e){return void 0===e}function g(e){return w(e)&&"[object RegExp]"===$(e)}function w(e){return"object"===r(e)&&null!==e}function O(e){return w(e)&&"[object Date]"===$(e)}function j(e){return w(e)&&("[object Error]"===$(e)||e instanceof Error)}function k(e){return"function"==typeof e}function $(e){return Object.prototype.toString.call(e)}function P(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(m(i)&&(i=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!s[e])if(new RegExp("\\b"+e+"\\b","i").test(i)){var n=process.pid;s[e]=function(){var r=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,r)}}else s[e]=function(){};return s[e]},t.inspect=a,a.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},a.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=d,t.isBoolean=y,t.isNull=v,t.isNullOrUndefined=function(e){return null==e},t.isNumber=h,t.isString=b,t.isSymbol=function(e){return"symbol"===r(e)},t.isUndefined=m,t.isRegExp=g,t.isObject=w,t.isDate=O,t.isError=j,t.isFunction=k,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"===r(e)||void 0===e},t.isBuffer=n(98);var T=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function E(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,n;console.log("%s - %s",(n=[P((e=new Date).getHours()),P(e.getMinutes()),P(e.getSeconds())].join(":"),[e.getDate(),T[e.getMonth()],n].join(" ")),t.format.apply(t,arguments))},t.inherits=n(597),t._extend=function(e,t){if(!t||!w(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}},897:(e,t)=>{"use strict";t.type=function(e){return e.split(/ *; */).shift()},t.params=function(e){return e.split(/ *; */).reduce(function(e,t){var n=t.split(/ *= */),r=n.shift(),o=n.shift();return r&&o&&(e[r]=o),e},{})},t.parseLinks=function(e){return e.split(/ *, */).reduce(function(e,t){var n=t.split(/ *; */),r=n[0].slice(1,-1);return e[n[1].split(/ *= */)[1].slice(1,-1)]=r,e},{})},t.cleanHeader=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e}},960:e=>{function t(e){if(e)return function(e){for(var n in t.prototype)e[n]=t.prototype[n];return e}(e)}e.exports=t,t.prototype.on=t.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},t.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},t.prototype.off=t.prototype.removeListener=t.prototype.removeAllListeners=t.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<r.length;o++)if((n=r[o])===t||n.fn===t){r.splice(o,1);break}return 0===r.length&&delete this._callbacks["$"+e],this},t.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],r=1;r<arguments.length;r++)t[r-1]=arguments[r];if(n){r=0;for(var o=(n=n.slice(0)).length;r<o;++r)n[r].apply(this,t)}return this},t.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},t.prototype.hasListeners=function(e){return!!this.listeners(e).length}},965:()=>{}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var r={};return(()=>{"use strict";n.d(r,{default:()=>Tm});var e=n(585),t=n.n(e);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,a(r.key),r)}}function a(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}var u,c=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return t=e,n=[{key:"getFirstPage",value:function(){return this.isFirstPage()?Promise.reject("Cannot navigate to first page : already on first page"):null===this.linkFirst?Promise.reject("No link to first page provided in previous API response"):this._getLink(this.linkFirst)}},{key:"getPrevPage",value:function(){return this.isFirstPage()?Promise.reject("Cannot navigate to previous page : already on first page"):null===this.linkPrev?Promise.reject("No link to previous page provided in previous API response"):this._getLink(this.linkPrev)}},{key:"getNextPage",value:function(){return this.isLastPage()?Promise.reject("Cannot navigate to next page : already on last page"):null===this.linkNext?Promise.reject("No link to next page provided in previous API response"):this._getLink(this.linkNext)}},{key:"getLastPage",value:function(){return this.isLastPage()?Promise.reject("Cannot navigate to last page : already on last page"):null===this.linkLast?Promise.reject("No link to last page provided in previous API response"):this._getLink(this.linkLast)}},{key:"currentPage",value:function(){return null===this.page?0:this.page}},{key:"countPages",value:function(){return null===this.resultsPerPage||null===this.resultsTotal||0===this.resultsPerPage?1:Math.ceil(this.resultsTotal/this.resultsPerPage)}},{key:"isFirstPage",value:function(){return 0===this.currentPage()}},{key:"isLastPage",value:function(){return this.currentPage()===this.countPages()-1}},{key:"populatePaginationMetadata",value:function(e,t,n){this.apiClient=e,this.page=t,this.resultsPerPage=n}},{key:"_getLink",value:function(e){null===this.apiClient&&(this.apiClient=ct.instance);var t=this.constructor;return this.apiClient.callApi(e,"GET",{},{},{},{},{},[],[],["application/json"],t)}}],r=[{key:"constructFromObject",value:function(t,n){if(t){if(n=n||new e,t.hasOwnProperty("links")&&null!==t.links&&void 0!==t.links){var r,o=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return i(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,a=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){u=!0,s=e},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw s}}}}(t.links);try{for(o.s();!(r=o.n()).done;){var s=r.value;if(s.hasOwnProperty("rel")&&s.hasOwnProperty("href"))switch(s.rel){case"first":n.linkFirst=s.href;break;case"prev":n.linkPrev=s.href;break;case"next":n.linkNext=s.href;break;case"last":n.linkLast=s.href}}}catch(e){o.e(e)}finally{o.f()}}t.hasOwnProperty("totalAvailableResults")&&(n.resultsTotal=t.totalAvailableResults)}return n}}],n&&s(t.prototype,n),r&&s(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();c.prototype.linkFirst=null,c.prototype.linkPrev=null,c.prototype.linkNext=null,c.prototype.linkLast=null,c.prototype.apiClient=null,c.prototype.page=null,c.prototype.resultsPerPage=null,c.prototype.resultsTotal=null;var l=new Uint8Array(16);function f(){if(!u&&!(u="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return u(l)}const p=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var d=[],y=0;y<256;++y)d.push((y+256).toString(16).substr(1));const v=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(d[e[t+0]]+d[e[t+1]]+d[e[t+2]]+d[e[t+3]]+"-"+d[e[t+4]]+d[e[t+5]]+"-"+d[e[t+6]]+d[e[t+7]]+"-"+d[e[t+8]]+d[e[t+9]]+"-"+d[e[t+10]]+d[e[t+11]]+d[e[t+12]]+d[e[t+13]]+d[e[t+14]]+d[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&p.test(e)}(n))throw TypeError("Stringified UUID is invalid");return n},h=function(e,t,n){var r=(e=e||{}).random||(e.rng||f)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var o=0;o<16;++o)t[n+o]=r[o];return t}return v(r)};var b=n(540),m=n.n(b),g=n(545),w=n.n(g),O=n(799),j=n.n(O),k=n(784),$=n.n(k),P=n(548),T={DEFAULT:"DEFAULT",constructFromObject:function(e){if("string"==typeof e||e instanceof String)return T[e];throw new Error("Received object name is not an instance of String")},validate:function(e){if(null!=e){if(e===T.DEFAULT)return;throw new Error("Invalid : must be ValidationScopes.{ }")}}};Object.freeze(T);const E=T;function F(e){return F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},F(e)}function S(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,I(r.key),r)}}function I(e){var t=function(e){if("object"!=F(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=F(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==F(t)?t:t+""}var R=function(){return e=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)},t=[{key:"validateMaximum",value:function(e,t){return!(null===t||e>t)}},{key:"validateMinimum",value:function(e,t){return!(null===t||e<t)}},{key:"validateExclusiveMaximum",value:function(e,t){return!(null===t||e>t)}},{key:"validateExclusiveMinimum",value:function(e,t){return!(null===t||e>t)}},{key:"validateMultipleOf",value:function(e,t){return!(null===t||e%t===0)}},{key:"validateMaxLength",value:function(e,t){return!(null===t||e.length>t)}},{key:"validateMinLength",value:function(e,t){return!(null===t||e.length<t)}},{key:"validatePattern",value:function(e,t){return!(null===t||null===e.match(t))}},{key:"validateMaxItems",value:function(e,t){return!(null===t||e.length>t)}},{key:"validateMinItems",value:function(e,t){return!(null===t||e.length<t)}},{key:"validateUniqueItems",value:function(e,t){return!(null===t||!t||e.length!==new Set(e).size)}}],null&&S(e.prototype,null),t&&S(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function x(e){return x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},x(e)}function A(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,D(r.key),r)}}function D(e){var t=function(e){if("object"!=x(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=x(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==x(t)?t:t+""}var C=function(){return e=function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=t,this.message=n},(t=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"getMessage",value:function(){return this.message}},{key:"setMessage",value:function(e){this.message=e}},{key:"toJson",value:function(){return{name:this.getName(),message:this.getMessage()}}}])&&A(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function N(e){return N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},N(e)}function _(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function J(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_(Object(n),!0).forEach(function(t){M(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function M(e,t,n){return(t=L(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function U(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,L(r.key),r)}}function L(e){var t=function(e){if("object"!=N(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=N(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==N(t)?t:t+""}var G=new WeakSet,V=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,G),this.$objectType="common.v1.config.Flag",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"getValue",value:function(){return this.value}},{key:"setValue",value:function(e){this.value=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return J(J(J({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!R.validateMaxLength(this.name,128))return new C("name","does not satisfy required maxLength constraint: 128");if(!R.validateMinLength(this.name,3))return new C("name","does not satisfy required minLength constraint: 3")}return"value"!==t||void 0!==this.value&&null!==this.value?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("value","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("name")&&null!==t.name&&void 0!==t.name&&n.setName(t.name),t.hasOwnProperty("value")&&null!==t.value&&void 0!==t.value&&n.setValue(t.value),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=J({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&U(t.prototype,n),r&&U(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function W(e){return W="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},W(e)}function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function q(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function z(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?q(Object(n),!0).forEach(function(t){K(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):q(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function K(e,t,n){return(t=Z(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function H(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Z(r.key),r)}}function Z(e){var t=function(e){if("object"!=W(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=W(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==W(t)?t:t+""}function X(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}V.prototype.name=void 0,V.prototype.value=!1,V.prototype.$reserved=void 0,V.prototype.$objectType=void 0,V.prototype.$unknownFields=void 0;var Y=new WeakSet,Q=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Y),this.$objectType="common.v1.config.MapOfStringWrapper",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getMap",value:function(){return this.map}},{key:"setMap",value:function(e){this.map=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return z(z({},!1===e?void 0!==this.getMap()&&null!==this.getMap()?{map:X(Y,this,ee).call(this,this.getMap(),!1)}:{}:void 0!==this.getMap()&&null!==this.getMap()?{map:X(Y,this,ee).call(this,this.getMap())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"map"!==t||void 0!==this.map&&null!==this.map?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("map","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("map")&&null!==t.map&&void 0!==t.map&&n.setMap(t.map),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=z({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&H(t.prototype,n),r&&H(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function ee(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return B(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?B(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===W(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function te(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ne(e){return ne="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ne(e)}function re(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function oe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?re(Object(n),!0).forEach(function(t){ie(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):re(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ie(e,t,n){return(t=ae(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function se(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ae(r.key),r)}}function ae(e){var t=function(e){if("object"!=ne(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ne(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ne(t)?t:t+""}function ue(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Q.prototype.map=void 0,Q.prototype.$reserved=void 0,Q.prototype.$objectType=void 0,Q.prototype.$unknownFields=void 0;var ce=new WeakSet,le=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ce),this.$objectType="common.v1.config.KVPair",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"getValue",value:function(){return this.value}},{key:"setValue",value:function(e){this.value=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return oe(oe(oe({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),!1===e?void 0!==this.getValue()&&null!==this.getValue()?{value:void 0!==this.getValue().toJson?this.getValue().toJson(!1):Array.isArray(this.getValue())?this.getValue().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):ue(ce,this,fe).call(this,this.getValue(),!1)}:{}:void 0!==this.getValue()&&null!==this.getValue()?{value:void 0!==this.getValue().toJson?this.getValue().toJson():Array.isArray(this.getValue())?this.getValue().map(function(e){return void 0!==e.toJson?e.toJson():e}):ue(ce,this,fe).call(this,this.getValue())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!R.validateMaxLength(this.name,128))return new C("name","does not satisfy required maxLength constraint: 128");if(!R.validateMinLength(this.name,3))return new C("name","does not satisfy required minLength constraint: 3")}return"value"!==t||void 0!==this.value&&null!==this.value?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("value","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i,s,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(a=a||new e,t.hasOwnProperty("name")&&null!==t.name&&void 0!==t.name&&a.setName(t.name),t.hasOwnProperty("value")&&null!==t.value&&void 0!==t.value)if(Array.isArray(t.value))if(0===t.value.length)a.setValue([]);else{for(i=[],s=(n=t.value)[0].hasOwnProperty("$objectType")?n[0].$objectType:ne(n[0]),o=0;o<n.length;o++)switch(s){case"string":case"integer":case"number":i.push(n[o]);break;case"common.v1.config.MapOfStringWrapper":r=Q.constructFromObject(n[o],void 0),i.push(r);break;default:throw"Unknown list of type "+s+" in data"}a.setValue(i)}else switch(s=t.value.hasOwnProperty("$objectType")?t.value.$objectType:ne(t.value)){case"string":case"boolean":case"number":a.setValue(t.value);break;case"object":a.setValue(new Map(Object.entries(t.value)));break;default:throw"Unknown datatype "+s+" in data"}if(t.hasOwnProperty("$reserved")&&(a.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(a.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(a.$unknownFields=t.$unknownFields),!u)for(var c in a.$unknownFields=oe({},t.$unknownFields),t)Object.keys(a).includes(c)||Object.keys(a).includes(this.snakeToCamel(c))||"$"===c[0]&&c.endsWith("ItemDiscriminator")||(a.$unknownFields[c]=t[c])}return a}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&se(t.prototype,n),r&&se(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function fe(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return te(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?te(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===ne(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}le.prototype.name=void 0,le.prototype.value=void 0,le.prototype.$reserved=void 0,le.prototype.$objectType=void 0,le.prototype.$unknownFields=void 0;var pe={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",INFO:"INFO",WARNING:"WARNING",ERROR:"ERROR",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(pe).find(function(t){return pe[t]===e});return null==t?pe.$UNKNOWN:pe[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case pe.$UNKNOWN:case pe.$REDACTED:case pe.INFO:case pe.WARNING:case pe.ERROR:return;default:throw new Error("Invalid : must be MessageSeverity.{ $UNKNOWN|$REDACTED|INFO|WARNING|ERROR }")}}};Object.freeze(pe);const de=pe;function ye(e){return ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ye(e)}function ve(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function he(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ve(Object(n),!0).forEach(function(t){be(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ve(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function be(e,t,n){return(t=ge(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function me(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ge(r.key),r)}}function ge(e){var t=function(e){if("object"!=ye(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ye(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ye(t)?t:t+""}var we=new WeakSet,Oe=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,we),this.$objectType="common.v1.config.Message",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getCode",value:function(){return this.code}},{key:"setCode",value:function(e){this.code=e}},{key:"getMessage",value:function(){return this.message}},{key:"setMessage",value:function(e){this.message=e}},{key:"getLocale",value:function(){return this.locale}},{key:"setLocale",value:function(e){this.locale=e}},{key:"getSeverity",value:function(){return this.severity}},{key:"setSeverity",value:function(e){this.severity=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return he(he(he(he(he({},void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{}),void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{}),void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{}),void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"code"!==t||void 0!==this.code&&null!==this.code?"message"!==t||void 0!==this.message&&null!==this.message?"locale"!==t||void 0!==this.locale&&null!==this.locale?"severity"!==t||void 0!==this.severity&&null!==this.severity?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("severity","undefined or null"):new C("locale","undefined or null"):new C("message","undefined or null"):new C("code","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("code")&&null!==t.code&&void 0!==t.code&&n.setCode(t.code),t.hasOwnProperty("message")&&null!==t.message&&void 0!==t.message&&n.setMessage(t.message),t.hasOwnProperty("locale")&&null!==t.locale&&void 0!==t.locale&&n.setLocale(t.locale),t.hasOwnProperty("severity")&&null!==t.severity&&void 0!==t.severity&&n.setSeverity(de.constructFromObject(t.severity)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=he({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&me(t.prototype,n),r&&me(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function je(e){return je="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},je(e)}function ke(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $e(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ke(Object(n),!0).forEach(function(t){Pe(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ke(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Pe(e,t,n){return(t=Ee(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Te(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ee(r.key),r)}}function Ee(e){var t=function(e){if("object"!=je(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=je(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==je(t)?t:t+""}Oe.prototype.code=void 0,Oe.prototype.message=void 0,Oe.prototype.locale="en_US",Oe.prototype.severity=void 0,Oe.prototype.$reserved=void 0,Oe.prototype.$objectType=void 0,Oe.prototype.$unknownFields=void 0;var Fe=new WeakSet,Se=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Fe),this.$objectType="common.v1.response.ApiLink",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getHref",value:function(){return this.href}},{key:"setHref",value:function(e){this.href=e}},{key:"getRel",value:function(){return this.rel}},{key:"setRel",value:function(e){this.rel=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return $e($e($e({},void 0!==this.getHref()&&null!==this.getHref()?{href:this.getHref()}:{}),void 0!==this.getRel()&&null!==this.getRel()?{rel:this.getRel()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"href"!==t||void 0!==this.href&&null!==this.href?"rel"!==t||void 0!==this.rel&&null!==this.rel?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("rel","undefined or null"):new C("href","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("href")&&null!==t.href&&void 0!==t.href&&n.setHref(t.href),t.hasOwnProperty("rel")&&null!==t.rel&&void 0!==t.rel&&n.setRel(t.rel),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=$e({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Te(t.prototype,n),r&&Te(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Ie(e){return Ie="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ie(e)}function Re(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function xe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Re(Object(n),!0).forEach(function(t){Ae(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Re(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ae(e,t,n){return(t=Ce(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function De(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ce(r.key),r)}}function Ce(e){var t=function(e){if("object"!=Ie(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ie(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ie(t)?t:t+""}Se.prototype.href=void 0,Se.prototype.rel=void 0,Se.prototype.$reserved=void 0,Se.prototype.$objectType=void 0,Se.prototype.$unknownFields=void 0;var Ne,_e=new WeakSet,Je=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,_e),this.$objectType="common.v1.response.ApiResponseMetadata",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getFlags",value:function(){return this.flags}},{key:"setFlags",value:function(e){this.flags=e}},{key:"getLinks",value:function(){return this.links}},{key:"setLinks",value:function(e){this.links=e}},{key:"getTotalAvailableResults",value:function(){return this.totalAvailableResults}},{key:"setTotalAvailableResults",value:function(e){this.totalAvailableResults=e}},{key:"getMessages",value:function(){return this.messages}},{key:"setMessages",value:function(e){this.messages=e}},{key:"getExtraInfo",value:function(){return this.extraInfo}},{key:"setExtraInfo",value:function(e){this.extraInfo=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return xe(xe(xe(xe(xe(xe({},void 0!==this.getFlags()&&null!==this.getFlags()?{flags:this.getFlags().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getTotalAvailableResults()&&null!==this.getTotalAvailableResults()?{totalAvailableResults:this.getTotalAvailableResults()}:{}),void 0!==this.getMessages()&&null!==this.getMessages()?{messages:this.getMessages().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getExtraInfo()&&null!==this.getExtraInfo()?{extraInfo:this.getExtraInfo().map(function(e){return e.toJson(!1)})}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("flags"===t){if(void 0===this.flags||null===this.flags)return new C("flags","undefined or null");if(!R.validateMaxItems(this.flags,20))return new C("flags","does not satisfy required maxItems constraint: 20")}if("links"===t){if(void 0===this.links||null===this.links)return new C("links","undefined or null");if(!R.validateMaxItems(this.links,20))return new C("links","does not satisfy required maxItems constraint: 20")}if("totalAvailableResults"===t&&(void 0===this.totalAvailableResults||null===this.totalAvailableResults))return new C("totalAvailableResults","undefined or null");if("messages"===t){if(void 0===this.messages||null===this.messages)return new C("messages","undefined or null");if(!R.validateMaxItems(this.messages,20))return new C("messages","does not satisfy required maxItems constraint: 20")}if("extraInfo"===t){if(void 0===this.extraInfo||null===this.extraInfo)return new C("extraInfo","undefined or null");if(!R.validateMaxItems(this.extraInfo,20))return new C("extraInfo","does not satisfy required maxItems constraint: 20")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(s=s||new e,t.hasOwnProperty("flags")&&null!==t.flags&&void 0!==t.flags){for(i=[],n=t.flags,o=0;o<n.length;o++)r=V.constructFromObject(n[o],void 0),i.push(r);s.setFlags(i)}if(t.hasOwnProperty("links")&&null!==t.links&&void 0!==t.links){for(i=[],n=t.links,o=0;o<n.length;o++)r=Se.constructFromObject(n[o],void 0),i.push(r);s.setLinks(i)}if(t.hasOwnProperty("totalAvailableResults")&&null!==t.totalAvailableResults&&void 0!==t.totalAvailableResults&&s.setTotalAvailableResults(t.totalAvailableResults),t.hasOwnProperty("messages")&&null!==t.messages&&void 0!==t.messages){for(i=[],n=t.messages,o=0;o<n.length;o++)r=Oe.constructFromObject(n[o],void 0),i.push(r);s.setMessages(i)}if(t.hasOwnProperty("extraInfo")&&null!==t.extraInfo&&void 0!==t.extraInfo){for(i=[],n=t.extraInfo,o=0;o<n.length;o++)r=le.constructFromObject(n[o],void 0),i.push(r);s.setExtraInfo(i)}if(t.hasOwnProperty("$reserved")&&(s.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(s.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(s.$unknownFields=t.$unknownFields),!a)for(var u in s.$unknownFields=xe({},t.$unknownFields),t)Object.keys(s).includes(u)||Object.keys(s).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(s.$unknownFields[u]=t[u])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&De(t.prototype,n),r&&De(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Me(){Me=function(e,t){return new n(e,void 0,t)};var e=RegExp.prototype,t=new WeakMap;function n(e,r,o){var i=RegExp(e,r);return t.set(i,o||t.get(e)),Ue(i,n.prototype)}function r(e,n){var r=t.get(n);return Object.keys(r).reduce(function(t,n){var o=r[n];if("number"==typeof o)t[n]=e[o];else{for(var i=0;void 0===e[o[i]]&&i+1<o.length;)i++;t[n]=e[o[i]]}return t},Object.create(null))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ue(e,t)}(n,RegExp),n.prototype.exec=function(t){var n=e.exec.call(this,t);if(n){n.groups=r(n,this);var o=n.indices;o&&(o.groups=r(o,this))}return n},n.prototype[Symbol.replace]=function(n,o){if("string"==typeof o){var i=t.get(this);return e[Symbol.replace].call(this,n,o.replace(/\$<([^>]+)(>|$)/g,function(e,t,n){if(""===n)return e;var r=i[t];return Array.isArray(r)?"$"+r.join("$"):"number"==typeof r?"$"+r:""}))}if("function"==typeof o){var s=this;return e[Symbol.replace].call(this,n,function(){var e=arguments;return"object"!=We(e[e.length-1])&&(e=[].slice.call(e)).push(r(e,s)),o.apply(this,e)})}return e[Symbol.replace].call(this,n,o)},Me.apply(this,arguments)}function Ue(e,t){return Ue=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ue(e,t)}function Le(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ge(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Le(Object(n),!0).forEach(function(t){Ve(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Le(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ve(e,t,n){return(t=Ke(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function We(e){return We="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},We(e)}function Be(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return qe(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?qe(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,i=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw i}}}}function qe(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ze(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ke(r.key),r)}}function Ke(e){var t=function(e){if("object"!=We(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=We(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==We(t)?t:t+""}function He(e,t,n){Ze(e,t),t.set(e,n)}function Ze(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Xe(e,t){return e.get(Qe(e,t))}function Ye(e,t,n){return e.set(Qe(e,t),n),n}function Qe(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Je.prototype.flags=void 0,Je.prototype.links=void 0,Je.prototype.totalAvailableResults=void 0,Je.prototype.messages=void 0,Je.prototype.extraInfo=void 0,Je.prototype.$reserved=void 0,Je.prototype.$objectType=void 0,Je.prototype.$unknownFields=void 0,m()(t());var et=new WeakMap,tt=new WeakMap,nt=new WeakMap,rt=new WeakMap,ot=new WeakMap,it=new WeakMap,st=new WeakMap,at=new WeakMap,ut=new WeakSet,ct=function(){function e(){var n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ze(this,n=ut),n.add(this),He(this,et,void 0),He(this,tt,void 0),He(this,nt,void 0),He(this,rt,void 0),He(this,ot,void 0),He(this,it,void 0),He(this,st,void 0),He(this,at,void 0),Ye(at,this,Object.freeze({DEBUG:{key:"DEBUG",value:Symbol(0)},INFO:{key:"INFO",value:Symbol(1)},WARN:{key:"WARN",value:Symbol(2)},ERROR:{key:"ERROR",value:Symbol(3)}})),this.scheme="https",this.host="undefined"==typeof self?"localhost":self.location.hostname,this.port="undefined"==typeof self?"9440":self.location.port,this.authentications={apiKeyAuthScheme:{type:"apiKey",in:"header",name:"X-ntnx-api-key"},basicAuthScheme:{type:"basic"}},this.defaultHeaders={},Ye(ot,this,3e4),Ye(it,this,3e4),Ye(st,this,108e5),this.readTimeout=Xe(it,this),this.connectTimeout=Xe(ot,this),this.cache=!0,Ye(tt,this,null),this.maxRedirects=1,this.maxRetryAttempts=5,this.retryInterval=3e3,this.withCredentials=!1,"undefined"==typeof self&&(this.agent=new(t().agent)),this.requestAgent=null,this.debug=!1,Ye(nt,this,null),this.username=null,this.password=null,Ye(rt,this,!0),this.downloadDestination=null,this.loggerFile=null}return r=e,o=[{key:"verifySsl",get:function(){return Xe(rt,this)},set:function(e){this.requestAgent=e?null:new(w().Agent)({rejectUnauthorized:!1}),Ye(rt,this,e)}},{key:"loggerFile",set:function(e){null!=e&&(("string"==typeof e||e instanceof String)&&(e=j().createWriteStream(e,{flags:"a"})),Ye(nt,this,new console.Console({stdout:e,stderr:e})))}},{key:"addDefaultHeader",value:function(e,t){"Authorization"===e&&Ye(tt,this,null),this.defaultHeaders[e]=t}},{key:"paramToString",value:function(e){return null==e||null==e?"":e instanceof Date?e.toJSON():e.toString()}},{key:"buildUrl",value:function(e,t){var n=this;e.match(/^\//)||(e="/"+e),Ye(et,this,"undefined"==typeof self?this.scheme+":":self.location.protocol);var r="";""!==Xe(et,this)&&""!==this.host&&""!==this.port?r=Xe(et,this)+"//"+this.host+":"+this.port:"undefined"!=typeof self&&(r=self.origin);var o=r+e;return o.replace(/\{([\w-]+)\}/g,function(e,r){var o;return o=t.hasOwnProperty(r)?n.paramToString(t[r]):e,encodeURIComponent(o)})}},{key:"buildCollectionParam",value:function(e,t){if(null==e)return null;switch(t){case"csv":return e.map(this.paramToString).join(",");case"ssv":return e.map(this.paramToString).join(" ");case"tsv":return e.map(this.paramToString).join("\t");case"pipes":return e.map(this.paramToString).join("|");case"multi":return e.map(this.paramToString);default:throw new Error("Unknown collection format: "+t)}}},{key:"setApiKey",value:function(e){this.authentications.apiKeyAuthScheme.apiKey=null==e||"string"==typeof e||e instanceof String?e:void 0}},{key:"addEtagToReservedMap",value:function(e,t){if(e.hasOwnProperty("headers")&&e.headers.hasOwnProperty("etag")){var n=e.headers.etag;if(void 0!==t.getData())if(Array.isArray(t.getData())&&t.getData().length>0){var r,o=Be(t.getData());try{for(o.s();!(r=o.n()).done;){var i=r.value;i.hasOwnProperty("$reserved")&&void 0!==i.get$Reserved()&&(i.get$Reserved().ETag=n)}}catch(e){o.e(e)}finally{o.f()}}else t.getData().hasOwnProperty("$reserved")&&void 0!==t.getData().get$Reserved()&&(t.getData().get$Reserved().ETag=n)}return t}},{key:"callApi",value:function(e,r,o,i,s,a,u,c,l,f,p){var d=this,y=this.buildUrl(e,o),v=t()(r,y);if(v.oldCallback=v.callback,v.callback=function(e,t){if(t&&t.status){var n=t.status;if(n>=400&&401!==n&&408!==n&&429!==n&&503!==n&&504!==n&&(this._maxRetries=0),401===t.status&&(this.unset("Cookie"),this._maxRetries=1),429===n){var r=t.headers["retry-after"];if(r){var o=1e3*parseInt(r,10);this._retryDelays[this._retries]=o}}}this.oldCallback(e,t)},Qe(ut,this,yt).call(this,v,c),"GET"===r.toUpperCase()&&!1===this.cache&&(i._=(new Date).getTime()),v.query(Qe(ut,this,dt).call(this,i)),v.set(this.defaultHeaders).set(Qe(ut,this,dt).call(this,s)),!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==s["NTNX-Request-Id"]&&void 0!==s["NTNX-Request-Id"])){var b=h();v.set(Qe(ut,this,dt).call(this,{"NTNX-Request-Id":b}))}var m="undefined"!=typeof window&&void 0!==window.document;m||(this.downloadDestination=".",v.set(Qe(ut,this,dt).call(this,{"User-Agent":"Nutanix-dataprotection-js-client/4.1.1"}))),this.requestAgent&&v.agent(this.requestAgent);var g={};g.response=Qe(ut,this,mt).call(this,this.connectTimeout,Xe(ot,this)),g.deadline=Qe(ut,this,mt).call(this,this.readTimeout,Xe(it,this)),v.timeout(g);var w=s.hasOwnProperty("Content-Type")?s["Content-Type"]:Qe(ut,this,ft).call(this,l);if(w?"multipart/form-data"!=w&&v.type(w):v.header["Content-Type"]||v.type("application/json"),Qe(ut,this,Ot).call(this,Xe(at,this).INFO,null,"Request URL :",r,y),Qe(ut,this,Ot).call(this,Xe(at,this).DEBUG,Qe(ut,this,kt),"Request Headers :",void 0===v.header?"":v.header),"application/x-www-form-urlencoded"===w)v.send(Qe(ut,this,dt).call(this,a));else if("multipart/form-data"==w){var O=Qe(ut,this,dt).call(this,a);for(var k in O)O.hasOwnProperty(k)&&(Qe(ut,this,pt).call(this,O[k])?v.attach(k,O[k]):v.field(k,O[k]))}else{if("application/octet-stream"===w&&null!=u&&"function"==typeof u.pipe){if(Qe(ut,this,Ot).call(this,Xe(at,this).INFO,null,"Piping octet-stream request"),"function"==typeof u.pipe)u.pipe(v);else{var $;try{$=n(965)}catch(e){Qe(ut,this,Ot).call(this,Xe(at,this).ERROR,null,"Error fetching steam/web")}u instanceof $.ReadableStream?u.pipeTo(new $.WritableStream({write:function(e){v.write(e)},close:function(){Qe(ut,this,Ot).call(this,Xe(at,this).INFO,null,"READABLE STREAM CLOSED")},abort:function(e){Qe(ut,this,Ot).call(this,Xe(at,this).ERROR,null,"READABLE STREAM ABORTED")}})):v.send(u)}return new Promise(function(t,n){v.on("error",function(e){Qe(ut,d,Ot).call(d,Xe(at,d).DEBUG,null,"Caught the following error :",e),n(e)}).on("response",function(r){Qe(ut,d,$t).call(d,r,e,i,p,t,n)})})}u&&v.send(u)}"Blob"==typeof p?v.responseType("blob"):"String"===p&&v.responseType("string"),Qe(ut,this,wt).call(this,v),Qe(ut,this,Ot).call(this,Xe(at,this).DEBUG,null,"Request Body :",void 0===v._data?"":v._data);var P=s.hasOwnProperty("Accept")&&null!=s.Accept?s.Accept:f.join(", "),T=["application/octet-stream","application/pdf","application/zip"];return P&&v.accept(P),new Promise(function(o,s){v.buffer(!1).redirects(0).retry(d.maxRetryAttempts,d.retryInterval,[]).withCredentials(d.withCredentials).on("error",function(e){Qe(ut,d,Ot).call(d,Xe(at,d).DEBUG,null,"Caught the following error :",e)}).end(function(a,u){if(a)Qe(ut,d,Ot).call(d,Xe(at,d).DEBUG,null,"Caught error during the request!"),Qe(ut,d,Ot).call(d,Xe(at,d).ERROR,null,a),null!==a.response&&void 0!==a.response?a.data=Qe(ut,d,ht).call(d,a.response,p):a.data=Qe(ut,d,vt).call(d,a),s(a);else{Qe(ut,d,Ot).call(d,Xe(at,d).INFO,null,"Response Status :",u.status),Qe(ut,d,Ot).call(d,Xe(at,d).DEBUG,Qe(ut,d,kt),"Response Headers :",u.headers);var c="";if(u.headers.hasOwnProperty("content-type")&&(c=u.headers["content-type"]),T.includes(c))if(m){var l;try{l=n(965)}catch(e){Qe(ut,d,Ot).call(d,Xe(at,d).ERROR,null,"Error fetching steam/web")}if(d.downloadDestination instanceof l.WritableStream){var f=d.downloadDestination.getWriter();try{u.on("data",function(e){f.write(e)})}catch(e){Qe(ut,d,Ot).call(d,Xe(at,d).ERROR,null,"Issue while downloading file",e)}u.on("end",function(){Qe(ut,d,Ot).call(d,Xe(at,d).INFO,null,"Finished streaming response"),f.close();var e=Qe(ut,d,ht).call(d,u,p);o({data:e,response:u})}).on("error",function(e){Qe(ut,d,Ot).call(d,Xe(at,d).ERROR,null,"Caught the following error :",e),e.data=Qe(ut,d,vt).call(d,e),s(e)})}else{var y="Incompatible downloadDestination for Browser Environment, must be WritableStream";Qe(ut,d,Ot).call(d,Xe(at,d).ERROR,null,y),s(y)}}else{var h=d.downloadDestination+"/downloaded_file_"+Date.now()+".txt",b=j().createWriteStream(h);Qe(ut,d,Pt).call(d,u,b,h,o,s,p)}else if(302==u.status){var g=d.downloadDestination+"/downloaded_file_"+Date.now()+".txt",w=d;Qe(ut,d,Ot).call(d,Xe(at,d).INFO,null,"Redirecting to :",u.headers.location);var O=t()(r,u.headers.location);O.set(v.header),u.headers.hasOwnProperty("x-redirect-token")&&(Qe(ut,d,Ot).call(d,Xe(at,d).INFO,null,"Writing X-Redirect-Token into Cookie"),O.set("Cookie",u.headers["x-redirect-token"])),O.redirects(0),O.withCredentials(d.withCredentials),O.buffer(!1);var k=j().createWriteStream(g);O.pipe(k),O.on("response",function(e){Qe(ut,w,Ot).call(w,Xe(at,w).INFO,null,"Received response after redirection :",e.status),Qe(ut,w,Pt).call(w,e,k,g,o,s,p)})}else Qe(ut,d,$t).call(d,u,e,i,p,o,s)}})})}}],i=[{key:"getEtag",value:function(e){var t=null;return void 0!==e&&(e.hasOwnProperty("$reserved")&&void 0!==e.get$Reserved()&&(t=this.getValueForCaseInsensitiveKeyMatch(e.get$Reserved(),"ETag")),null==t&&e.hasOwnProperty("data")&&e.getData().hasOwnProperty("$reserved")&&void 0!==e.getData().get$Reserved()&&(t=this.getValueForCaseInsensitiveKeyMatch(e.getData().get$Reserved(),"ETag"))),t}},{key:"getValueForCaseInsensitiveKeyMatch",value:function(e,t){if(e&&t){var n=t.toLowerCase(),r=Object.keys(e).find(function(e){return e.toLowerCase()===n});return r?e[r]:null}return null}},{key:"addEtagReferenceToHeader",value:function(e,t){if(null!=e&&e.hasOwnProperty("$reserved")&&e.$reserved.hasOwnProperty("ETag")){var n=e.$reserved.ETag;null!=n&&""!==n&&(t["If-Match"]=n)}}},{key:"parseDate",value:function(e){return new Date(e)}},{key:"parseQueryParam",value:function(e,t,n,r){var o=null;if(void 0!==t&&t.hasOwnProperty(n)&&(o=t[n]),null===o&&("string"==typeof e||e instanceof String)){var i=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),s=e.match(new RegExp("".concat(i,"=([0-9]+)")));s&&(o=s[1])}return null===o&&(o=r),o}},{key:"convertToType",value:function(t,n){if(null==t)return t;switch(n){case"Boolean":return Boolean(t);case"Integer":return parseInt(t,10);case"Number":return parseFloat(t);case"String":return String(t);case"Date":return e.parseDate(String(t));case"Blob":return t;default:if(n===Object)return t;if("function"==typeof n)return n.constructFromObject(t);if(Array.isArray(n)){var r=n[0];return t.map(function(t){return e.convertToType(t,r)})}if("object"===We(n)){var o,i;for(var s in n)if(n.hasOwnProperty(s)){o=s,i=n[s];break}var a={};for(var s in t)if(t.hasOwnProperty(s)){var u=e.convertToType(s,o),c=e.convertToType(t[s],i);a[u]=c}return a}return t}}},{key:"constructFromObject",value:function(t,n,r){if(Array.isArray(t))for(var o=0;o<t.length;o++)t.hasOwnProperty(o)&&(n[o]=e.convertToType(t[o],r));else for(var i in t)t.hasOwnProperty(i)&&(n[i]=e.convertToType(t[i],r))}}],o&&ze(r.prototype,o),i&&ze(r,i),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,o,i}();function lt(e){return Boolean(null!=e&&e.match(/^application\/json(;.*)?$/i))}function ft(e){for(var t=0;t<e.length;t++)if(Qe(ut,this,lt).call(this,e[t]))return e[t];return e[0]}function pt(e){var t;try{t=n(799)}catch(e){}return!!(t&&t.ReadStream&&e instanceof t.ReadStream)||"function"==typeof Buffer&&e instanceof Buffer||"function"==typeof P.Blob&&e instanceof P.Blob||"function"==typeof File&&e instanceof File}function dt(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&null!=e[n]&&null!=e[n]){var r=e[n];Qe(ut,this,pt).call(this,r)||Array.isArray(r)?t[n]=r:t[n]=this.paramToString(r)}return t}function yt(e,t){var n=this;t.forEach(function(t){var r=n.authentications[t];switch(r.type){case"basic":r.username||r.password?e.auth(r.username||"",r.password||""):(n.username||n.password)&&e.auth(n.username||"",n.password||""),Qe(ut,n,Ot).call(n,Xe(at,n).DEBUG,null,"Basic Auth applied to request");break;case"apiKey":if(r.apiKey){var o={};r.apiKeyPrefix?o[r.name]=r.apiKeyPrefix+" "+r.apiKey:o[r.name]=r.apiKey,"header"===r.in?e.set(o):e.query(o)}Qe(ut,n,Ot).call(n,Xe(at,n).DEBUG,null,"apiKey applied to request");break;case"oauth2":r.accessToken&&e.set({Authorization:"Bearer "+r.accessToken}),Qe(ut,n,Ot).call(n,Xe(at,n).DEBUG,null,"oauth2 applied to request");break;default:throw Qe(ut,n,Ot).call(n,Xe(at,n).ERROR,null,"Unknown authentication type:",r.type),new Error("Unknown authentication type: "+r.type)}})}function vt(e){var t={data:{},metadata:{}};t.data.status=e.status,t.data.message=e.message}function ht(e,t){if(null==e||null==t||204==e.status)return null;if(e.headers&&["text/event-stream","text/html","text/xml","text/csv","text/javascript","text/markdown","text/vcard"].includes(e.headers["content-type"])){(i=new t).data=new P.Blob([e.text],{type:e.headers["content-type"]});var n=new V;n.name="hasError",n.value=!1;var r=[n],o=new Je;return o.flags=r,i.metadata=o,i}var i;return(null==(i=e.body)||"object"===We(i)&&void 0===i.length&&!Object.keys(i).length)&&(i=e.text),Ne.convertToType(i,t)}function bt(e,t,n){if(e instanceof c){var r=parseInt(this.constructor.parseQueryParam(t,n,"$page","0"),10),o=parseInt(this.constructor.parseQueryParam(t,n,"$limit","50"),10);e.populatePaginationMetadata(this,r,o)}}function mt(e,t){return e<=0?e=t:e>Xe(st,this)&&(e=Xe(st,this)),e}function gt(e){if(e.hasOwnProperty("headers")&&e.headers.hasOwnProperty("set-cookie")){var t="",n=e.headers["set-cookie"];if(n.length>0){var r,o=Be(n);try{for(o.s();!(r=o.n()).done;){var i=r.value;(i=i.split(";")[0]).includes("=")&&(i.trim(),t=t.concat(i).concat(";"))}}catch(e){o.e(e)}finally{o.f()}""!==t&&(t=t.substr(0,t.length-1))}Ye(tt,this,t),Qe(ut,this,Ot).call(this,Xe(at,this).DEBUG,null,"Retained cookie :",t)}else Ye(tt,this,null)}function wt(e){null!=Xe(tt,this)&&e.set(Qe(ut,this,dt).call(this,{Cookie:Xe(tt,this)}))}function Ot(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];if("object"===We(e)&&"key"in e&&"value"in e&&"symbol"===We(e.value)||(e=Xe(at,this).INFO),!Qe(ut,this,jt).call(this,e)){r=r.map(function(e){return"string"==typeof e?e:t?t(e):JSON.stringify(e)});var i=r.join(" ");i=(new Date).toISOString()+" "+e.key+" - "+i,void 0!==Xe(nt,this)&&null!==Xe(nt,this)&&"function"==typeof Xe(nt,this).log?Xe(nt,this).log(i):console.log(i)}}function jt(e){return!this.debug&&e===Xe(at,this).DEBUG}function kt(e){if("object"!==We(e))return e;var t="\n";return e&&Object.keys(e).forEach(function(n){t+=n+"=["+e[n]+"]\n"}),"\n"===t?e:t}function $t(e,t,n,r,o,i){try{var s=Qe(ut,this,ht).call(this,e,r);Qe(ut,this,Ot).call(this,Xe(at,this).INFO,null,"Response Status :",e.status),Qe(ut,this,Ot).call(this,Xe(at,this).DEBUG,Qe(ut,this,kt),"Response Headers :",e.headers),Qe(ut,this,gt).call(this,e||{}),Qe(ut,this,Ot).call(this,Xe(at,this).DEBUG,null,"Response Body :",s),204==e.status&&null==s?o({data:s,response:e}):e.ok&&null!=s?(this.addEtagToReservedMap(e,s),Qe(ut,this,bt).call(this,s,t,n),o({data:s,response:e})):(Qe(ut,this,Ot).call(this,Xe(at,this).ERROR,null,s),i(Ge(Ge({},e.error),{},{data:s})))}catch(e){Qe(ut,this,Ot).call(this,Xe(at,this).DEBUG,null,"Caught error while processing response!"),Qe(ut,this,Ot).call(this,Xe(at,this).ERROR,null,e),e.data=Qe(ut,this,vt).call(this,e),i(e)}}function Pt(e,t,n,r,o,i){var s=this;Qe(ut,this,Ot).call(this,Xe(at,this).INFO,null,"Streaming response to : ",n);try{e.on("data",function(e){t.write(e)})}catch(e){Qe(ut,this,Ot).call(this,Xe(at,this).ERROR,null,"Issue while downloading file",e)}var a=new i,u="";if(void 0!==e.headers["content-disposition"]&&null!==e.headers["content-disposition"]){var c=e.headers["content-disposition"].match(Me(/.*filename="(.*)".*/,{filename:1})),l=$().parse(c.groups.filename);u=this.downloadDestination+"/"+l.name+"_"+Date.now()+l.ext,a.data={path:$().parse(u),$objectType:"Path"};var f=new V;f.name="hasError",f.value=!1;var p=[f],d=new Je;d.flags=p,a.metadata=d}e.on("end",function(){Qe(ut,s,Ot).call(s,Xe(at,s).INFO,null,"Finished streaming response"),0!==u.length?(Qe(ut,s,Ot).call(s,Xe(at,s).INFO,null,"Content-Disposition header found [",u,"] is final filename"),t.close(),j().renameSync(n,u),r({data:a,response:e})):(Qe(ut,s,Ot).call(s,Xe(at,s).ERROR,null,"Content-Disposition header not found [",n,"] is final filename"),r({data:a,response:e}))}),e.on("error",function(e){Qe(ut,s,Ot).call(s,Xe(at,s).ERROR,null,"Caught the following error :",e),error.data=Qe(ut,s,vt).call(s,error),o(e)})}function Tt(e){return Tt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tt(e)}function Et(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ft(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Et(Object(n),!0).forEach(function(t){St(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Et(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function St(e,t,n){return(t=Rt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function It(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Rt(r.key),r)}}function Rt(e){var t=function(e){if("object"!=Tt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Tt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Tt(t)?t:t+""}Ne=ct,ct.instance=new ct;var xt=new WeakSet,At=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,xt),this.$objectType="common.v1.config.TenantAwareModel",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getTenantId",value:function(){return this.tenantId}},{key:"setTenantId",value:function(e){this.tenantId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return!1===e?Ft(Ft({},void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()}):{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()}}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new C("tenantId","undefined or null");if(!R.validatePattern(this.tenantId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("tenantId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("tenantId")&&null!==t.tenantId&&void 0!==t.tenantId&&n.setTenantId(t.tenantId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Ft({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&It(t.prototype,n),r&&It(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Dt(e){return Dt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Dt(e)}function Ct(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Nt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ct(Object(n),!0).forEach(function(t){_t(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ct(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _t(e,t,n){return(t=Mt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Jt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Mt(r.key),r)}}function Mt(e){var t=function(e){if("object"!=Dt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Dt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Dt(t)?t:t+""}function Ut(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Ut=function(){return!!e})()}function Lt(e){return Lt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Lt(e)}function Gt(e,t){return Gt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Gt(e,t)}At.prototype.tenantId=void 0,At.prototype.$reserved=void 0,At.prototype.$objectType=void 0,At.prototype.$unknownFields=void 0;var Vt=new WeakSet,Wt=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Lt(t),function(e,t){if(t&&("object"==Dt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Ut()?Reflect.construct(t,n||[],Lt(e).constructor):t.apply(e,n))}(this,t),Vt),e.$objectType="common.v1.response.ExternalizableAbstractModel",e.$reserved={$fv:"v1.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Gt(e,t)}(t,e),n=t,r=[{key:"getExtId",value:function(){return this.extId}},{key:"setExtId",value:function(e){this.extId=e}},{key:"getLinks",value:function(){return this.links}},{key:"setLinks",value:function(e){this.links=e}},{key:"toJson",value:function(e){return!1===e?Nt(Nt(Nt(Nt({},void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()}):{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()}}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new C("extId","undefined or null");if(null==e){if(!R.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}else if(e===E.update&&!R.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("extId","does not satisfy pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("links"===t){if(void 0===this.links||null===this.links)return new C("links","undefined or null");if(!R.validateMaxItems(this.links,20))return new C("links","does not satisfy required maxItems constraint: 20")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(s=s||new t,At.constructFromObject(e,s,!0),e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&s.setExtId(e.extId),e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(i=[],n=e.links,o=0;o<n.length;o++)r=Se.constructFromObject(n[o],void 0),i.push(r);s.setLinks(i)}if(!a)for(var u in s.$unknownFields=Nt({},e.$unknownFields),e)Object.keys(s).includes(u)||Object.keys(s).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(s.$unknownFields[u]=e[u])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Jt(n.prototype,r),o&&Jt(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(At);function Bt(e){return Bt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Bt(e)}function qt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function zt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qt(Object(n),!0).forEach(function(t){Kt(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qt(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Kt(e,t,n){return(t=Zt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ht(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Zt(r.key),r)}}function Zt(e){var t=function(e){if("object"!=Bt(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Bt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Bt(t)?t:t+""}Wt.prototype.extId=void 0,Wt.prototype.links=void 0,At.prototype.tenantId=void 0;var Xt=new WeakSet,Yt=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Xt),this.domainManagerExtId=t,this.$objectType="dataprotection.v4.config.DataProtectionSiteReference",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getDomainManagerExtId",value:function(){return this.domainManagerExtId}},{key:"setDomainManagerExtId",value:function(e){this.domainManagerExtId=e}},{key:"getClusterExtId",value:function(){return this.clusterExtId}},{key:"setClusterExtId",value:function(e){this.clusterExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return zt(zt(zt({},void 0!==this.getDomainManagerExtId()&&null!==this.getDomainManagerExtId()?{domainManagerExtId:this.getDomainManagerExtId()}:{}),void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["domainManagerExtId"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("domainManagerExtId"===t){if(void 0===this.domainManagerExtId||null===this.domainManagerExtId)return new C("domainManagerExtId","undefined or null");if(!R.validatePattern(this.domainManagerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("domainManagerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new C("clusterExtId","undefined or null");if(!R.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("domainManagerExtId")&&null!==t.domainManagerExtId&&void 0!==t.domainManagerExtId&&n.setDomainManagerExtId(t.domainManagerExtId),t.hasOwnProperty("clusterExtId")&&null!==t.clusterExtId&&void 0!==t.clusterExtId&&n.setClusterExtId(t.clusterExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=zt({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Ht(t.prototype,n),r&&Ht(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();Yt.prototype.domainManagerExtId=void 0,Yt.prototype.clusterExtId=void 0,Yt.prototype.$reserved=void 0,Yt.prototype.$objectType=void 0,Yt.prototype.$unknownFields=void 0;var Qt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VM:"VM",VOLUME_GROUP:"VOLUME_GROUP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(Qt).find(function(t){return Qt[t]===e});return null==t?Qt.$UNKNOWN:Qt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Qt.$UNKNOWN:case Qt.$REDACTED:case Qt.VM:case Qt.VOLUME_GROUP:return;default:throw new Error("Invalid : must be ProtectedEntityType.{ $UNKNOWN|$REDACTED|VM|VOLUME_GROUP }")}}};Object.freeze(Qt);const en=Qt;var tn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",IN_SYNC:"IN_SYNC",SYNCING:"SYNCING",OUT_OF_SYNC:"OUT_OF_SYNC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(tn).find(function(t){return tn[t]===e});return null==t?tn.$UNKNOWN:tn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case tn.$UNKNOWN:case tn.$REDACTED:case tn.IN_SYNC:case tn.SYNCING:case tn.OUT_OF_SYNC:return;default:throw new Error("Invalid : must be ProtectedResourceReplicationStatus.{ $UNKNOWN|$REDACTED|IN_SYNC|SYNCING|OUT_OF_SYNC }")}}};Object.freeze(tn);const nn=tn;function rn(e){return rn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},rn(e)}function on(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function sn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?on(Object(n),!0).forEach(function(t){an(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):on(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function an(e,t,n){return(t=cn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function un(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,cn(r.key),r)}}function cn(e){var t=function(e){if("object"!=rn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=rn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==rn(t)?t:t+""}var ln=new WeakSet,fn=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ln),this.$objectType="dataprotection.v4.config.ReplicationState",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getProtectionPolicyExtId",value:function(){return this.protectionPolicyExtId}},{key:"setProtectionPolicyExtId",value:function(e){this.protectionPolicyExtId=e}},{key:"getRecoveryPointObjectiveSeconds",value:function(){return this.recoveryPointObjectiveSeconds}},{key:"setRecoveryPointObjectiveSeconds",value:function(e){this.recoveryPointObjectiveSeconds=e}},{key:"getReplicationStatus",value:function(){return this.replicationStatus}},{key:"setReplicationStatus",value:function(e){this.replicationStatus=e}},{key:"getTargetSiteReference",value:function(){return this.targetSiteReference}},{key:"setTargetSiteReference",value:function(e){this.targetSiteReference=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return sn(sn(sn(sn(sn({},void 0!==this.getProtectionPolicyExtId()&&null!==this.getProtectionPolicyExtId()?{protectionPolicyExtId:this.getProtectionPolicyExtId()}:{}),void 0!==this.getRecoveryPointObjectiveSeconds()&&null!==this.getRecoveryPointObjectiveSeconds()?{recoveryPointObjectiveSeconds:this.getRecoveryPointObjectiveSeconds()}:{}),void 0!==this.getReplicationStatus()&&null!==this.getReplicationStatus()?{replicationStatus:this.getReplicationStatus()}:{}),void 0!==this.getTargetSiteReference()&&null!==this.getTargetSiteReference()?{targetSiteReference:this.getTargetSiteReference().toJson(!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("protectionPolicyExtId"===t){if(void 0===this.protectionPolicyExtId||null===this.protectionPolicyExtId)return new C("protectionPolicyExtId","undefined or null");if(!R.validatePattern(this.protectionPolicyExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("protectionPolicyExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("recoveryPointObjectiveSeconds"===t){if(void 0===this.recoveryPointObjectiveSeconds||null===this.recoveryPointObjectiveSeconds)return new C("recoveryPointObjectiveSeconds","undefined or null");if(!R.validateMaximum(this.recoveryPointObjectiveSeconds,2419200))return new C("recoveryPointObjectiveSeconds","does not satisfy required maximum constraint: 2419200");if(!R.validateMinimum(this.recoveryPointObjectiveSeconds,0))return new C("recoveryPointObjectiveSeconds","does not satisfy required minimum constraint: 0")}return"replicationStatus"!==t||void 0!==this.replicationStatus&&null!==this.replicationStatus?"targetSiteReference"!==t||void 0!==this.targetSiteReference&&null!==this.targetSiteReference?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("targetSiteReference","undefined or null"):new C("replicationStatus","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("protectionPolicyExtId")&&null!==t.protectionPolicyExtId&&void 0!==t.protectionPolicyExtId&&n.setProtectionPolicyExtId(t.protectionPolicyExtId),t.hasOwnProperty("recoveryPointObjectiveSeconds")&&null!==t.recoveryPointObjectiveSeconds&&void 0!==t.recoveryPointObjectiveSeconds&&n.setRecoveryPointObjectiveSeconds(t.recoveryPointObjectiveSeconds),t.hasOwnProperty("replicationStatus")&&null!==t.replicationStatus&&void 0!==t.replicationStatus&&n.setReplicationStatus(nn.constructFromObject(t.replicationStatus)),t.hasOwnProperty("targetSiteReference")&&null!==t.targetSiteReference&&void 0!==t.targetSiteReference&&n.setTargetSiteReference(Yt.constructFromObject(t.targetSiteReference)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=sn({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&un(t.prototype,n),r&&un(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function pn(e){return pn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pn(e)}function dn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function yn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?dn(Object(n),!0).forEach(function(t){vn(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dn(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function vn(e,t,n){return(t=bn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,bn(r.key),r)}}function bn(e){var t=function(e){if("object"!=pn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=pn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==pn(t)?t:t+""}function mn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}fn.prototype.protectionPolicyExtId=void 0,fn.prototype.recoveryPointObjectiveSeconds=void 0,fn.prototype.replicationStatus=void 0,fn.prototype.targetSiteReference=void 0,fn.prototype.$reserved=void 0,fn.prototype.$objectType=void 0,fn.prototype.$unknownFields=void 0;var gn=new WeakSet,wn=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,gn),this.$objectType="dataprotection.v4.config.RestorableTimeRange",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getStartTime",value:function(){return this.startTime}},{key:"setStartTime",value:function(e){this.startTime=e}},{key:"getEndTime",value:function(){return this.endTime}},{key:"setEndTime",value:function(e){this.endTime=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return yn(yn(yn({},void 0!==this.getStartTime()&&null!==this.getStartTime()?{startTime:mn(gn,this,On).call(this,this.getStartTime(),!1)}:{}),void 0!==this.getEndTime()&&null!==this.getEndTime()?{endTime:mn(gn,this,On).call(this,this.getEndTime(),!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"startTime"!==t||void 0!==this.startTime&&null!==this.startTime?"endTime"!==t||void 0!==this.endTime&&null!==this.endTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("endTime","undefined or null"):new C("startTime","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("startTime")&&null!==t.startTime&&void 0!==t.startTime&&n.setStartTime(t.startTime),t.hasOwnProperty("endTime")&&null!==t.endTime&&void 0!==t.endTime&&n.setEndTime(t.endTime),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=yn({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&hn(t.prototype,n),r&&hn(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function On(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function jn(e){return jn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},jn(e)}function kn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $n(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?kn(Object(n),!0).forEach(function(t){Pn(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kn(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Pn(e,t,n){return(t=En(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Tn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,En(r.key),r)}}function En(e){var t=function(e){if("object"!=jn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=jn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==jn(t)?t:t+""}wn.prototype.startTime=void 0,wn.prototype.endTime=void 0,wn.prototype.$reserved=void 0,wn.prototype.$objectType=void 0,wn.prototype.$unknownFields=void 0;var Fn=new WeakSet,Sn=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Fn),this.$objectType="dataprotection.v4.config.RecoveryInfo",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getRestorableTimeRanges",value:function(){return this.restorableTimeRanges}},{key:"setRestorableTimeRanges",value:function(e){this.restorableTimeRanges=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return $n($n({},void 0!==this.getRestorableTimeRanges()&&null!==this.getRestorableTimeRanges()?{restorableTimeRanges:this.getRestorableTimeRanges().map(function(e){return e.toJson(!1)})}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("restorableTimeRanges"===t){if(void 0===this.restorableTimeRanges||null===this.restorableTimeRanges)return new C("restorableTimeRanges","undefined or null");if(!R.validateMaxItems(this.restorableTimeRanges,30))return new C("restorableTimeRanges","does not satisfy required maxItems constraint: 30")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(s=s||new e,t.hasOwnProperty("restorableTimeRanges")&&null!==t.restorableTimeRanges&&void 0!==t.restorableTimeRanges){for(i=[],n=t.restorableTimeRanges,o=0;o<n.length;o++)r=wn.constructFromObject(n[o],void 0),i.push(r);s.setRestorableTimeRanges(i)}if(t.hasOwnProperty("$reserved")&&(s.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(s.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(s.$unknownFields=t.$unknownFields),!a)for(var u in s.$unknownFields=$n({},t.$unknownFields),t)Object.keys(s).includes(u)||Object.keys(s).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(s.$unknownFields[u]=t[u])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Tn(t.prototype,n),r&&Tn(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();Sn.prototype.restorableTimeRanges=void 0,Sn.prototype.$reserved=void 0,Sn.prototype.$objectType=void 0,Sn.prototype.$unknownFields=void 0;var In={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRIMARY:"PRIMARY",SECONDARY:"SECONDARY",INDEPENDENT:"INDEPENDENT",DECOUPLED:"DECOUPLED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(In).find(function(t){return In[t]===e});return null==t?In.$UNKNOWN:In[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case In.$UNKNOWN:case In.$REDACTED:case In.PRIMARY:case In.SECONDARY:case In.INDEPENDENT:case In.DECOUPLED:return;default:throw new Error("Invalid : must be SynchronousReplicationRole.{ $UNKNOWN|$REDACTED|PRIMARY|SECONDARY|INDEPENDENT|DECOUPLED }")}}};Object.freeze(In);const Rn=In;function xn(e){return xn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},xn(e)}function An(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Dn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?An(Object(n),!0).forEach(function(t){Cn(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):An(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Cn(e,t,n){return(t=_n(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Nn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,_n(r.key),r)}}function _n(e){var t=function(e){if("object"!=xn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=xn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==xn(t)?t:t+""}var Jn=new WeakSet,Mn=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Jn),this.$objectType="dataprotection.v4.config.SiteProtectionInfo",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getRecoveryInfo",value:function(){return this.recoveryInfo}},{key:"setRecoveryInfo",value:function(e){this.recoveryInfo=e}},{key:"getLocationReference",value:function(){return this.locationReference}},{key:"setLocationReference",value:function(e){this.locationReference=e}},{key:"getSynchronousReplicationRole",value:function(){return this.synchronousReplicationRole}},{key:"setSynchronousReplicationRole",value:function(e){this.synchronousReplicationRole=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Dn(Dn(Dn(Dn({},void 0!==this.getRecoveryInfo()&&null!==this.getRecoveryInfo()?{recoveryInfo:this.getRecoveryInfo().toJson(!1)}:{}),void 0!==this.getLocationReference()&&null!==this.getLocationReference()?{locationReference:this.getLocationReference().toJson(!1)}:{}),void 0!==this.getSynchronousReplicationRole()&&null!==this.getSynchronousReplicationRole()?{synchronousReplicationRole:this.getSynchronousReplicationRole()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"recoveryInfo"!==t||void 0!==this.recoveryInfo&&null!==this.recoveryInfo?"locationReference"!==t||void 0!==this.locationReference&&null!==this.locationReference?"synchronousReplicationRole"!==t||void 0!==this.synchronousReplicationRole&&null!==this.synchronousReplicationRole?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("synchronousReplicationRole","undefined or null"):new C("locationReference","undefined or null"):new C("recoveryInfo","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("recoveryInfo")&&null!==t.recoveryInfo&&void 0!==t.recoveryInfo&&n.setRecoveryInfo(Sn.constructFromObject(t.recoveryInfo)),t.hasOwnProperty("locationReference")&&null!==t.locationReference&&void 0!==t.locationReference&&n.setLocationReference(Yt.constructFromObject(t.locationReference)),t.hasOwnProperty("synchronousReplicationRole")&&null!==t.synchronousReplicationRole&&void 0!==t.synchronousReplicationRole&&n.setSynchronousReplicationRole(Rn.constructFromObject(t.synchronousReplicationRole)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Dn({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Nn(t.prototype,n),r&&Nn(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Un(e){return Un="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Un(e)}function Ln(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Gn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ln(Object(n),!0).forEach(function(t){Vn(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ln(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Vn(e,t,n){return(t=Bn(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Wn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Bn(r.key),r)}}function Bn(e){var t=function(e){if("object"!=Un(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Un(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Un(t)?t:t+""}function qn(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(qn=function(){return!!e})()}function zn(e){return zn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},zn(e)}function Kn(e,t){return Kn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Kn(e,t)}Mn.prototype.recoveryInfo=void 0,Mn.prototype.locationReference=void 0,Mn.prototype.synchronousReplicationRole=void 0,Mn.prototype.$reserved=void 0,Mn.prototype.$objectType=void 0,Mn.prototype.$unknownFields=void 0;var Hn=new WeakSet,Zn=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=zn(t),function(e,t){if(t&&("object"==Un(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,qn()?Reflect.construct(t,n||[],zn(e).constructor):t.apply(e,n))}(this,t),Hn),e.$objectType="dataprotection.v4.config.ProtectedResource",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Kn(e,t)}(t,e),n=t,r=[{key:"getEntityExtId",value:function(){return this.entityExtId}},{key:"setEntityExtId",value:function(e){this.entityExtId=e}},{key:"getEntityType",value:function(){return this.entityType}},{key:"setEntityType",value:function(e){this.entityType=e}},{key:"getSourceSiteReference",value:function(){return this.sourceSiteReference}},{key:"setSourceSiteReference",value:function(e){this.sourceSiteReference=e}},{key:"getSiteProtectionInfo",value:function(){return this.siteProtectionInfo}},{key:"setSiteProtectionInfo",value:function(e){this.siteProtectionInfo=e}},{key:"getReplicationStates",value:function(){return this.replicationStates}},{key:"setReplicationStates",value:function(e){this.replicationStates=e}},{key:"getConsistencyGroupExtId",value:function(){return this.consistencyGroupExtId}},{key:"setConsistencyGroupExtId",value:function(e){this.consistencyGroupExtId=e}},{key:"getCategoryFqNames",value:function(){return this.categoryFqNames}},{key:"setCategoryFqNames",value:function(e){this.categoryFqNames=e}},{key:"toJson",value:function(e){return Gn(!1===e?Gn(Gn(Gn(Gn(Gn(Gn(Gn(Gn(Gn(Gn({},void 0!==this.getEntityExtId()&&null!==this.getEntityExtId()?{entityExtId:this.getEntityExtId()}:{}),void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{}),void 0!==this.getSourceSiteReference()&&null!==this.getSourceSiteReference()?{sourceSiteReference:this.getSourceSiteReference().toJson(!1)}:{}),void 0!==this.getSiteProtectionInfo()&&null!==this.getSiteProtectionInfo()?{siteProtectionInfo:this.getSiteProtectionInfo().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getReplicationStates()&&null!==this.getReplicationStates()?{replicationStates:this.getReplicationStates().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{}),void 0!==this.getCategoryFqNames()&&null!==this.getCategoryFqNames()?{categoryFqNames:this.getCategoryFqNames()}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):Gn(Gn(Gn(Gn(Gn(Gn(Gn({},void 0!==this.getEntityExtId()&&null!==this.getEntityExtId()?{entityExtId:this.getEntityExtId()}:{}),void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{}),void 0!==this.getSourceSiteReference()&&null!==this.getSourceSiteReference()?{sourceSiteReference:this.getSourceSiteReference().toJson(!1)}:{}),void 0!==this.getSiteProtectionInfo()&&null!==this.getSiteProtectionInfo()?{siteProtectionInfo:this.getSiteProtectionInfo().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getReplicationStates()&&null!==this.getReplicationStates()?{replicationStates:this.getReplicationStates().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{}),void 0!==this.getCategoryFqNames()&&null!==this.getCategoryFqNames()?{categoryFqNames:this.getCategoryFqNames()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("entityExtId"===t){if(void 0===this.entityExtId||null===this.entityExtId)return new C("entityExtId","undefined or null");if(!R.validatePattern(this.entityExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("entityExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("entityType"===t&&(void 0===this.entityType||null===this.entityType))return new C("entityType","undefined or null");if("sourceSiteReference"===t&&(void 0===this.sourceSiteReference||null===this.sourceSiteReference))return new C("sourceSiteReference","undefined or null");if("siteProtectionInfo"===t){if(void 0===this.siteProtectionInfo||null===this.siteProtectionInfo)return new C("siteProtectionInfo","undefined or null");if(!R.validateMaxItems(this.siteProtectionInfo,20))return new C("siteProtectionInfo","does not satisfy required maxItems constraint: 20")}if("replicationStates"===t){if(void 0===this.replicationStates||null===this.replicationStates)return new C("replicationStates","undefined or null");if(!R.validateMaxItems(this.replicationStates,20))return new C("replicationStates","does not satisfy required maxItems constraint: 20")}if("consistencyGroupExtId"===t){if(void 0===this.consistencyGroupExtId||null===this.consistencyGroupExtId)return new C("consistencyGroupExtId","undefined or null");if(!R.validatePattern(this.consistencyGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("consistencyGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("categoryFqNames"===t){if(void 0===this.categoryFqNames||null===this.categoryFqNames)return new C("categoryFqNames","undefined or null");if(!R.validateMaxItems(this.categoryFqNames,1200))return new C("categoryFqNames","does not satisfy required maxItems constraint: 1200")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(s=s||new t,Wt.constructFromObject(e,s,!0),e.hasOwnProperty("entityExtId")&&null!==e.entityExtId&&void 0!==e.entityExtId&&s.setEntityExtId(e.entityExtId),e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&s.setEntityType(en.constructFromObject(e.entityType)),e.hasOwnProperty("sourceSiteReference")&&null!==e.sourceSiteReference&&void 0!==e.sourceSiteReference&&s.setSourceSiteReference(Yt.constructFromObject(e.sourceSiteReference)),e.hasOwnProperty("siteProtectionInfo")&&null!==e.siteProtectionInfo&&void 0!==e.siteProtectionInfo){for(i=[],n=e.siteProtectionInfo,o=0;o<n.length;o++)r=Mn.constructFromObject(n[o],void 0),i.push(r);s.setSiteProtectionInfo(i)}if(e.hasOwnProperty("replicationStates")&&null!==e.replicationStates&&void 0!==e.replicationStates){for(i=[],n=e.replicationStates,o=0;o<n.length;o++)r=fn.constructFromObject(n[o],void 0),i.push(r);s.setReplicationStates(i)}if(e.hasOwnProperty("consistencyGroupExtId")&&null!==e.consistencyGroupExtId&&void 0!==e.consistencyGroupExtId&&s.setConsistencyGroupExtId(e.consistencyGroupExtId),e.hasOwnProperty("categoryFqNames")&&null!==e.categoryFqNames&&void 0!==e.categoryFqNames){for(i=[],n=e.categoryFqNames,o=0;o<n.length;o++)i.push(n[o]);s.setCategoryFqNames(i)}if(!a)for(var u in s.$unknownFields=Gn({},e.$unknownFields),e)Object.keys(s).includes(u)||Object.keys(s).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(s.$unknownFields[u]=e[u])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Wn(n.prototype,r),o&&Wn(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Wt);function Xn(e){return Xn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xn(e)}function Yn(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Qn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function er(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Qn(Object(n),!0).forEach(function(t){tr(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Qn(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function tr(e,t,n){return(t=rr(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function nr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,rr(r.key),r)}}function rr(e){var t=function(e){if("object"!=Xn(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Xn(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Xn(t)?t:t+""}function or(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Zn.prototype.entityExtId=void 0,Zn.prototype.entityType=void 0,Zn.prototype.sourceSiteReference=void 0,Zn.prototype.siteProtectionInfo=void 0,Zn.prototype.replicationStates=void 0,Zn.prototype.consistencyGroupExtId=void 0,Zn.prototype.categoryFqNames=void 0,Wt.prototype.extId=void 0,Wt.prototype.links=void 0,At.prototype.tenantId=void 0;var ir=new WeakSet,sr=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ir),this.$objectType="dataprotection.v4.error.AppMessage",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getMessage",value:function(){return this.message}},{key:"setMessage",value:function(e){this.message=e}},{key:"getSeverity",value:function(){return this.severity}},{key:"setSeverity",value:function(e){this.severity=e}},{key:"getCode",value:function(){return this.code}},{key:"setCode",value:function(e){this.code=e}},{key:"getLocale",value:function(){return this.locale}},{key:"setLocale",value:function(e){this.locale=e}},{key:"getErrorGroup",value:function(){return this.errorGroup}},{key:"setErrorGroup",value:function(e){this.errorGroup=e}},{key:"getArgumentsMap",value:function(){return this.argumentsMap}},{key:"setArgumentsMap",value:function(e){this.argumentsMap=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return er(er(er(er(er(er(er({},void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{}),void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{}),void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{}),void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{}),void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{}),!1===e?void 0!==this.getArgumentsMap()&&null!==this.getArgumentsMap()?{argumentsMap:or(ir,this,ar).call(this,this.getArgumentsMap(),!1)}:{}:void 0!==this.getArgumentsMap()&&null!==this.getArgumentsMap()?{argumentsMap:or(ir,this,ar).call(this,this.getArgumentsMap())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"severity"!==t||void 0!==this.severity&&null!==this.severity?"code"!==t||void 0!==this.code&&null!==this.code?"locale"!==t||void 0!==this.locale&&null!==this.locale?"errorGroup"!==t||void 0!==this.errorGroup&&null!==this.errorGroup?"argumentsMap"!==t||void 0!==this.argumentsMap&&null!==this.argumentsMap?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("argumentsMap","undefined or null"):new C("errorGroup","undefined or null"):new C("locale","undefined or null"):new C("code","undefined or null"):new C("severity","undefined or null"):new C("message","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("message")&&null!==t.message&&void 0!==t.message&&n.setMessage(t.message),t.hasOwnProperty("severity")&&null!==t.severity&&void 0!==t.severity&&n.setSeverity(de.constructFromObject(t.severity)),t.hasOwnProperty("code")&&null!==t.code&&void 0!==t.code&&n.setCode(t.code),t.hasOwnProperty("locale")&&null!==t.locale&&void 0!==t.locale&&n.setLocale(t.locale),t.hasOwnProperty("errorGroup")&&null!==t.errorGroup&&void 0!==t.errorGroup&&n.setErrorGroup(t.errorGroup),t.hasOwnProperty("argumentsMap")&&null!==t.argumentsMap&&void 0!==t.argumentsMap&&n.setArgumentsMap(t.argumentsMap),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=er({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&nr(t.prototype,n),r&&nr(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function ar(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Yn(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Yn(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===Xn(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function ur(e){return ur="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ur(e)}function cr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function lr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?cr(Object(n),!0).forEach(function(t){fr(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function fr(e,t,n){return(t=dr(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,dr(r.key),r)}}function dr(e){var t=function(e){if("object"!=ur(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ur(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ur(t)?t:t+""}sr.prototype.message=void 0,sr.prototype.severity=void 0,sr.prototype.code=void 0,sr.prototype.locale="en_US",sr.prototype.errorGroup=void 0,sr.prototype.argumentsMap=void 0,sr.prototype.$reserved=void 0,sr.prototype.$objectType=void 0,sr.prototype.$unknownFields=void 0;var yr=new WeakSet,vr=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,yr),this.$objectType="dataprotection.v4.error.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getLocation",value:function(){return this.location}},{key:"setLocation",value:function(e){this.location=e}},{key:"getMessage",value:function(){return this.message}},{key:"setMessage",value:function(e){this.message=e}},{key:"getAttributePath",value:function(){return this.attributePath}},{key:"setAttributePath",value:function(e){this.attributePath=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return lr(lr(lr(lr({},void 0!==this.getLocation()&&null!==this.getLocation()?{location:this.getLocation()}:{}),void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{}),void 0!==this.getAttributePath()&&null!==this.getAttributePath()?{attributePath:this.getAttributePath()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"location"!==t||void 0!==this.location&&null!==this.location?"message"!==t||void 0!==this.message&&null!==this.message?"attributePath"!==t||void 0!==this.attributePath&&null!==this.attributePath?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("attributePath","undefined or null"):new C("message","undefined or null"):new C("location","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("location")&&null!==t.location&&void 0!==t.location&&n.setLocation(t.location),t.hasOwnProperty("message")&&null!==t.message&&void 0!==t.message&&n.setMessage(t.message),t.hasOwnProperty("attributePath")&&null!==t.attributePath&&void 0!==t.attributePath&&n.setAttributePath(t.attributePath),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=lr({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&pr(t.prototype,n),r&&pr(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function hr(e){return hr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},hr(e)}function br(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function mr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?br(Object(n),!0).forEach(function(t){gr(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):br(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function gr(e,t,n){return(t=Or(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Or(r.key),r)}}function Or(e){var t=function(e){if("object"!=hr(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=hr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==hr(t)?t:t+""}function jr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}vr.prototype.location=void 0,vr.prototype.message=void 0,vr.prototype.attributePath=void 0,vr.prototype.$reserved=void 0,vr.prototype.$objectType=void 0,vr.prototype.$unknownFields=void 0;var kr=new WeakSet,$r=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,kr),this.$objectType="dataprotection.v4.error.SchemaValidationError",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getTimestamp",value:function(){return this.timestamp}},{key:"setTimestamp",value:function(e){this.timestamp=e}},{key:"getStatusCode",value:function(){return this.statusCode}},{key:"setStatusCode",value:function(e){this.statusCode=e}},{key:"getError",value:function(){return this.error}},{key:"setError",value:function(e){this.error=e}},{key:"getPath",value:function(){return this.path}},{key:"setPath",value:function(e){this.path=e}},{key:"getValidationErrorMessages",value:function(){return this.validationErrorMessages}},{key:"setValidationErrorMessages",value:function(e){this.validationErrorMessages=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return mr(mr(mr(mr(mr(mr({},void 0!==this.getTimestamp()&&null!==this.getTimestamp()?{timestamp:jr(kr,this,Pr).call(this,this.getTimestamp(),!1)}:{}),void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{}),void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{}),void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{}),void 0!==this.getValidationErrorMessages()&&null!==this.getValidationErrorMessages()?{validationErrorMessages:this.getValidationErrorMessages().map(function(e){return e.toJson(!1)})}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"timestamp"!==t||void 0!==this.timestamp&&null!==this.timestamp?"statusCode"!==t||void 0!==this.statusCode&&null!==this.statusCode?"error"!==t||void 0!==this.error&&null!==this.error?"path"!==t||void 0!==this.path&&null!==this.path?"validationErrorMessages"!==t||void 0!==this.validationErrorMessages&&null!==this.validationErrorMessages?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("validationErrorMessages","undefined or null"):new C("path","undefined or null"):new C("error","undefined or null"):new C("statusCode","undefined or null"):new C("timestamp","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(s=s||new e,t.hasOwnProperty("timestamp")&&null!==t.timestamp&&void 0!==t.timestamp&&s.setTimestamp(t.timestamp),t.hasOwnProperty("statusCode")&&null!==t.statusCode&&void 0!==t.statusCode&&s.setStatusCode(t.statusCode),t.hasOwnProperty("error")&&null!==t.error&&void 0!==t.error&&s.setError(t.error),t.hasOwnProperty("path")&&null!==t.path&&void 0!==t.path&&s.setPath(t.path),t.hasOwnProperty("validationErrorMessages")&&null!==t.validationErrorMessages&&void 0!==t.validationErrorMessages){for(i=[],n=t.validationErrorMessages,o=0;o<n.length;o++)r=vr.constructFromObject(n[o],void 0),i.push(r);s.setValidationErrorMessages(i)}if(t.hasOwnProperty("$reserved")&&(s.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(s.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(s.$unknownFields=t.$unknownFields),!a)for(var u in s.$unknownFields=mr({},t.$unknownFields),t)Object.keys(s).includes(u)||Object.keys(s).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(s.$unknownFields[u]=t[u])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&wr(t.prototype,n),r&&wr(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Pr(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Tr(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Er(e){return Er="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Er(e)}function Fr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Sr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Fr(Object(n),!0).forEach(function(t){Ir(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Fr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ir(e,t,n){return(t=xr(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Rr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,xr(r.key),r)}}function xr(e){var t=function(e){if("object"!=Er(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Er(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Er(t)?t:t+""}function Ar(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}$r.prototype.timestamp=void 0,$r.prototype.statusCode=void 0,$r.prototype.error=void 0,$r.prototype.path=void 0,$r.prototype.validationErrorMessages=void 0,$r.prototype.$reserved=void 0,$r.prototype.$objectType=void 0,$r.prototype.$unknownFields=void 0;var Dr=new WeakSet,Cr=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Dr),this.$objectType="dataprotection.v4.error.ErrorResponse",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getError",value:function(){return this.error}},{key:"setError",value:function(e){this.error=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Sr(Sr({},!1===e?void 0!==this.getError()&&null!==this.getError()?{error:void 0!==this.getError().toJson?this.getError().toJson(!1):Array.isArray(this.getError())?this.getError().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):Ar(Dr,this,Nr).call(this,this.getError(),!1)}:{}:void 0!==this.getError()&&null!==this.getError()?{error:void 0!==this.getError().toJson?this.getError().toJson():Array.isArray(this.getError())?this.getError().map(function(e){return void 0!==e.toJson?e.toJson():e}):Ar(Dr,this,Nr).call(this,this.getError())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"error"!==t||void 0!==this.error&&null!==this.error?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("error","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i,s,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(a=a||new e,t.hasOwnProperty("error")&&null!==t.error&&void 0!==t.error)if(Array.isArray(t.error))if(0===t.error.length)a.setError([]);else{for(i=[],s=(n=t.error)[0].hasOwnProperty("$objectType")?n[0].$objectType:Er(n[0]),o=0;o<n.length;o++){if("dataprotection.v4.error.AppMessage"!==s)throw"Unknown list of type "+s+" in data";r=sr.constructFromObject(n[o],void 0),i.push(r)}a.setError(i)}else{if("dataprotection.v4.error.SchemaValidationError"!==(s=t.error.hasOwnProperty("$objectType")?t.error.$objectType:Er(t.error)))throw"Unknown datatype "+s+" in data";a.setError($r.constructFromObject(t.error,void 0))}if(t.hasOwnProperty("$reserved")&&(a.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(a.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(a.$unknownFields=t.$unknownFields),!u)for(var c in a.$unknownFields=Sr({},t.$unknownFields),t)Object.keys(a).includes(c)||Object.keys(a).includes(this.snakeToCamel(c))||"$"===c[0]&&c.endsWith("ItemDiscriminator")||(a.$unknownFields[c]=t[c])}return a}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Rr(t.prototype,n),r&&Rr(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Nr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Tr(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Tr(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===Er(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function _r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Jr(e){return Jr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Jr(e)}function Mr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ur(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Mr(Object(n),!0).forEach(function(t){Lr(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Mr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Lr(e,t,n){return(t=Vr(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Gr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Vr(r.key),r)}}function Vr(e){var t=function(e){if("object"!=Jr(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Jr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Jr(t)?t:t+""}function Wr(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Wr=function(){return!!e})()}function Br(e){return Br=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Br(e)}function qr(e,t){return qr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},qr(e,t)}function zr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Cr.prototype.error=void 0,Cr.prototype.$reserved=void 0,Cr.prototype.$objectType=void 0,Cr.prototype.$unknownFields=void 0;var Kr=new WeakSet,Hr=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Br(t),function(e,t){if(t&&("object"==Jr(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Wr()?Reflect.construct(t,n||[],Br(e).constructor):t.apply(e,n))}(this,t),Kr),e.$objectType="dataprotection.v4.config.GetProtectedResourceApiResponse",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&qr(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Ur(Ur(Ur({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):zr(Kr,this,Zr).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson():e}):zr(Kr,this,Zr).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Jr(e.data)){case"dataprotection.v4.config.ProtectedResource":r.setData(Zn.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(Cr.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=Ur({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Gr(n.prototype,r),o&&Gr(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Zr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return _r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_r(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===Jr(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function Xr(e){return Xr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Xr(e)}function Yr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Qr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Yr(Object(n),!0).forEach(function(t){eo(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Yr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function eo(e,t,n){return(t=no(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function to(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,no(r.key),r)}}function no(e){var t=function(e){if("object"!=Xr(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Xr(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Xr(t)?t:t+""}Hr.prototype.metadata=void 0,Hr.prototype.data=void 0,Hr.prototype.$reserved=void 0,Hr.prototype.$objectType=void 0,Hr.prototype.$unknownFields=void 0;var ro=new WeakSet,oo=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ro),this.$objectType="prism.v4.config.TaskReference",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getExtId",value:function(){return this.extId}},{key:"setExtId",value:function(e){this.extId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Qr(Qr({},void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new C("extId","undefined or null");if(!R.validatePattern(this.extId,/^[a-zA-Z0-9\/+]*={0,2}:[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/))return new C("extId","does not satisfy required pattern: /^[a-zA-Z0-9/+]*={0,2}:[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("extId")&&null!==t.extId&&void 0!==t.extId&&n.setExtId(t.extId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Qr({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&to(t.prototype,n),r&&to(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function io(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function so(e){return so="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},so(e)}function ao(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function uo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ao(Object(n),!0).forEach(function(t){co(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ao(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function co(e,t,n){return(t=fo(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lo(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,fo(r.key),r)}}function fo(e){var t=function(e){if("object"!=so(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=so(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==so(t)?t:t+""}function po(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(po=function(){return!!e})()}function yo(e){return yo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},yo(e)}function vo(e,t){return vo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},vo(e,t)}function ho(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}oo.prototype.extId=void 0,oo.prototype.$reserved=void 0,oo.prototype.$objectType=void 0,oo.prototype.$unknownFields=void 0;var bo=new WeakSet,mo=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=yo(t),function(e,t){if(t&&("object"==so(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,po()?Reflect.construct(t,n||[],yo(e).constructor):t.apply(e,n))}(this,t),bo),e.$objectType="dataprotection.v4.config.ProtectedResourceRestoreApiResponse",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&vo(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return uo(uo(uo({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):ho(bo,this,go).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson():e}):ho(bo,this,go).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:so(e.data)){case"prism.v4.config.TaskReference":r.setData(oo.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(Cr.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=uo({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&lo(n.prototype,r),o&&lo(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function go(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return io(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?io(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===so(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function wo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Oo(e){return Oo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Oo(e)}function jo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ko(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jo(Object(n),!0).forEach(function(t){$o(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jo(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function $o(e,t,n){return(t=To(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Po(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,To(r.key),r)}}function To(e){var t=function(e){if("object"!=Oo(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Oo(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Oo(t)?t:t+""}function Eo(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Eo=function(){return!!e})()}function Fo(e){return Fo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Fo(e)}function So(e,t){return So=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},So(e,t)}function Io(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}mo.prototype.metadata=void 0,mo.prototype.data=void 0,mo.prototype.$reserved=void 0,mo.prototype.$objectType=void 0,mo.prototype.$unknownFields=void 0;var Ro=new WeakSet,xo=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Fo(t),function(e,t){if(t&&("object"==Oo(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Eo()?Reflect.construct(t,n||[],Fo(e).constructor):t.apply(e,n))}(this,t),Ro),e.$objectType="dataprotection.v4.config.ProtectedResourcePromoteApiResponse",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&So(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return ko(ko(ko({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):Io(Ro,this,Ao).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson():e}):Io(Ro,this,Ao).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Oo(e.data)){case"prism.v4.config.TaskReference":r.setData(oo.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(Cr.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=ko({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Po(n.prototype,r),o&&Po(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Ao(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return wo(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?wo(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===Oo(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function Do(e){return Do="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Do(e)}function Co(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function No(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Co(Object(n),!0).forEach(function(t){_o(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Co(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _o(e,t,n){return(t=Mo(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Jo(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Mo(r.key),r)}}function Mo(e){var t=function(e){if("object"!=Do(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Do(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Do(t)?t:t+""}function Uo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}xo.prototype.metadata=void 0,xo.prototype.data=void 0,xo.prototype.$reserved=void 0,xo.prototype.$objectType=void 0,xo.prototype.$unknownFields=void 0;var Lo=new WeakSet,Go=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Lo),this.clusterExtId=t,this.$objectType="dataprotection.v4.config.ProtectedResourceRestoreSpec",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getClusterExtId",value:function(){return this.clusterExtId}},{key:"setClusterExtId",value:function(e){this.clusterExtId=e}},{key:"getRestoreTime",value:function(){return this.restoreTime}},{key:"setRestoreTime",value:function(e){this.restoreTime=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return No(No(No({},void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{}),void 0!==this.getRestoreTime()&&null!==this.getRestoreTime()?{restoreTime:Uo(Lo,this,Vo).call(this,this.getRestoreTime(),!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["clusterExtId"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new C("clusterExtId","undefined or null");if(!R.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"restoreTime"!==t||void 0!==this.restoreTime&&null!==this.restoreTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("restoreTime","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("clusterExtId")&&null!==t.clusterExtId&&void 0!==t.clusterExtId&&n.setClusterExtId(t.clusterExtId),t.hasOwnProperty("restoreTime")&&null!==t.restoreTime&&void 0!==t.restoreTime&&n.setRestoreTime(t.restoreTime),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=No({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Jo(t.prototype,n),r&&Jo(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Vo(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Wo(e){return Wo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Wo(e)}function Bo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function qo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Bo(Object(n),!0).forEach(function(t){zo(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Bo(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function zo(e,t,n){return(t=Ho(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ko(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ho(r.key),r)}}function Ho(e){var t=function(e){if("object"!=Wo(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Wo(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Wo(t)?t:t+""}function Zo(e,t){return e.get(Xo(e,t))}function Xo(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Go.prototype.clusterExtId=void 0,Go.prototype.restoreTime=void 0,Go.prototype.$reserved=void 0,Go.prototype.$objectType=void 0,Go.prototype.$unknownFields=void 0;var Yo=new WeakMap,Qo=function(){return e=function e(t){var n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t,n){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,n)}(this,Yo,void 0),this.apiClient=t||ct.instance,n=Yo,r=new Set,n.set(Xo(n,this),r),Zo(Yo,this).add("authorization"),Zo(Yo,this).add("cookie"),Zo(Yo,this).add("host"),Zo(Yo,this).add("user-agent")},t=[{key:"getProtectedResourceById",value:function(e){var t=this,n=(arguments.length<=1?0:arguments.length-1)>0?arguments.length<=1?void 0:arguments[1]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getProtectedResourceById");var r={extId:e},o={};Object.keys(n).forEach(function(e){Zo(Yo,t).has(e.toLowerCase())||(o[e]=n[e])});var i=qo({},o),s=Hr;return this.apiClient.callApi("/api/dataprotection/v4.1/config/protected-resources/{extId}","GET",r,{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],s)}},{key:"promoteProtectedResource",value:function(e){var t=this,n=(arguments.length<=1?0:arguments.length-1)>0?arguments.length<=1?void 0:arguments[1]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling promoteProtectedResource");var r={extId:e},o={};Object.keys(n).forEach(function(e){Zo(Yo,t).has(e.toLowerCase())||(o[e]=n[e])});var i=qo({},o),s=xo;return this.apiClient.callApi("/api/dataprotection/v4.1/config/protected-resources/{extId}/$actions/promote","POST",r,{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],s)}},{key:"restoreProtectedResource",value:function(e,t){var n,r=this,o=(arguments.length<=2?0:arguments.length-2)>0?arguments.length<=2?void 0:arguments[2]:{};if(n=t instanceof Go&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling restoreProtectedResource");if(null==n)throw new Error("Invalid body when calling restoreProtectedResource");var i={extId:e},s={};Object.keys(o).forEach(function(e){Zo(Yo,r).has(e.toLowerCase())||(s[e]=o[e])});var a=qo({},s);ct.addEtagReferenceToHeader(t,a);var u=mo;return this.apiClient.callApi("/api/dataprotection/v4.1/config/protected-resources/{extId}/$actions/restore","POST",i,{},a,{},n,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],u)}}],n=[{key:"ApiClient",get:function(){return ct}}],t&&Ko(e.prototype,t),n&&Ko(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,n}();function ei(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ti(e){return ti="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ti(e)}function ni(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ri(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ni(Object(n),!0).forEach(function(t){oi(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ni(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function oi(e,t,n){return(t=si(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ii(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,si(r.key),r)}}function si(e){var t=function(e){if("object"!=ti(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ti(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ti(t)?t:t+""}function ai(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ai=function(){return!!e})()}function ui(e){return ui=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ui(e)}function ci(e,t){return ci=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ci(e,t)}function li(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var fi=new WeakSet,pi=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=ui(t),function(e,t){if(t&&("object"==ti(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,ai()?Reflect.construct(t,n||[],ui(e).constructor):t.apply(e,n))}(this,t),fi),e.$objectType="dataprotection.v4.config.RecoveryPointReplicateApiResponse",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ci(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return ri(ri(ri({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):li(fi,this,di).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson():e}):li(fi,this,di).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:ti(e.data)){case"prism.v4.config.TaskReference":r.setData(oo.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(Cr.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=ri({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&ii(n.prototype,r),o&&ii(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function di(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return ei(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ei(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===ti(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}pi.prototype.metadata=void 0,pi.prototype.data=void 0,pi.prototype.$reserved=void 0,pi.prototype.$objectType=void 0,pi.prototype.$unknownFields=void 0;var yi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",GET_VSS_METADATA:"GET_VSS_METADATA",COMPUTE_CHANGED_REGIONS:"COMPUTE_CHANGED_REGIONS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(yi).find(function(t){return yi[t]===e});return null==t?yi.$UNKNOWN:yi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case yi.$UNKNOWN:case yi.$REDACTED:case yi.GET_VSS_METADATA:case yi.COMPUTE_CHANGED_REGIONS:return;default:throw new Error("Invalid : must be ClusterDiscoverOperation.{ $UNKNOWN|$REDACTED|GET_VSS_METADATA|COMPUTE_CHANGED_REGIONS }")}}};Object.freeze(yi);const vi=yi;function hi(e){return hi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},hi(e)}function bi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function mi(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bi(Object(n),!0).forEach(function(t){gi(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bi(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function gi(e,t,n){return(t=Oi(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wi(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Oi(r.key),r)}}function Oi(e){var t=function(e){if("object"!=hi(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=hi(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==hi(t)?t:t+""}var ji=new WeakSet,ki=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ji),this.$objectType="dataprotection.v4.content.DiskRecoveryPointReference",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getRecoveryPointExtId",value:function(){return this.recoveryPointExtId}},{key:"setRecoveryPointExtId",value:function(e){this.recoveryPointExtId=e}},{key:"getDiskRecoveryPointExtId",value:function(){return this.diskRecoveryPointExtId}},{key:"setDiskRecoveryPointExtId",value:function(e){this.diskRecoveryPointExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return mi(mi(mi({},void 0!==this.getRecoveryPointExtId()&&null!==this.getRecoveryPointExtId()?{recoveryPointExtId:this.getRecoveryPointExtId()}:{}),void 0!==this.getDiskRecoveryPointExtId()&&null!==this.getDiskRecoveryPointExtId()?{diskRecoveryPointExtId:this.getDiskRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("recoveryPointExtId"===t){if(void 0===this.recoveryPointExtId||null===this.recoveryPointExtId)return new C("recoveryPointExtId","undefined or null");if(!R.validatePattern(this.recoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("recoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("diskRecoveryPointExtId"===t){if(void 0===this.diskRecoveryPointExtId||null===this.diskRecoveryPointExtId)return new C("diskRecoveryPointExtId","undefined or null");if(!R.validatePattern(this.diskRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("diskRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("recoveryPointExtId")&&null!==t.recoveryPointExtId&&void 0!==t.recoveryPointExtId&&n.setRecoveryPointExtId(t.recoveryPointExtId),t.hasOwnProperty("diskRecoveryPointExtId")&&null!==t.diskRecoveryPointExtId&&void 0!==t.diskRecoveryPointExtId&&n.setDiskRecoveryPointExtId(t.diskRecoveryPointExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=mi({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&wi(t.prototype,n),r&&wi(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function $i(e){return $i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$i(e)}function Pi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ti(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pi(Object(n),!0).forEach(function(t){Ei(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pi(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ei(e,t,n){return(t=Si(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fi(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Si(r.key),r)}}function Si(e){var t=function(e){if("object"!=$i(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=$i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==$i(t)?t:t+""}function Ii(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Ii=function(){return!!e})()}function Ri(e){return Ri=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ri(e)}function xi(e,t){return xi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},xi(e,t)}ki.prototype.recoveryPointExtId=void 0,ki.prototype.diskRecoveryPointExtId=void 0,ki.prototype.$reserved=void 0,ki.prototype.$objectType=void 0,ki.prototype.$unknownFields=void 0;var Ai=new WeakSet,Di=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Ri(t),function(e,t){if(t&&("object"==$i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Ii()?Reflect.construct(t,n||[],Ri(e).constructor):t.apply(e,n))}(this,t),Ai),e.$objectType="dataprotection.v4.content.VmDiskRecoveryPointReference",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&xi(e,t)}(t,e),n=t,r=[{key:"getVmRecoveryPointExtId",value:function(){return this.vmRecoveryPointExtId}},{key:"setVmRecoveryPointExtId",value:function(e){this.vmRecoveryPointExtId=e}},{key:"toJson",value:function(e){return Ti(Ti(Ti(Ti({},void 0!==this.getVmRecoveryPointExtId()&&null!==this.getVmRecoveryPointExtId()?{vmRecoveryPointExtId:this.getVmRecoveryPointExtId()}:{}),void 0!==this.getRecoveryPointExtId()&&null!==this.getRecoveryPointExtId()?{recoveryPointExtId:this.getRecoveryPointExtId()}:{}),void 0!==this.getDiskRecoveryPointExtId()&&null!==this.getDiskRecoveryPointExtId()?{diskRecoveryPointExtId:this.getDiskRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("vmRecoveryPointExtId"===t){if(void 0===this.vmRecoveryPointExtId||null===this.vmRecoveryPointExtId)return new C("vmRecoveryPointExtId","undefined or null");if(!R.validatePattern(this.vmRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("vmRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,ki.constructFromObject(e,n,!0),e.hasOwnProperty("vmRecoveryPointExtId")&&null!==e.vmRecoveryPointExtId&&void 0!==e.vmRecoveryPointExtId&&n.setVmRecoveryPointExtId(e.vmRecoveryPointExtId),!r))for(var o in n.$unknownFields=Ti({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Fi(n.prototype,r),o&&Fi(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(ki);function Ci(e){return Ci="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ci(e)}function Ni(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ni(Object(n),!0).forEach(function(t){Ji(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ni(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ji(e,t,n){return(t=Ui(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Mi(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ui(r.key),r)}}function Ui(e){var t=function(e){if("object"!=Ci(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ci(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ci(t)?t:t+""}function Li(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Li=function(){return!!e})()}function Gi(e){return Gi=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Gi(e)}function Vi(e,t){return Vi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Vi(e,t)}Di.prototype.vmRecoveryPointExtId=void 0,ki.prototype.recoveryPointExtId=void 0,ki.prototype.diskRecoveryPointExtId=void 0;var Wi=new WeakSet,Bi=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Gi(t),function(e,t){if(t&&("object"==Ci(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Li()?Reflect.construct(t,n||[],Gi(e).constructor):t.apply(e,n))}(this,t),Wi),e.$objectType="dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Vi(e,t)}(t,e),n=t,r=[{key:"getVolumeGroupRecoveryPointExtId",value:function(){return this.volumeGroupRecoveryPointExtId}},{key:"setVolumeGroupRecoveryPointExtId",value:function(e){this.volumeGroupRecoveryPointExtId=e}},{key:"toJson",value:function(e){return _i(_i(_i(_i({},void 0!==this.getVolumeGroupRecoveryPointExtId()&&null!==this.getVolumeGroupRecoveryPointExtId()?{volumeGroupRecoveryPointExtId:this.getVolumeGroupRecoveryPointExtId()}:{}),void 0!==this.getRecoveryPointExtId()&&null!==this.getRecoveryPointExtId()?{recoveryPointExtId:this.getRecoveryPointExtId()}:{}),void 0!==this.getDiskRecoveryPointExtId()&&null!==this.getDiskRecoveryPointExtId()?{diskRecoveryPointExtId:this.getDiskRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("volumeGroupRecoveryPointExtId"===t){if(void 0===this.volumeGroupRecoveryPointExtId||null===this.volumeGroupRecoveryPointExtId)return new C("volumeGroupRecoveryPointExtId","undefined or null");if(!R.validatePattern(this.volumeGroupRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("volumeGroupRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,ki.constructFromObject(e,n,!0),e.hasOwnProperty("volumeGroupRecoveryPointExtId")&&null!==e.volumeGroupRecoveryPointExtId&&void 0!==e.volumeGroupRecoveryPointExtId&&n.setVolumeGroupRecoveryPointExtId(e.volumeGroupRecoveryPointExtId),!r))for(var o in n.$unknownFields=_i({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Mi(n.prototype,r),o&&Mi(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(ki);function qi(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function zi(e){return zi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},zi(e)}function Ki(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Hi(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ki(Object(n),!0).forEach(function(t){Zi(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ki(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Zi(e,t,n){return(t=Yi(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xi(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Yi(r.key),r)}}function Yi(e){var t=function(e){if("object"!=zi(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=zi(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==zi(t)?t:t+""}function Qi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Bi.prototype.volumeGroupRecoveryPointExtId=void 0,ki.prototype.recoveryPointExtId=void 0,ki.prototype.diskRecoveryPointExtId=void 0;var es=new WeakSet,ts=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,es),this.diskRecoveryPoint=t,this.$objectType="dataprotection.v4.content.ComputeChangedRegionsClusterDiscoverSpec",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getDiskRecoveryPoint",value:function(){return this.diskRecoveryPoint}},{key:"setDiskRecoveryPoint",value:function(e){this.diskRecoveryPoint=e}},{key:"getReferenceDiskRecoveryPoint",value:function(){return this.referenceDiskRecoveryPoint}},{key:"setReferenceDiskRecoveryPoint",value:function(e){this.referenceDiskRecoveryPoint=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Hi(!1===e?Hi(Hi({},void 0!==this.getDiskRecoveryPoint()&&null!==this.getDiskRecoveryPoint()?{diskRecoveryPoint:void 0!==this.getDiskRecoveryPoint().toJson?this.getDiskRecoveryPoint().toJson(!1):Array.isArray(this.getDiskRecoveryPoint())?this.getDiskRecoveryPoint().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):Qi(es,this,ns).call(this,this.getDiskRecoveryPoint(),!1)}:{}),void 0!==this.getReferenceDiskRecoveryPoint()&&null!==this.getReferenceDiskRecoveryPoint()?{referenceDiskRecoveryPoint:void 0!==this.getReferenceDiskRecoveryPoint().toJson?this.getReferenceDiskRecoveryPoint().toJson(!1):Array.isArray(this.getReferenceDiskRecoveryPoint())?this.getReferenceDiskRecoveryPoint().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):Qi(es,this,ns).call(this,this.getReferenceDiskRecoveryPoint(),!1)}:{}):Hi(Hi({},void 0!==this.getDiskRecoveryPoint()&&null!==this.getDiskRecoveryPoint()?{diskRecoveryPoint:void 0!==this.getDiskRecoveryPoint().toJson?this.getDiskRecoveryPoint().toJson():Array.isArray(this.getDiskRecoveryPoint())?this.getDiskRecoveryPoint().map(function(e){return void 0!==e.toJson?e.toJson():e}):Qi(es,this,ns).call(this,this.getDiskRecoveryPoint())}:{}),void 0!==this.getReferenceDiskRecoveryPoint()&&null!==this.getReferenceDiskRecoveryPoint()?{referenceDiskRecoveryPoint:void 0!==this.getReferenceDiskRecoveryPoint().toJson?this.getReferenceDiskRecoveryPoint().toJson():Array.isArray(this.getReferenceDiskRecoveryPoint())?this.getReferenceDiskRecoveryPoint().map(function(e){return void 0!==e.toJson?e.toJson():e}):Qi(es,this,ns).call(this,this.getReferenceDiskRecoveryPoint())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["diskRecoveryPoint"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"diskRecoveryPoint"!==t||void 0!==this.diskRecoveryPoint&&null!==this.diskRecoveryPoint?"referenceDiskRecoveryPoint"!==t||void 0!==this.referenceDiskRecoveryPoint&&null!==this.referenceDiskRecoveryPoint?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("referenceDiskRecoveryPoint","undefined or null"):new C("diskRecoveryPoint","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(r=r||new e,t.hasOwnProperty("diskRecoveryPoint")&&null!==t.diskRecoveryPoint&&void 0!==t.diskRecoveryPoint)switch(n=t.diskRecoveryPoint.hasOwnProperty("$objectType")?t.diskRecoveryPoint.$objectType:zi(t.diskRecoveryPoint)){case"dataprotection.v4.content.VmDiskRecoveryPointReference":r.setDiskRecoveryPoint(Di.constructFromObject(t.diskRecoveryPoint,void 0));break;case"dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference":r.setDiskRecoveryPoint(Bi.constructFromObject(t.diskRecoveryPoint,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(t.hasOwnProperty("referenceDiskRecoveryPoint")&&null!==t.referenceDiskRecoveryPoint&&void 0!==t.referenceDiskRecoveryPoint)switch(n=t.referenceDiskRecoveryPoint.hasOwnProperty("$objectType")?t.referenceDiskRecoveryPoint.$objectType:zi(t.referenceDiskRecoveryPoint)){case"dataprotection.v4.content.VmDiskRecoveryPointReference":r.setReferenceDiskRecoveryPoint(Di.constructFromObject(t.referenceDiskRecoveryPoint,void 0));break;case"dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference":r.setReferenceDiskRecoveryPoint(Bi.constructFromObject(t.referenceDiskRecoveryPoint,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(t.hasOwnProperty("$reserved")&&(r.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(r.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(r.$unknownFields=t.$unknownFields),!o)for(var i in r.$unknownFields=Hi({},t.$unknownFields),t)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=t[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Xi(t.prototype,n),r&&Xi(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function ns(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return qi(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?qi(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===zi(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function rs(e){return rs="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},rs(e)}function os(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function is(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?os(Object(n),!0).forEach(function(t){ss(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):os(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ss(e,t,n){return(t=us(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function as(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,us(r.key),r)}}function us(e){var t=function(e){if("object"!=rs(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=rs(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==rs(t)?t:t+""}ts.prototype.diskRecoveryPoint=void 0,ts.prototype.referenceDiskRecoveryPoint=void 0,ts.prototype.$reserved=void 0,ts.prototype.$objectType=void 0,ts.prototype.$unknownFields=void 0;var cs=new WeakSet,ls=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,cs),this.vmRecoveryPointExtId=t,this.$objectType="dataprotection.v4.content.GetVssMetadataClusterDiscoverSpec",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getVmRecoveryPointExtId",value:function(){return this.vmRecoveryPointExtId}},{key:"setVmRecoveryPointExtId",value:function(e){this.vmRecoveryPointExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return is(is({},void 0!==this.getVmRecoveryPointExtId()&&null!==this.getVmRecoveryPointExtId()?{vmRecoveryPointExtId:this.getVmRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["vmRecoveryPointExtId"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("vmRecoveryPointExtId"===t){if(void 0===this.vmRecoveryPointExtId||null===this.vmRecoveryPointExtId)return new C("vmRecoveryPointExtId","undefined or null");if(!R.validatePattern(this.vmRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("vmRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("vmRecoveryPointExtId")&&null!==t.vmRecoveryPointExtId&&void 0!==t.vmRecoveryPointExtId&&n.setVmRecoveryPointExtId(t.vmRecoveryPointExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=is({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&as(t.prototype,n),r&&as(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function fs(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ps(e){return ps="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ps(e)}function ds(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ys(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ds(Object(n),!0).forEach(function(t){vs(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ds(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function vs(e,t,n){return(t=bs(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hs(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,bs(r.key),r)}}function bs(e){var t=function(e){if("object"!=ps(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ps(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ps(t)?t:t+""}function ms(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ls.prototype.vmRecoveryPointExtId=void 0,ls.prototype.$reserved=void 0,ls.prototype.$objectType=void 0,ls.prototype.$unknownFields=void 0;var gs=new WeakSet,ws=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,gs),this.operation=t,this.spec=n,this.$objectType="dataprotection.v4.content.ClusterDiscoverSpec",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getOperation",value:function(){return this.operation}},{key:"setOperation",value:function(e){this.operation=e}},{key:"getSpec",value:function(){return this.spec}},{key:"setSpec",value:function(e){this.spec=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return ys(ys(ys({},void 0!==this.getOperation()&&null!==this.getOperation()?{operation:this.getOperation()}:{}),!1===e?void 0!==this.getSpec()&&null!==this.getSpec()?{spec:void 0!==this.getSpec().toJson?this.getSpec().toJson(!1):Array.isArray(this.getSpec())?this.getSpec().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):ms(gs,this,Os).call(this,this.getSpec(),!1)}:{}:void 0!==this.getSpec()&&null!==this.getSpec()?{spec:void 0!==this.getSpec().toJson?this.getSpec().toJson():Array.isArray(this.getSpec())?this.getSpec().map(function(e){return void 0!==e.toJson?e.toJson():e}):ms(gs,this,Os).call(this,this.getSpec())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["operation","spec"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"operation"!==t||void 0!==this.operation&&null!==this.operation?"spec"!==t||void 0!==this.spec&&null!==this.spec?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("spec","undefined or null"):new C("operation","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(r=r||new e,t.hasOwnProperty("operation")&&null!==t.operation&&void 0!==t.operation&&r.setOperation(vi.constructFromObject(t.operation)),t.hasOwnProperty("spec")&&null!==t.spec&&void 0!==t.spec)switch(n=t.spec.hasOwnProperty("$objectType")?t.spec.$objectType:ps(t.spec)){case"dataprotection.v4.content.GetVssMetadataClusterDiscoverSpec":r.setSpec(ls.constructFromObject(t.spec,void 0));break;case"dataprotection.v4.content.ComputeChangedRegionsClusterDiscoverSpec":r.setSpec(ts.constructFromObject(t.spec,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(t.hasOwnProperty("$reserved")&&(r.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(r.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(r.$unknownFields=t.$unknownFields),!o)for(var i in r.$unknownFields=ys({},t.$unknownFields),t)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=t[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&hs(t.prototype,n),r&&hs(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Os(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return fs(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?fs(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===ps(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function js(e){return js="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},js(e)}function ks(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ks(Object(n),!0).forEach(function(t){Ps(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ks(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ps(e,t,n){return(t=Es(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ts(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Es(r.key),r)}}function Es(e){var t=function(e){if("object"!=js(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=js(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==js(t)?t:t+""}ws.prototype.operation=void 0,ws.prototype.spec=void 0,ws.prototype.$reserved=void 0,ws.prototype.$objectType=void 0,ws.prototype.$unknownFields=void 0;var Fs=new WeakSet,Ss=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Fs),this.$objectType="dataprotection.v4.content.BaseRecoveryPointSpec",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getReferenceRecoveryPointExtId",value:function(){return this.referenceRecoveryPointExtId}},{key:"setReferenceRecoveryPointExtId",value:function(e){this.referenceRecoveryPointExtId=e}},{key:"getReferenceDiskRecoveryPointExtId",value:function(){return this.referenceDiskRecoveryPointExtId}},{key:"setReferenceDiskRecoveryPointExtId",value:function(e){this.referenceDiskRecoveryPointExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return $s($s($s({},void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{}),void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("referenceRecoveryPointExtId"===t){if(void 0===this.referenceRecoveryPointExtId||null===this.referenceRecoveryPointExtId)return new C("referenceRecoveryPointExtId","undefined or null");if(!R.validatePattern(this.referenceRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("referenceRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("referenceDiskRecoveryPointExtId"===t){if(void 0===this.referenceDiskRecoveryPointExtId||null===this.referenceDiskRecoveryPointExtId)return new C("referenceDiskRecoveryPointExtId","undefined or null");if(!R.validatePattern(this.referenceDiskRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("referenceDiskRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("referenceRecoveryPointExtId")&&null!==t.referenceRecoveryPointExtId&&void 0!==t.referenceRecoveryPointExtId&&n.setReferenceRecoveryPointExtId(t.referenceRecoveryPointExtId),t.hasOwnProperty("referenceDiskRecoveryPointExtId")&&null!==t.referenceDiskRecoveryPointExtId&&void 0!==t.referenceDiskRecoveryPointExtId&&n.setReferenceDiskRecoveryPointExtId(t.referenceDiskRecoveryPointExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=$s({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Ts(t.prototype,n),r&&Ts(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Is(e){return Is="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Is(e)}function Rs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function xs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Rs(Object(n),!0).forEach(function(t){As(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Rs(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function As(e,t,n){return(t=Cs(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ds(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Cs(r.key),r)}}function Cs(e){var t=function(e){if("object"!=Is(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Is(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Is(t)?t:t+""}function Ns(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Ns=function(){return!!e})()}function _s(e){return _s=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},_s(e)}function Js(e,t){return Js=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Js(e,t)}Ss.prototype.referenceRecoveryPointExtId=void 0,Ss.prototype.referenceDiskRecoveryPointExtId=void 0,Ss.prototype.$reserved=void 0,Ss.prototype.$objectType=void 0,Ss.prototype.$unknownFields=void 0;var Ms=new WeakSet,Us=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=_s(t),function(e,t){if(t&&("object"==Is(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Ns()?Reflect.construct(t,n||[],_s(e).constructor):t.apply(e,n))}(this,t),Ms),e.$objectType="dataprotection.v4.content.VmDiskRecoveryPointClusterDiscoverSpec",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Js(e,t)}(t,e),n=t,r=[{key:"getReferenceVmRecoveryPointExtId",value:function(){return this.referenceVmRecoveryPointExtId}},{key:"setReferenceVmRecoveryPointExtId",value:function(e){this.referenceVmRecoveryPointExtId=e}},{key:"toJson",value:function(e){return xs(xs(xs(xs({},void 0!==this.getReferenceVmRecoveryPointExtId()&&null!==this.getReferenceVmRecoveryPointExtId()?{referenceVmRecoveryPointExtId:this.getReferenceVmRecoveryPointExtId()}:{}),void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{}),void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("referenceVmRecoveryPointExtId"===t){if(void 0===this.referenceVmRecoveryPointExtId||null===this.referenceVmRecoveryPointExtId)return new C("referenceVmRecoveryPointExtId","undefined or null");if(!R.validatePattern(this.referenceVmRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("referenceVmRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Ss.constructFromObject(e,n,!0),e.hasOwnProperty("referenceVmRecoveryPointExtId")&&null!==e.referenceVmRecoveryPointExtId&&void 0!==e.referenceVmRecoveryPointExtId&&n.setReferenceVmRecoveryPointExtId(e.referenceVmRecoveryPointExtId),!r))for(var o in n.$unknownFields=xs({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Ds(n.prototype,r),o&&Ds(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Ss);function Ls(e){return Ls="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ls(e)}function Gs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Vs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Gs(Object(n),!0).forEach(function(t){Ws(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Gs(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ws(e,t,n){return(t=qs(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Bs(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,qs(r.key),r)}}function qs(e){var t=function(e){if("object"!=Ls(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ls(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ls(t)?t:t+""}function zs(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(zs=function(){return!!e})()}function Ks(e){return Ks=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ks(e)}function Hs(e,t){return Hs=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Hs(e,t)}Us.prototype.referenceVmRecoveryPointExtId=void 0,Ss.prototype.referenceRecoveryPointExtId=void 0,Ss.prototype.referenceDiskRecoveryPointExtId=void 0;var Zs=new WeakSet,Xs=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Ks(t),function(e,t){if(t&&("object"==Ls(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,zs()?Reflect.construct(t,n||[],Ks(e).constructor):t.apply(e,n))}(this,t),Zs),e.$objectType="dataprotection.v4.content.VmRecoveryPointChangedRegionsComputeSpec",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Hs(e,t)}(t,e),n=t,r=[{key:"getOffset",value:function(){return this.offset}},{key:"setOffset",value:function(e){this.offset=e}},{key:"getLength",value:function(){return this.length}},{key:"setLength",value:function(e){this.length=e}},{key:"getBlockSizeByte",value:function(){return this.blockSizeByte}},{key:"setBlockSizeByte",value:function(e){this.blockSizeByte=e}},{key:"toJson",value:function(e){return Vs(Vs(Vs(Vs(Vs(Vs(Vs({},void 0!==this.getOffset()&&null!==this.getOffset()?{offset:this.getOffset()}:{}),void 0!==this.getLength()&&null!==this.getLength()?{length:this.getLength()}:{}),void 0!==this.getBlockSizeByte()&&null!==this.getBlockSizeByte()?{blockSizeByte:this.getBlockSizeByte()}:{}),void 0!==this.getReferenceVmRecoveryPointExtId()&&null!==this.getReferenceVmRecoveryPointExtId()?{referenceVmRecoveryPointExtId:this.getReferenceVmRecoveryPointExtId()}:{}),void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{}),void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("offset"===t&&(void 0===this.offset||null===this.offset))return new C("offset","undefined or null");if("length"===t&&(void 0===this.length||null===this.length))return new C("length","undefined or null");if("blockSizeByte"===t){if(void 0===this.blockSizeByte||null===this.blockSizeByte)return new C("blockSizeByte","undefined or null");if(!R.validateMaximum(this.blockSizeByte,262144))return new C("blockSizeByte","does not satisfy required maximum constraint: 262144");if(!R.validateMinimum(this.blockSizeByte,32768))return new C("blockSizeByte","does not satisfy required minimum constraint: 32768")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Us.constructFromObject(e,n,!0),e.hasOwnProperty("offset")&&null!==e.offset&&void 0!==e.offset&&n.setOffset(e.offset),e.hasOwnProperty("length")&&null!==e.length&&void 0!==e.length&&n.setLength(e.length),e.hasOwnProperty("blockSizeByte")&&null!==e.blockSizeByte&&void 0!==e.blockSizeByte&&n.setBlockSizeByte(e.blockSizeByte),!r))for(var o in n.$unknownFields=Vs({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Bs(n.prototype,r),o&&Bs(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Us);function Ys(e){return Ys="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ys(e)}function Qs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ea(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Qs(Object(n),!0).forEach(function(t){ta(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Qs(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ta(e,t,n){return(t=ra(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function na(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ra(r.key),r)}}function ra(e){var t=function(e){if("object"!=Ys(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ys(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ys(t)?t:t+""}Xs.prototype.offset=void 0,Xs.prototype.length=void 0,Xs.prototype.blockSizeByte=void 0,Us.prototype.referenceVmRecoveryPointExtId=void 0,Ss.prototype.referenceRecoveryPointExtId=void 0,Ss.prototype.referenceDiskRecoveryPointExtId=void 0;var oa=new WeakSet,ia=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,oa),this.value=t,this.$objectType="common.v1.config.IPv4Address",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getValue",value:function(){return this.value}},{key:"setValue",value:function(e){this.value=e}},{key:"getPrefixLength",value:function(){return this.prefixLength}},{key:"setPrefixLength",value:function(e){this.prefixLength=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return ea(ea(ea({},void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{}),void 0!==this.getPrefixLength()&&null!==this.getPrefixLength()?{prefixLength:this.getPrefixLength()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["value"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("value"===t){if(void 0===this.value||null===this.value)return new C("value","undefined or null");if(!R.validatePattern(this.value,/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/))return new C("value","does not satisfy required pattern: /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/")}if("prefixLength"===t){if(void 0===this.prefixLength||null===this.prefixLength)return new C("prefixLength","undefined or null");if(!R.validateMaximum(this.prefixLength,32))return new C("prefixLength","does not satisfy required maximum constraint: 32");if(!R.validateMinimum(this.prefixLength,0))return new C("prefixLength","does not satisfy required minimum constraint: 0")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("value")&&null!==t.value&&void 0!==t.value&&n.setValue(t.value),t.hasOwnProperty("prefixLength")&&null!==t.prefixLength&&void 0!==t.prefixLength&&n.setPrefixLength(t.prefixLength),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=ea({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&na(t.prototype,n),r&&na(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function sa(e){return sa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},sa(e)}function aa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ua(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?aa(Object(n),!0).forEach(function(t){ca(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):aa(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ca(e,t,n){return(t=fa(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function la(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,fa(r.key),r)}}function fa(e){var t=function(e){if("object"!=sa(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=sa(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==sa(t)?t:t+""}ia.prototype.value=void 0,ia.prototype.prefixLength=32,ia.prototype.$reserved=void 0,ia.prototype.$objectType=void 0,ia.prototype.$unknownFields=void 0;var pa=new WeakSet,da=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,pa),this.value=t,this.$objectType="common.v1.config.IPv6Address",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getValue",value:function(){return this.value}},{key:"setValue",value:function(e){this.value=e}},{key:"getPrefixLength",value:function(){return this.prefixLength}},{key:"setPrefixLength",value:function(e){this.prefixLength=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return ua(ua(ua({},void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{}),void 0!==this.getPrefixLength()&&null!==this.getPrefixLength()?{prefixLength:this.getPrefixLength()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["value"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("value"===t){if(void 0===this.value||null===this.value)return new C("value","undefined or null");if(!R.validatePattern(this.value,/^(?:(?:(?:[A-Fa-f0-9]{1,4}:){6}|(?=(?:[A-Fa-f0-9]{0,4}:){0,6}(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$)(([0-9a-fA-F]{1,4}:){0,5}|:)((:[0-9a-fA-F]{1,4}){1,5}:|:)|::(?:[A-Fa-f0-9]{1,4}:){5})(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])|(?:[A-Fa-f0-9]{1,4}:){7}[A-Fa-f0-9]{1,4}|(?=(?:[A-Fa-f0-9]{0,4}:){0,7}[A-Fa-f0-9]{0,4}$)(([0-9a-fA-F]{1,4}:){1,7}|:)((:[0-9a-fA-F]{1,4}){1,7}|:)|(?:[A-Fa-f0-9]{1,4}:){7}:|:(:[A-Fa-f0-9]{1,4}){7})$/))return new C("value","does not satisfy required pattern: /^(?:(?:(?:[A-Fa-f0-9]{1,4}:){6}|(?=(?:[A-Fa-f0-9]{0,4}:){0,6}(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$)(([0-9a-fA-F]{1,4}:){0,5}|:)((:[0-9a-fA-F]{1,4}){1,5}:|:)|::(?:[A-Fa-f0-9]{1,4}:){5})(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])|(?:[A-Fa-f0-9]{1,4}:){7}[A-Fa-f0-9]{1,4}|(?=(?:[A-Fa-f0-9]{0,4}:){0,7}[A-Fa-f0-9]{0,4}$)(([0-9a-fA-F]{1,4}:){1,7}|:)((:[0-9a-fA-F]{1,4}){1,7}|:)|(?:[A-Fa-f0-9]{1,4}:){7}:|:(:[A-Fa-f0-9]{1,4}){7})$/")}if("prefixLength"===t){if(void 0===this.prefixLength||null===this.prefixLength)return new C("prefixLength","undefined or null");if(!R.validateMaximum(this.prefixLength,128))return new C("prefixLength","does not satisfy required maximum constraint: 128");if(!R.validateMinimum(this.prefixLength,0))return new C("prefixLength","does not satisfy required minimum constraint: 0")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("value")&&null!==t.value&&void 0!==t.value&&n.setValue(t.value),t.hasOwnProperty("prefixLength")&&null!==t.prefixLength&&void 0!==t.prefixLength&&n.setPrefixLength(t.prefixLength),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=ua({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&la(t.prototype,n),r&&la(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function ya(e){return ya="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ya(e)}function va(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ha(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?va(Object(n),!0).forEach(function(t){ba(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):va(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ba(e,t,n){return(t=ga(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ma(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ga(r.key),r)}}function ga(e){var t=function(e){if("object"!=ya(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ya(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ya(t)?t:t+""}da.prototype.value=void 0,da.prototype.prefixLength=128,da.prototype.$reserved=void 0,da.prototype.$objectType=void 0,da.prototype.$unknownFields=void 0;var wa=new WeakSet,Oa=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,wa),this.$objectType="common.v1.config.IPAddress",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}return t=e,n=[{key:"getIpv4",value:function(){return this.ipv4}},{key:"setIpv4",value:function(e){this.ipv4=e}},{key:"getIpv6",value:function(){return this.ipv6}},{key:"setIpv6",value:function(e){this.ipv6=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"hasIpv4",value:function(){return!(void 0===this.ipv4||null===this.ipv4)}},{key:"hasIpv6",value:function(){return!(void 0===this.ipv6||null===this.ipv6)}},{key:"isValid",value:function(){return this.hasIpv4()||this.hasIpv6()}},{key:"toJson",value:function(e){return ha(ha(ha({},void 0!==this.getIpv4()&&null!==this.getIpv4()?{ipv4:this.getIpv4().toJson(!1)}:{}),void 0!==this.getIpv6()&&null!==this.getIpv6()?{ipv6:this.getIpv6().toJson(!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"ipv4"!==t||void 0!==this.ipv4&&null!==this.ipv4?"ipv6"!==t||void 0!==this.ipv6&&null!==this.ipv6?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("ipv6","undefined or null"):new C("ipv4","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("ipv4")&&null!==t.ipv4&&void 0!==t.ipv4&&n.setIpv4(ia.constructFromObject(t.ipv4)),t.hasOwnProperty("ipv6")&&null!==t.ipv6&&void 0!==t.ipv6&&n.setIpv6(da.constructFromObject(t.ipv6)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=ha({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&ma(t.prototype,n),r&&ma(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function ja(e){return ja="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ja(e)}function ka(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ka(Object(n),!0).forEach(function(t){Pa(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ka(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Pa(e,t,n){return(t=Ea(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ta(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ea(r.key),r)}}function Ea(e){var t=function(e){if("object"!=ja(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ja(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ja(t)?t:t+""}Oa.prototype.ipv4=void 0,Oa.prototype.ipv6=void 0,Oa.prototype.$reserved=void 0,Oa.prototype.$objectType=void 0,Oa.prototype.$unknownFields=void 0;var Fa=new WeakSet,Sa=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Fa),this.$objectType="dataprotection.v4.common.ClusterInfo",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getJwtToken",value:function(){return this.jwtToken}},{key:"setJwtToken",value:function(e){this.jwtToken=e}},{key:"getClusterIp",value:function(){return this.clusterIp}},{key:"setClusterIp",value:function(e){this.clusterIp=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return $a($a($a({},void 0!==this.getJwtToken()&&null!==this.getJwtToken()?{jwtToken:this.getJwtToken()}:{}),void 0!==this.getClusterIp()&&null!==this.getClusterIp()?{clusterIp:this.getClusterIp().toJson(!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"jwtToken"!==t||void 0!==this.jwtToken&&null!==this.jwtToken?"clusterIp"!==t||void 0!==this.clusterIp&&null!==this.clusterIp?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("clusterIp","undefined or null"):new C("jwtToken","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("jwtToken")&&null!==t.jwtToken&&void 0!==t.jwtToken&&n.setJwtToken(t.jwtToken),t.hasOwnProperty("clusterIp")&&null!==t.clusterIp&&void 0!==t.clusterIp&&n.setClusterIp(Oa.constructFromObject(t.clusterIp)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=$a({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Ta(t.prototype,n),r&&Ta(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Ia(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Ra(e){return Ra="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ra(e)}function xa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Aa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xa(Object(n),!0).forEach(function(t){Da(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xa(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Da(e,t,n){return(t=Na(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ca(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Na(r.key),r)}}function Na(e){var t=function(e){if("object"!=Ra(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ra(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ra(t)?t:t+""}function _a(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_a=function(){return!!e})()}function Ja(e){return Ja=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ja(e)}function Ma(e,t){return Ma=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ma(e,t)}function Ua(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Sa.prototype.jwtToken=void 0,Sa.prototype.clusterIp=void 0,Sa.prototype.$reserved=void 0,Sa.prototype.$objectType=void 0,Sa.prototype.$unknownFields=void 0;var La=new WeakSet,Ga=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Ja(t),function(e,t){if(t&&("object"==Ra(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,_a()?Reflect.construct(t,n||[],Ja(e).constructor):t.apply(e,n))}(this,t),La),e.$objectType="dataprotection.v4.config.ClusterInfoApiResponse",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ma(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Aa(Aa(Aa({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):Ua(La,this,Va).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson():e}):Ua(La,this,Va).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Ra(e.data)){case"dataprotection.v4.common.ClusterInfo":r.setData(Sa.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(Cr.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=Aa({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Ca(n.prototype,r),o&&Ca(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Va(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Ia(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ia(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===Ra(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}Ga.prototype.metadata=void 0,Ga.prototype.data=void 0,Ga.prototype.$reserved=void 0,Ga.prototype.$objectType=void 0,Ga.prototype.$unknownFields=void 0;var Wa={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",COMPLETE:"COMPLETE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(Wa).find(function(t){return Wa[t]===e});return null==t?Wa.$UNKNOWN:Wa[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Wa.$UNKNOWN:case Wa.$REDACTED:case Wa.COMPLETE:return;default:throw new Error("Invalid : must be RecoveryPointStatus.{ $UNKNOWN|$REDACTED|COMPLETE }")}}};Object.freeze(Wa);const Ba=Wa;var qa={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CRASH_CONSISTENT:"CRASH_CONSISTENT",APPLICATION_CONSISTENT:"APPLICATION_CONSISTENT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(qa).find(function(t){return qa[t]===e});return null==t?qa.$UNKNOWN:qa[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case qa.$UNKNOWN:case qa.$REDACTED:case qa.CRASH_CONSISTENT:case qa.APPLICATION_CONSISTENT:return;default:throw new Error("Invalid : must be RecoveryPointType.{ $UNKNOWN|$REDACTED|CRASH_CONSISTENT|APPLICATION_CONSISTENT }")}}};Object.freeze(qa);const za=qa;function Ka(e){return Ka="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ka(e)}function Ha(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Za(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ha(Object(n),!0).forEach(function(t){Xa(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ha(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Xa(e,t,n){return(t=Qa(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ya(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Qa(r.key),r)}}function Qa(e){var t=function(e){if("object"!=Ka(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ka(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ka(t)?t:t+""}function eu(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(eu=function(){return!!e})()}function tu(e){return tu=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},tu(e)}function nu(e,t){return nu=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},nu(e,t)}function ru(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var ou=new WeakSet,iu=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=tu(t),function(e,t){if(t&&("object"==Ka(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,eu()?Reflect.construct(t,n||[],tu(e).constructor):t.apply(e,n))}(this,t),ou),e.$objectType="dataprotection.v4.common.BaseRecoveryPoint",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&nu(e,t)}(t,e),n=t,r=[{key:"getLocationAgnosticId",value:function(){return this.locationAgnosticId}},{key:"setLocationAgnosticId",value:function(e){this.locationAgnosticId=e}},{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"getCreationTime",value:function(){return this.creationTime}},{key:"setCreationTime",value:function(e){this.creationTime=e}},{key:"getExpirationTime",value:function(){return this.expirationTime}},{key:"setExpirationTime",value:function(e){this.expirationTime=e}},{key:"getStatus",value:function(){return this.status}},{key:"setStatus",value:function(e){this.status=e}},{key:"getRecoveryPointType",value:function(){return this.recoveryPointType}},{key:"setRecoveryPointType",value:function(e){this.recoveryPointType=e}},{key:"toJson",value:function(e){return Za(!1===e?Za(Za(Za(Za(Za(Za(Za(Za(Za({},void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{}),void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getCreationTime()&&null!==this.getCreationTime()?{creationTime:ru(ou,this,su).call(this,this.getCreationTime(),!1)}:{}),void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:ru(ou,this,su).call(this,this.getExpirationTime(),!1)}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):Za(Za(Za(Za({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:ru(ou,this,su).call(this,this.getExpirationTime(),!1)}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("locationAgnosticId"===t){if(void 0===this.locationAgnosticId||null===this.locationAgnosticId)return new C("locationAgnosticId","undefined or null");if(!R.validatePattern(this.locationAgnosticId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("locationAgnosticId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!R.validateMaxLength(this.name,256))return new C("name","does not satisfy required maxLength constraint: 256")}return"creationTime"!==t||void 0!==this.creationTime&&null!==this.creationTime?"expirationTime"!==t||void 0!==this.expirationTime&&null!==this.expirationTime?"status"!==t||void 0!==this.status&&null!==this.status?"recoveryPointType"!==t||void 0!==this.recoveryPointType&&null!==this.recoveryPointType?new C(t,"no such property exists"):new C("recoveryPointType","undefined or null"):new C("status","undefined or null"):new C("expirationTime","undefined or null"):new C("creationTime","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Wt.constructFromObject(e,n,!0),e.hasOwnProperty("locationAgnosticId")&&null!==e.locationAgnosticId&&void 0!==e.locationAgnosticId&&n.setLocationAgnosticId(e.locationAgnosticId),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&n.setName(e.name),e.hasOwnProperty("creationTime")&&null!==e.creationTime&&void 0!==e.creationTime&&n.setCreationTime(e.creationTime),e.hasOwnProperty("expirationTime")&&null!==e.expirationTime&&void 0!==e.expirationTime&&n.setExpirationTime(e.expirationTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&n.setStatus(Ba.constructFromObject(e.status)),e.hasOwnProperty("recoveryPointType")&&null!==e.recoveryPointType&&void 0!==e.recoveryPointType&&n.setRecoveryPointType(za.constructFromObject(e.recoveryPointType)),!r))for(var o in n.$unknownFields=Za({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Ya(n.prototype,r),o&&Ya(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Wt);function su(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function au(e){return au="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},au(e)}function uu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function cu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?uu(Object(n),!0).forEach(function(t){lu(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):uu(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function lu(e,t,n){return(t=pu(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fu(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,pu(r.key),r)}}function pu(e){var t=function(e){if("object"!=au(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=au(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==au(t)?t:t+""}iu.prototype.locationAgnosticId=void 0,iu.prototype.name=void 0,iu.prototype.creationTime=void 0,iu.prototype.expirationTime=void 0,iu.prototype.status=void 0,iu.prototype.recoveryPointType=void 0,Wt.prototype.extId=void 0,Wt.prototype.links=void 0,At.prototype.tenantId=void 0;var du=new WeakSet,yu=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,du),this.$objectType="dataprotection.v4.config.LocationReference",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getLocationExtId",value:function(){return this.locationExtId}},{key:"setLocationExtId",value:function(e){this.locationExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return cu(cu({},void 0!==this.getLocationExtId()&&null!==this.getLocationExtId()?{locationExtId:this.getLocationExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("locationExtId"===t){if(void 0===this.locationExtId||null===this.locationExtId)return new C("locationExtId","undefined or null");if(!R.validatePattern(this.locationExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("locationExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("locationExtId")&&null!==t.locationExtId&&void 0!==t.locationExtId&&n.setLocationExtId(t.locationExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=cu({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&fu(t.prototype,n),r&&fu(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function vu(e){return vu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vu(e)}function hu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function bu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?hu(Object(n),!0).forEach(function(t){mu(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hu(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function mu(e,t,n){return(t=wu(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gu(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,wu(r.key),r)}}function wu(e){var t=function(e){if("object"!=vu(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=vu(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==vu(t)?t:t+""}yu.prototype.locationExtId=void 0,yu.prototype.$reserved=void 0,yu.prototype.$objectType=void 0,yu.prototype.$unknownFields=void 0;var Ou=new WeakSet,ju=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Ou),this.$objectType="dataprotection.v4.common.DiskRecoveryPoint",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getDiskRecoveryPointExtId",value:function(){return this.diskRecoveryPointExtId}},{key:"setDiskRecoveryPointExtId",value:function(e){this.diskRecoveryPointExtId=e}},{key:"getDiskExtId",value:function(){return this.diskExtId}},{key:"setDiskExtId",value:function(e){this.diskExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return!1===e?bu(bu(bu({},void 0!==this.getDiskRecoveryPointExtId()&&null!==this.getDiskRecoveryPointExtId()?{diskRecoveryPointExtId:this.getDiskRecoveryPointExtId()}:{}),void 0!==this.getDiskExtId()&&null!==this.getDiskExtId()?{diskExtId:this.getDiskExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()}):{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()}}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("diskRecoveryPointExtId"===t){if(void 0===this.diskRecoveryPointExtId||null===this.diskRecoveryPointExtId)return new C("diskRecoveryPointExtId","undefined or null");if(!R.validatePattern(this.diskRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("diskRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("diskExtId"===t){if(void 0===this.diskExtId||null===this.diskExtId)return new C("diskExtId","undefined or null");if(!R.validatePattern(this.diskExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("diskExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("diskRecoveryPointExtId")&&null!==t.diskRecoveryPointExtId&&void 0!==t.diskRecoveryPointExtId&&n.setDiskRecoveryPointExtId(t.diskRecoveryPointExtId),t.hasOwnProperty("diskExtId")&&null!==t.diskExtId&&void 0!==t.diskExtId&&n.setDiskExtId(t.diskExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=bu({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&gu(t.prototype,n),r&&gu(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();ju.prototype.diskRecoveryPointExtId=void 0,ju.prototype.diskExtId=void 0,ju.prototype.$reserved=void 0,ju.prototype.$objectType=void 0,ju.prototype.$unknownFields=void 0;var ku={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",FULL_BACKUP:"FULL_BACKUP",COPY_BACKUP:"COPY_BACKUP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(ku).find(function(t){return ku[t]===e});return null==t?ku.$UNKNOWN:ku[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ku.$UNKNOWN:case ku.$REDACTED:case ku.FULL_BACKUP:case ku.COPY_BACKUP:return;default:throw new Error("Invalid : must be BackupType.{ $UNKNOWN|$REDACTED|FULL_BACKUP|COPY_BACKUP }")}}};Object.freeze(ku);const $u=ku;function Pu(e){return Pu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pu(e)}function Tu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Eu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Tu(Object(n),!0).forEach(function(t){Fu(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Tu(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Fu(e,t,n){return(t=Iu(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Su(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Iu(r.key),r)}}function Iu(e){var t=function(e){if("object"!=Pu(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Pu(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Pu(t)?t:t+""}var Ru=new WeakSet,xu=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Ru),this.backupType=t,this.$objectType="dataprotection.v4.common.VssProperties",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}return t=e,n=[{key:"getBackupType",value:function(){return this.backupType}},{key:"setBackupType",value:function(e){this.backupType=e}},{key:"getShouldIncludeWriters",value:function(){return this.shouldIncludeWriters}},{key:"setShouldIncludeWriters",value:function(e){this.shouldIncludeWriters=e}},{key:"getWriters",value:function(){return this.writers}},{key:"setWriters",value:function(e){this.writers=e}},{key:"getShouldStoreVssMetadata",value:function(){return this.shouldStoreVssMetadata}},{key:"setShouldStoreVssMetadata",value:function(e){this.shouldStoreVssMetadata=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Eu(Eu(Eu(Eu(Eu({},void 0!==this.getBackupType()&&null!==this.getBackupType()?{backupType:this.getBackupType()}:{}),void 0!==this.getShouldIncludeWriters()&&null!==this.getShouldIncludeWriters()?{shouldIncludeWriters:this.getShouldIncludeWriters()}:{}),void 0!==this.getWriters()&&null!==this.getWriters()?{writers:this.getWriters()}:{}),void 0!==this.getShouldStoreVssMetadata()&&null!==this.getShouldStoreVssMetadata()?{shouldStoreVssMetadata:this.getShouldStoreVssMetadata()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["backupType"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("backupType"===t&&(void 0===this.backupType||null===this.backupType))return new C("backupType","undefined or null");if("shouldIncludeWriters"===t&&(void 0===this.shouldIncludeWriters||null===this.shouldIncludeWriters))return new C("shouldIncludeWriters","undefined or null");if("writers"===t){if(void 0===this.writers||null===this.writers)return new C("writers","undefined or null");if(!R.validateMaxItems(this.writers,25))return new C("writers","does not satisfy required maxItems constraint: 25");if(!R.validateMinItems(this.writers,1))return new C("writers","does not satisfy required minItems constraint: 1")}return"shouldStoreVssMetadata"!==t||void 0!==this.shouldStoreVssMetadata&&null!==this.shouldStoreVssMetadata?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("shouldStoreVssMetadata","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(i=i||new e,t.hasOwnProperty("backupType")&&null!==t.backupType&&void 0!==t.backupType&&i.setBackupType($u.constructFromObject(t.backupType)),t.hasOwnProperty("shouldIncludeWriters")&&null!==t.shouldIncludeWriters&&void 0!==t.shouldIncludeWriters&&i.setShouldIncludeWriters(t.shouldIncludeWriters),t.hasOwnProperty("writers")&&null!==t.writers&&void 0!==t.writers){for(o=[],n=t.writers,r=0;r<n.length;r++)o.push(n[r]);i.setWriters(o)}if(t.hasOwnProperty("shouldStoreVssMetadata")&&null!==t.shouldStoreVssMetadata&&void 0!==t.shouldStoreVssMetadata&&i.setShouldStoreVssMetadata(t.shouldStoreVssMetadata),t.hasOwnProperty("$reserved")&&(i.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(i.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(i.$unknownFields=t.$unknownFields),!s)for(var a in i.$unknownFields=Eu({},t.$unknownFields),t)Object.keys(i).includes(a)||Object.keys(i).includes(this.snakeToCamel(a))||"$"===a[0]&&a.endsWith("ItemDiscriminator")||(i.$unknownFields[a]=t[a])}return i}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Su(t.prototype,n),r&&Su(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Au(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Du(e){return Du="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Du(e)}function Cu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Nu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Cu(Object(n),!0).forEach(function(t){_u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Cu(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _u(e,t,n){return(t=Mu(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ju(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Mu(r.key),r)}}function Mu(e){var t=function(e){if("object"!=Du(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Du(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Du(t)?t:t+""}function Uu(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Uu=function(){return!!e})()}function Lu(e){return Lu=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Lu(e)}function Gu(e,t){return Gu=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Gu(e,t)}function Vu(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}xu.prototype.backupType=void 0,xu.prototype.shouldIncludeWriters=!1,xu.prototype.writers=void 0,xu.prototype.shouldStoreVssMetadata=!1,xu.prototype.$reserved=void 0,xu.prototype.$objectType=void 0,xu.prototype.$unknownFields=void 0;var Wu=new WeakSet,Bu=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Lu(t),function(e,t){if(t&&("object"==Du(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Uu()?Reflect.construct(t,n||[],Lu(e).constructor):t.apply(e,n))}(this,t),Wu),e.$objectType="dataprotection.v4.common.BaseVmRecoveryPoint",e.$reserved={$fv:"v4.r0"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Gu(e,t)}(t,e),n=t,r=[{key:"getConsistencyGroupExtId",value:function(){return this.consistencyGroupExtId}},{key:"setConsistencyGroupExtId",value:function(e){this.consistencyGroupExtId=e}},{key:"getDiskRecoveryPoints",value:function(){return this.diskRecoveryPoints}},{key:"setDiskRecoveryPoints",value:function(e){this.diskRecoveryPoints=e}},{key:"getVmExtId",value:function(){return this.vmExtId}},{key:"setVmExtId",value:function(e){this.vmExtId=e}},{key:"getVmCategories",value:function(){return this.vmCategories}},{key:"setVmCategories",value:function(e){this.vmCategories=e}},{key:"getApplicationConsistentProperties",value:function(){return this.applicationConsistentProperties}},{key:"setApplicationConsistentProperties",value:function(e){this.applicationConsistentProperties=e}},{key:"toJson",value:function(e){return Nu(!1===e?Nu(Nu(Nu(Nu(Nu(Nu(Nu(Nu(Nu(Nu(Nu(Nu(Nu(Nu({},void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{}),void 0!==this.getDiskRecoveryPoints()&&null!==this.getDiskRecoveryPoints()?{diskRecoveryPoints:this.getDiskRecoveryPoints().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getVmExtId()&&null!==this.getVmExtId()?{vmExtId:this.getVmExtId()}:{}),void 0!==this.getVmCategories()&&null!==this.getVmCategories()?{vmCategories:this.getVmCategories()}:{}),void 0!==this.getApplicationConsistentProperties()&&null!==this.getApplicationConsistentProperties()?{applicationConsistentProperties:void 0!==this.getApplicationConsistentProperties().toJson?this.getApplicationConsistentProperties().toJson(!1):Array.isArray(this.getApplicationConsistentProperties())?this.getApplicationConsistentProperties().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):Vu(Wu,this,qu).call(this,this.getApplicationConsistentProperties(),!1)}:{}),void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{}),void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getCreationTime()&&null!==this.getCreationTime()?{creationTime:Vu(Wu,this,zu).call(this,this.getCreationTime(),!1)}:{}),void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Vu(Wu,this,zu).call(this,this.getExpirationTime(),!1)}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):Nu(Nu(Nu(Nu(Nu(Nu({},void 0!==this.getVmExtId()&&null!==this.getVmExtId()?{vmExtId:this.getVmExtId()}:{}),void 0!==this.getApplicationConsistentProperties()&&null!==this.getApplicationConsistentProperties()?{applicationConsistentProperties:void 0!==this.getApplicationConsistentProperties().toJson?this.getApplicationConsistentProperties().toJson():Array.isArray(this.getApplicationConsistentProperties())?this.getApplicationConsistentProperties().map(function(e){return void 0!==e.toJson?e.toJson():e}):Vu(Wu,this,qu).call(this,this.getApplicationConsistentProperties())}:{}),void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Vu(Wu,this,zu).call(this,this.getExpirationTime(),!1)}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("consistencyGroupExtId"===t){if(void 0===this.consistencyGroupExtId||null===this.consistencyGroupExtId)return new C("consistencyGroupExtId","undefined or null");if(!R.validatePattern(this.consistencyGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("consistencyGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("diskRecoveryPoints"===t){if(void 0===this.diskRecoveryPoints||null===this.diskRecoveryPoints)return new C("diskRecoveryPoints","undefined or null");if(!R.validateMaxItems(this.diskRecoveryPoints,1024))return new C("diskRecoveryPoints","does not satisfy required maxItems constraint: 1024");if(!R.validateMinItems(this.diskRecoveryPoints,1))return new C("diskRecoveryPoints","does not satisfy required minItems constraint: 1")}if("vmExtId"===t){if(void 0===this.vmExtId||null===this.vmExtId)return new C("vmExtId","undefined or null");if(!R.validatePattern(this.vmExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("vmExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("vmCategories"===t){if(void 0===this.vmCategories||null===this.vmCategories)return new C("vmCategories","undefined or null");if(!R.validateMaxItems(this.vmCategories,256))return new C("vmCategories","does not satisfy required maxItems constraint: 256");if(!R.validateMinItems(this.vmCategories,1))return new C("vmCategories","does not satisfy required minItems constraint: 1")}return"applicationConsistentProperties"!==t||void 0!==this.applicationConsistentProperties&&null!==this.applicationConsistentProperties?new C(t,"no such property exists"):new C("applicationConsistentProperties","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,s,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(a=a||new t,iu.constructFromObject(e,a,!0),e.hasOwnProperty("consistencyGroupExtId")&&null!==e.consistencyGroupExtId&&void 0!==e.consistencyGroupExtId&&a.setConsistencyGroupExtId(e.consistencyGroupExtId),e.hasOwnProperty("diskRecoveryPoints")&&null!==e.diskRecoveryPoints&&void 0!==e.diskRecoveryPoints){for(i=[],n=e.diskRecoveryPoints,o=0;o<n.length;o++)r=ju.constructFromObject(n[o],void 0),i.push(r);a.setDiskRecoveryPoints(i)}if(e.hasOwnProperty("vmExtId")&&null!==e.vmExtId&&void 0!==e.vmExtId&&a.setVmExtId(e.vmExtId),e.hasOwnProperty("vmCategories")&&null!==e.vmCategories&&void 0!==e.vmCategories){for(i=[],n=e.vmCategories,o=0;o<n.length;o++)i.push(n[o]);a.setVmCategories(i)}if(e.hasOwnProperty("applicationConsistentProperties")&&null!==e.applicationConsistentProperties&&void 0!==e.applicationConsistentProperties){if("dataprotection.v4.common.VssProperties"!==(s=e.applicationConsistentProperties.hasOwnProperty("$objectType")?e.applicationConsistentProperties.$objectType:Du(e.applicationConsistentProperties)))throw"Unknown datatype "+s+" in data";a.setApplicationConsistentProperties(xu.constructFromObject(e.applicationConsistentProperties,void 0))}if(!u)for(var c in a.$unknownFields=Nu({},e.$unknownFields),e)Object.keys(a).includes(c)||Object.keys(a).includes(this.snakeToCamel(c))||"$"===c[0]&&c.endsWith("ItemDiscriminator")||(a.$unknownFields[c]=e[c])}return a}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Ju(n.prototype,r),o&&Ju(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(iu);function qu(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Au(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Au(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===Du(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function zu(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Bu.prototype.consistencyGroupExtId=void 0,Bu.prototype.diskRecoveryPoints=void 0,Bu.prototype.vmExtId=void 0,Bu.prototype.vmCategories=void 0,Bu.prototype.applicationConsistentProperties=void 0,iu.prototype.locationAgnosticId=void 0,iu.prototype.name=void 0,iu.prototype.creationTime=void 0,iu.prototype.expirationTime=void 0,iu.prototype.status=void 0,iu.prototype.recoveryPointType=void 0,Wt.prototype.extId=void 0,Wt.prototype.links=void 0,At.prototype.tenantId=void 0;var Ku={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AHV:"AHV",ESXI:"ESXI",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(Ku).find(function(t){return Ku[t]===e});return null==t?Ku.$UNKNOWN:Ku[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ku.$UNKNOWN:case Ku.$REDACTED:case Ku.AHV:case Ku.ESXI:return;default:throw new Error("Invalid : must be HypervisorType.{ $UNKNOWN|$REDACTED|AHV|ESXI }")}}};Object.freeze(Ku);const Hu=Ku;function Zu(e){return Zu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Zu(e)}function Xu(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Yu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Qu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Yu(Object(n),!0).forEach(function(t){ec(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Yu(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ec(e,t,n){return(t=nc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function tc(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,nc(r.key),r)}}function nc(e){var t=function(e){if("object"!=Zu(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Zu(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Zu(t)?t:t+""}function rc(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(rc=function(){return!!e})()}function oc(e){return oc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},oc(e)}function ic(e,t){return ic=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ic(e,t)}function sc(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var ac=new WeakSet,uc=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=oc(t),function(e,t){if(t&&("object"==Zu(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,rc()?Reflect.construct(t,n||[],oc(e).constructor):t.apply(e,n))}(this,t),ac),e.$objectType="dataprotection.v4.config.VmRecoveryPoint",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ic(e,t)}(t,e),n=t,r=[{key:"getHypervisorType",value:function(){return this.hypervisorType}},{key:"setHypervisorType",value:function(e){this.hypervisorType=e}},{key:"toJson",value:function(e){return Qu(!1===e?Qu(Qu(Qu(Qu(Qu(Qu(Qu(Qu(Qu(Qu(Qu(Qu(Qu(Qu(Qu({},void 0!==this.getHypervisorType()&&null!==this.getHypervisorType()?{hypervisorType:this.getHypervisorType()}:{}),void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{}),void 0!==this.getDiskRecoveryPoints()&&null!==this.getDiskRecoveryPoints()?{diskRecoveryPoints:this.getDiskRecoveryPoints().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getVmExtId()&&null!==this.getVmExtId()?{vmExtId:this.getVmExtId()}:{}),void 0!==this.getVmCategories()&&null!==this.getVmCategories()?{vmCategories:this.getVmCategories()}:{}),void 0!==this.getApplicationConsistentProperties()&&null!==this.getApplicationConsistentProperties()?{applicationConsistentProperties:void 0!==this.getApplicationConsistentProperties().toJson?this.getApplicationConsistentProperties().toJson(!1):Array.isArray(this.getApplicationConsistentProperties())?this.getApplicationConsistentProperties().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):sc(ac,this,cc).call(this,this.getApplicationConsistentProperties(),!1)}:{}),void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{}),void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getCreationTime()&&null!==this.getCreationTime()?{creationTime:sc(ac,this,lc).call(this,this.getCreationTime(),!1)}:{}),void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:sc(ac,this,lc).call(this,this.getExpirationTime(),!1)}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):Qu(Qu(Qu(Qu(Qu(Qu(Qu({},void 0!==this.getHypervisorType()&&null!==this.getHypervisorType()?{hypervisorType:this.getHypervisorType()}:{}),void 0!==this.getVmExtId()&&null!==this.getVmExtId()?{vmExtId:this.getVmExtId()}:{}),void 0!==this.getApplicationConsistentProperties()&&null!==this.getApplicationConsistentProperties()?{applicationConsistentProperties:void 0!==this.getApplicationConsistentProperties().toJson?this.getApplicationConsistentProperties().toJson():Array.isArray(this.getApplicationConsistentProperties())?this.getApplicationConsistentProperties().map(function(e){return void 0!==e.toJson?e.toJson():e}):sc(ac,this,cc).call(this,this.getApplicationConsistentProperties())}:{}),void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:sc(ac,this,lc).call(this,this.getExpirationTime(),!1)}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"hypervisorType"!==t||void 0!==this.hypervisorType&&null!==this.hypervisorType?new C(t,"no such property exists"):new C("hypervisorType","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Bu.constructFromObject(e,n,!0),e.hasOwnProperty("hypervisorType")&&null!==e.hypervisorType&&void 0!==e.hypervisorType&&n.setHypervisorType(Hu.constructFromObject(e.hypervisorType)),!r))for(var o in n.$unknownFields=Qu({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&tc(n.prototype,r),o&&tc(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Bu);function cc(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Xu(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xu(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===Zu(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function lc(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function fc(e){return fc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fc(e)}function pc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function dc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pc(Object(n),!0).forEach(function(t){yc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pc(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function yc(e,t,n){return(t=hc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vc(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,hc(r.key),r)}}function hc(e){var t=function(e){if("object"!=fc(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=fc(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==fc(t)?t:t+""}function bc(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(bc=function(){return!!e})()}function mc(e){return mc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},mc(e)}function gc(e,t){return gc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},gc(e,t)}uc.prototype.hypervisorType=void 0,Bu.prototype.consistencyGroupExtId=void 0,Bu.prototype.diskRecoveryPoints=void 0,Bu.prototype.vmExtId=void 0,Bu.prototype.vmCategories=void 0,Bu.prototype.applicationConsistentProperties=void 0,iu.prototype.locationAgnosticId=void 0,iu.prototype.name=void 0,iu.prototype.creationTime=void 0,iu.prototype.expirationTime=void 0,iu.prototype.status=void 0,iu.prototype.recoveryPointType=void 0,Wt.prototype.extId=void 0,Wt.prototype.links=void 0,At.prototype.tenantId=void 0;var wc=new WeakSet,Oc=function(e){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(n=function(e,t,n){return t=mc(t),function(e,t){if(t&&("object"==fc(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,bc()?Reflect.construct(t,n||[],mc(e).constructor):t.apply(e,n))}(this,t),wc),n.volumeGroupExtId=e,n.$objectType="dataprotection.v4.config.VolumeGroupRecoveryPoint",n.$reserved={$fv:"v4.r1"},n.$unknownFields={},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&gc(e,t)}(t,e),n=t,r=[{key:"getConsistencyGroupExtId",value:function(){return this.consistencyGroupExtId}},{key:"setConsistencyGroupExtId",value:function(e){this.consistencyGroupExtId=e}},{key:"getLocationAgnosticId",value:function(){return this.locationAgnosticId}},{key:"setLocationAgnosticId",value:function(e){this.locationAgnosticId=e}},{key:"getVolumeGroupExtId",value:function(){return this.volumeGroupExtId}},{key:"setVolumeGroupExtId",value:function(e){this.volumeGroupExtId=e}},{key:"getVolumeGroupCategories",value:function(){return this.volumeGroupCategories}},{key:"setVolumeGroupCategories",value:function(e){this.volumeGroupCategories=e}},{key:"getDiskRecoveryPoints",value:function(){return this.diskRecoveryPoints}},{key:"setDiskRecoveryPoints",value:function(e){this.diskRecoveryPoints=e}},{key:"toJson",value:function(e){return dc(!1===e?dc(dc(dc(dc(dc(dc(dc(dc({},void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{}),void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{}),void 0!==this.getVolumeGroupExtId()&&null!==this.getVolumeGroupExtId()?{volumeGroupExtId:this.getVolumeGroupExtId()}:{}),void 0!==this.getVolumeGroupCategories()&&null!==this.getVolumeGroupCategories()?{volumeGroupCategories:this.getVolumeGroupCategories()}:{}),void 0!==this.getDiskRecoveryPoints()&&null!==this.getDiskRecoveryPoints()?{diskRecoveryPoints:this.getDiskRecoveryPoints().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):dc({},void 0!==this.getVolumeGroupExtId()&&null!==this.getVolumeGroupExtId()?{volumeGroupExtId:this.getVolumeGroupExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["volumeGroupExtId"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("consistencyGroupExtId"===t){if(void 0===this.consistencyGroupExtId||null===this.consistencyGroupExtId)return new C("consistencyGroupExtId","undefined or null");if(!R.validatePattern(this.consistencyGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("consistencyGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("locationAgnosticId"===t){if(void 0===this.locationAgnosticId||null===this.locationAgnosticId)return new C("locationAgnosticId","undefined or null");if(!R.validatePattern(this.locationAgnosticId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("locationAgnosticId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("volumeGroupExtId"===t){if(void 0===this.volumeGroupExtId||null===this.volumeGroupExtId)return new C("volumeGroupExtId","undefined or null");if(!R.validatePattern(this.volumeGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("volumeGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("volumeGroupCategories"===t){if(void 0===this.volumeGroupCategories||null===this.volumeGroupCategories)return new C("volumeGroupCategories","undefined or null");if(!R.validateMaxItems(this.volumeGroupCategories,20))return new C("volumeGroupCategories","does not satisfy required maxItems constraint: 20");if(!R.validateMinItems(this.volumeGroupCategories,1))return new C("volumeGroupCategories","does not satisfy required minItems constraint: 1")}if("diskRecoveryPoints"===t){if(void 0===this.diskRecoveryPoints||null===this.diskRecoveryPoints)return new C("diskRecoveryPoints","undefined or null");if(!R.validateMaxItems(this.diskRecoveryPoints,1024))return new C("diskRecoveryPoints","does not satisfy required maxItems constraint: 1024");if(!R.validateMinItems(this.diskRecoveryPoints,1))return new C("diskRecoveryPoints","does not satisfy required minItems constraint: 1")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(s=s||new t,Wt.constructFromObject(e,s,!0),e.hasOwnProperty("consistencyGroupExtId")&&null!==e.consistencyGroupExtId&&void 0!==e.consistencyGroupExtId&&s.setConsistencyGroupExtId(e.consistencyGroupExtId),e.hasOwnProperty("locationAgnosticId")&&null!==e.locationAgnosticId&&void 0!==e.locationAgnosticId&&s.setLocationAgnosticId(e.locationAgnosticId),e.hasOwnProperty("volumeGroupExtId")&&null!==e.volumeGroupExtId&&void 0!==e.volumeGroupExtId&&s.setVolumeGroupExtId(e.volumeGroupExtId),e.hasOwnProperty("volumeGroupCategories")&&null!==e.volumeGroupCategories&&void 0!==e.volumeGroupCategories){for(i=[],n=e.volumeGroupCategories,o=0;o<n.length;o++)i.push(n[o]);s.setVolumeGroupCategories(i)}if(e.hasOwnProperty("diskRecoveryPoints")&&null!==e.diskRecoveryPoints&&void 0!==e.diskRecoveryPoints){for(i=[],n=e.diskRecoveryPoints,o=0;o<n.length;o++)r=ju.constructFromObject(n[o],void 0),i.push(r);s.setDiskRecoveryPoints(i)}if(!a)for(var u in s.$unknownFields=dc({},e.$unknownFields),e)Object.keys(s).includes(u)||Object.keys(s).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(s.$unknownFields[u]=e[u])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&vc(n.prototype,r),o&&vc(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Wt);function jc(e){return jc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},jc(e)}function kc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?kc(Object(n),!0).forEach(function(t){Pc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kc(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Pc(e,t,n){return(t=Ec(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Tc(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ec(r.key),r)}}function Ec(e){var t=function(e){if("object"!=jc(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=jc(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==jc(t)?t:t+""}function Fc(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Fc=function(){return!!e})()}function Sc(e){return Sc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Sc(e)}function Ic(e,t){return Ic=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ic(e,t)}function Rc(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Oc.prototype.consistencyGroupExtId=void 0,Oc.prototype.locationAgnosticId=void 0,Oc.prototype.volumeGroupExtId=void 0,Oc.prototype.volumeGroupCategories=void 0,Oc.prototype.diskRecoveryPoints=void 0,Wt.prototype.extId=void 0,Wt.prototype.links=void 0,At.prototype.tenantId=void 0;var xc=new WeakSet,Ac=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Sc(t),function(e,t){if(t&&("object"==jc(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Fc()?Reflect.construct(t,n||[],Sc(e).constructor):t.apply(e,n))}(this,t),xc),e.$objectType="dataprotection.v4.config.RecoveryPoint",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ic(e,t)}(t,e),n=t,r=[{key:"getOwnerExtId",value:function(){return this.ownerExtId}},{key:"setOwnerExtId",value:function(e){this.ownerExtId=e}},{key:"getLocationReferences",value:function(){return this.locationReferences}},{key:"setLocationReferences",value:function(e){this.locationReferences=e}},{key:"getVmRecoveryPoints",value:function(){return this.vmRecoveryPoints}},{key:"setVmRecoveryPoints",value:function(e){this.vmRecoveryPoints=e}},{key:"getVolumeGroupRecoveryPoints",value:function(){return this.volumeGroupRecoveryPoints}},{key:"setVolumeGroupRecoveryPoints",value:function(e){this.volumeGroupRecoveryPoints=e}},{key:"getIsSecure",value:function(){return this.isSecure}},{key:"setIsSecure",value:function(e){this.isSecure=e}},{key:"toJson",value:function(e){return $c(!1===e?$c($c($c($c($c($c($c($c($c($c($c($c($c($c({},void 0!==this.getOwnerExtId()&&null!==this.getOwnerExtId()?{ownerExtId:this.getOwnerExtId()}:{}),void 0!==this.getLocationReferences()&&null!==this.getLocationReferences()?{locationReferences:this.getLocationReferences().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getVmRecoveryPoints()&&null!==this.getVmRecoveryPoints()?{vmRecoveryPoints:this.getVmRecoveryPoints().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getVolumeGroupRecoveryPoints()&&null!==this.getVolumeGroupRecoveryPoints()?{volumeGroupRecoveryPoints:this.getVolumeGroupRecoveryPoints().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getIsSecure()&&null!==this.getIsSecure()?{isSecure:this.getIsSecure()}:{}),void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{}),void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getCreationTime()&&null!==this.getCreationTime()?{creationTime:Rc(xc,this,Dc).call(this,this.getCreationTime(),!1)}:{}),void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Rc(xc,this,Dc).call(this,this.getExpirationTime(),!1)}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):$c($c($c($c($c($c({},void 0!==this.getVmRecoveryPoints()&&null!==this.getVmRecoveryPoints()?{vmRecoveryPoints:this.getVmRecoveryPoints().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getVolumeGroupRecoveryPoints()&&null!==this.getVolumeGroupRecoveryPoints()?{volumeGroupRecoveryPoints:this.getVolumeGroupRecoveryPoints().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Rc(xc,this,Dc).call(this,this.getExpirationTime(),!1)}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("ownerExtId"===t){if(void 0===this.ownerExtId||null===this.ownerExtId)return new C("ownerExtId","undefined or null");if(!R.validatePattern(this.ownerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("ownerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("locationReferences"===t){if(void 0===this.locationReferences||null===this.locationReferences)return new C("locationReferences","undefined or null");if(!R.validateMaxItems(this.locationReferences,1))return new C("locationReferences","does not satisfy required maxItems constraint: 1");if(!R.validateMinItems(this.locationReferences,1))return new C("locationReferences","does not satisfy required minItems constraint: 1")}if("vmRecoveryPoints"===t){if(void 0===this.vmRecoveryPoints||null===this.vmRecoveryPoints)return new C("vmRecoveryPoints","undefined or null");if(!R.validateMaxItems(this.vmRecoveryPoints,32))return new C("vmRecoveryPoints","does not satisfy required maxItems constraint: 32");if(!R.validateMinItems(this.vmRecoveryPoints,1))return new C("vmRecoveryPoints","does not satisfy required minItems constraint: 1")}if("volumeGroupRecoveryPoints"===t){if(void 0===this.volumeGroupRecoveryPoints||null===this.volumeGroupRecoveryPoints)return new C("volumeGroupRecoveryPoints","undefined or null");if(!R.validateMaxItems(this.volumeGroupRecoveryPoints,32))return new C("volumeGroupRecoveryPoints","does not satisfy required maxItems constraint: 32");if(!R.validateMinItems(this.volumeGroupRecoveryPoints,1))return new C("volumeGroupRecoveryPoints","does not satisfy required minItems constraint: 1")}return"isSecure"!==t||void 0!==this.isSecure&&null!==this.isSecure?new C(t,"no such property exists"):new C("isSecure","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(s=s||new t,iu.constructFromObject(e,s,!0),e.hasOwnProperty("ownerExtId")&&null!==e.ownerExtId&&void 0!==e.ownerExtId&&s.setOwnerExtId(e.ownerExtId),e.hasOwnProperty("locationReferences")&&null!==e.locationReferences&&void 0!==e.locationReferences){for(i=[],n=e.locationReferences,o=0;o<n.length;o++)r=yu.constructFromObject(n[o],void 0),i.push(r);s.setLocationReferences(i)}if(e.hasOwnProperty("vmRecoveryPoints")&&null!==e.vmRecoveryPoints&&void 0!==e.vmRecoveryPoints){for(i=[],n=e.vmRecoveryPoints,o=0;o<n.length;o++)r=uc.constructFromObject(n[o],void 0),i.push(r);s.setVmRecoveryPoints(i)}if(e.hasOwnProperty("volumeGroupRecoveryPoints")&&null!==e.volumeGroupRecoveryPoints&&void 0!==e.volumeGroupRecoveryPoints){for(i=[],n=e.volumeGroupRecoveryPoints,o=0;o<n.length;o++)r=Oc.constructFromObject(n[o],void 0),i.push(r);s.setVolumeGroupRecoveryPoints(i)}if(e.hasOwnProperty("isSecure")&&null!==e.isSecure&&void 0!==e.isSecure&&s.setIsSecure(e.isSecure),!a)for(var u in s.$unknownFields=$c({},e.$unknownFields),e)Object.keys(s).includes(u)||Object.keys(s).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(s.$unknownFields[u]=e[u])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Tc(n.prototype,r),o&&Tc(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(iu);function Dc(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Cc(e){return Cc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Cc(e)}function Nc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _c(e,t,n){return(t=Mc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Jc(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Mc(r.key),r)}}function Mc(e){var t=function(e){if("object"!=Cc(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Cc(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Cc(t)?t:t+""}function Uc(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Uc=function(){return!!e})()}function Lc(e){return Lc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Lc(e)}function Gc(e,t){return Gc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Gc(e,t)}Ac.prototype.ownerExtId=void 0,Ac.prototype.locationReferences=void 0,Ac.prototype.vmRecoveryPoints=void 0,Ac.prototype.volumeGroupRecoveryPoints=void 0,Ac.prototype.isSecure=void 0,iu.prototype.locationAgnosticId=void 0,iu.prototype.name=void 0,iu.prototype.creationTime=void 0,iu.prototype.expirationTime=void 0,iu.prototype.status=void 0,iu.prototype.recoveryPointType=void 0,Wt.prototype.extId=void 0,Wt.prototype.links=void 0,At.prototype.tenantId=void 0;var Vc=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(e=function(e,t,n){return t=Lc(t),function(e,t){if(t&&("object"==Cc(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Uc()?Reflect.construct(t,n||[],Lc(e).constructor):t.apply(e,n))}(this,t)).$objectType="dataprotection.v4.config.RecoveryPointProjection",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Gc(e,t)}(t,e),n=t,r=[{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Ac.constructFromObject(e,n,!0),!r))for(var o in n.$unknownFields=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Nc(Object(n),!0).forEach(function(t){_c(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Nc(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Jc(n.prototype,r),o&&Jc(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Ac);function Wc(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Bc(e){return Bc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Bc(e)}function qc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function zc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qc(Object(n),!0).forEach(function(t){Kc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qc(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Kc(e,t,n){return(t=Zc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Hc(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Zc(r.key),r)}}function Zc(e){var t=function(e){if("object"!=Bc(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Bc(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Bc(t)?t:t+""}function Xc(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Xc=function(){return!!e})()}function Yc(e){return Yc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Yc(e)}function Qc(e,t){return Qc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Qc(e,t)}function el(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var tl=new WeakSet,nl=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Yc(t),function(e,t){if(t&&("object"==Bc(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Xc()?Reflect.construct(t,n||[],Yc(e).constructor):t.apply(e,n))}(this,t),tl),e.$objectType="dataprotection.v4.config.ListRecoveryPointsApiResponse",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Qc(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return zc(zc(zc({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):el(tl,this,rl).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson():e}):el(tl,this,rl).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,s,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(a=a||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,a),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&a.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)a.setData([]);else{for(i=[],s=(n=e.data)[0].hasOwnProperty("$objectType")?n[0].$objectType:Bc(n[0]),o=0;o<n.length;o++)switch(s){case"dataprotection.v4.config.RecoveryPoint":r=Ac.constructFromObject(n[o],void 0),i.push(r);break;case"dataprotection.v4.config.RecoveryPointProjection":r=Vc.constructFromObject(n[o],void 0),i.push(r);break;default:throw"Unknown list of type "+s+" in data"}a.setData(i)}else{if("dataprotection.v4.error.ErrorResponse"!==(s=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Bc(e.data)))throw"Unknown datatype "+s+" in data";a.setData(Cr.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(a.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(a.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(a.$unknownFields=e.$unknownFields),!u)for(var l in a.$unknownFields=zc({},e.$unknownFields),e)Object.keys(a).includes(l)||Object.keys(a).includes(this.snakeToCamel(l))||"$"===l[0]&&l.endsWith("ItemDiscriminator")||(a.$unknownFields[l]=e[l])}return a}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Hc(n.prototype,r),o&&Hc(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function rl(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Wc(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Wc(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===Bc(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function ol(e){return ol="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ol(e)}function il(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function sl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?il(Object(n),!0).forEach(function(t){al(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):il(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function al(e,t,n){return(t=cl(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ul(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,cl(r.key),r)}}function cl(e){var t=function(e){if("object"!=ol(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ol(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ol(t)?t:t+""}nl.prototype.metadata=void 0,nl.prototype.data=void 0,nl.prototype.$reserved=void 0,nl.prototype.$objectType=void 0,nl.prototype.$unknownFields=void 0;var ll=new WeakSet,fl=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ll),this.$objectType="vmm.v4.ahv.config.CategoryReference",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getExtId",value:function(){return this.extId}},{key:"setExtId",value:function(e){this.extId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return sl(sl({},void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new C("extId","undefined or null");if(!R.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("extId")&&null!==t.extId&&void 0!==t.extId&&n.setExtId(t.extId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=sl({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&ul(t.prototype,n),r&&ul(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function pl(e){return pl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},pl(e)}function dl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function yl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?dl(Object(n),!0).forEach(function(t){vl(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dl(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function vl(e,t,n){return(t=bl(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hl(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,bl(r.key),r)}}function bl(e){var t=function(e){if("object"!=pl(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=pl(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==pl(t)?t:t+""}fl.prototype.extId=void 0,fl.prototype.$reserved=void 0,fl.prototype.$objectType=void 0,fl.prototype.$unknownFields=void 0;var ml=new WeakSet,gl=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ml),this.$objectType="vmm.v4.ahv.config.OwnerReference",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getExtId",value:function(){return this.extId}},{key:"setExtId",value:function(e){this.extId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return yl(yl({},void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new C("extId","undefined or null");if(!R.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("extId")&&null!==t.extId&&void 0!==t.extId&&n.setExtId(t.extId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=yl({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&hl(t.prototype,n),r&&hl(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function wl(e){return wl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},wl(e)}function Ol(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function jl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ol(Object(n),!0).forEach(function(t){kl(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ol(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function kl(e,t,n){return(t=Pl(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $l(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Pl(r.key),r)}}function Pl(e){var t=function(e){if("object"!=wl(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=wl(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==wl(t)?t:t+""}gl.prototype.extId=void 0,gl.prototype.$reserved=void 0,gl.prototype.$objectType=void 0,gl.prototype.$unknownFields=void 0;var Tl=new WeakSet,El=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Tl),this.$objectType="vmm.v4.ahv.config.OwnershipInfo",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getOwner",value:function(){return this.owner}},{key:"setOwner",value:function(e){this.owner=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return jl(jl({},void 0!==this.getOwner()&&null!==this.getOwner()?{owner:this.getOwner().toJson(!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"owner"!==t||void 0!==this.owner&&null!==this.owner?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("owner","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("owner")&&null!==t.owner&&void 0!==t.owner&&n.setOwner(gl.constructFromObject(t.owner)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=jl({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&$l(t.prototype,n),r&&$l(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Fl(e){return Fl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Fl(e)}function Sl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Il(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Sl(Object(n),!0).forEach(function(t){Rl(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Sl(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Rl(e,t,n){return(t=Al(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xl(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Al(r.key),r)}}function Al(e){var t=function(e){if("object"!=Fl(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Fl(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Fl(t)?t:t+""}El.prototype.owner=void 0,El.prototype.$reserved=void 0,El.prototype.$objectType=void 0,El.prototype.$unknownFields=void 0;var Dl=new WeakSet,Cl=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Dl),this.$objectType="vmm.v4.ahv.config.SubnetReference",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getExtId",value:function(){return this.extId}},{key:"setExtId",value:function(e){this.extId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Il(Il({},void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new C("extId","undefined or null");if(!R.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("extId")&&null!==t.extId&&void 0!==t.extId&&n.setExtId(t.extId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Il({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&xl(t.prototype,n),r&&xl(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Nl(e){return Nl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Nl(e)}function _l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Jl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_l(Object(n),!0).forEach(function(t){Ml(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_l(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ml(e,t,n){return(t=Ll(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ul(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ll(r.key),r)}}function Ll(e){var t=function(e){if("object"!=Nl(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Nl(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Nl(t)?t:t+""}Cl.prototype.extId=void 0,Cl.prototype.$reserved=void 0,Cl.prototype.$objectType=void 0,Cl.prototype.$unknownFields=void 0;var Gl=new WeakSet,Vl=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Gl),this.$objectType="vmm.v4.ahv.config.VmRestoreIpv4ConfigOverrideSpec",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getIpAddress",value:function(){return this.ipAddress}},{key:"setIpAddress",value:function(e){this.ipAddress=e}},{key:"getSecondaryIpAddressList",value:function(){return this.secondaryIpAddressList}},{key:"setSecondaryIpAddressList",value:function(e){this.secondaryIpAddressList=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Jl(Jl(Jl({},void 0!==this.getIpAddress()&&null!==this.getIpAddress()?{ipAddress:this.getIpAddress().toJson(!1)}:{}),void 0!==this.getSecondaryIpAddressList()&&null!==this.getSecondaryIpAddressList()?{secondaryIpAddressList:this.getSecondaryIpAddressList().map(function(e){return e.toJson(!1)})}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("ipAddress"===t&&(void 0===this.ipAddress||null===this.ipAddress))return new C("ipAddress","undefined or null");if("secondaryIpAddressList"===t){if(void 0===this.secondaryIpAddressList||null===this.secondaryIpAddressList)return new C("secondaryIpAddressList","undefined or null");if(!R.validateMaxItems(this.secondaryIpAddressList,100))return new C("secondaryIpAddressList","does not satisfy required maxItems constraint: 100")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(s=s||new e,t.hasOwnProperty("ipAddress")&&null!==t.ipAddress&&void 0!==t.ipAddress&&s.setIpAddress(ia.constructFromObject(t.ipAddress)),t.hasOwnProperty("secondaryIpAddressList")&&null!==t.secondaryIpAddressList&&void 0!==t.secondaryIpAddressList){for(i=[],n=t.secondaryIpAddressList,o=0;o<n.length;o++)r=ia.constructFromObject(n[o],void 0),i.push(r);s.setSecondaryIpAddressList(i)}if(t.hasOwnProperty("$reserved")&&(s.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(s.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(s.$unknownFields=t.$unknownFields),!a)for(var u in s.$unknownFields=Jl({},t.$unknownFields),t)Object.keys(s).includes(u)||Object.keys(s).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(s.$unknownFields[u]=t[u])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Ul(t.prototype,n),r&&Ul(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Wl(e){return Wl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Wl(e)}function Bl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ql(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Bl(Object(n),!0).forEach(function(t){zl(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Bl(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function zl(e,t,n){return(t=Hl(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Kl(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Hl(r.key),r)}}function Hl(e){var t=function(e){if("object"!=Wl(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Wl(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Wl(t)?t:t+""}Vl.prototype.ipAddress=void 0,Vl.prototype.secondaryIpAddressList=void 0,Vl.prototype.$reserved=void 0,Vl.prototype.$objectType=void 0,Vl.prototype.$unknownFields=void 0;var Zl=new WeakSet,Xl=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Zl),this.$objectType="vmm.v4.ahv.config.VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getSubnet",value:function(){return this.subnet}},{key:"setSubnet",value:function(e){this.subnet=e}},{key:"getIpv4Config",value:function(){return this.ipv4Config}},{key:"setIpv4Config",value:function(e){this.ipv4Config=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return ql(ql(ql({},void 0!==this.getSubnet()&&null!==this.getSubnet()?{subnet:this.getSubnet().toJson(!1)}:{}),void 0!==this.getIpv4Config()&&null!==this.getIpv4Config()?{ipv4Config:this.getIpv4Config().toJson(!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"subnet"!==t||void 0!==this.subnet&&null!==this.subnet?"ipv4Config"!==t||void 0!==this.ipv4Config&&null!==this.ipv4Config?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("ipv4Config","undefined or null"):new C("subnet","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("subnet")&&null!==t.subnet&&void 0!==t.subnet&&n.setSubnet(Cl.constructFromObject(t.subnet)),t.hasOwnProperty("ipv4Config")&&null!==t.ipv4Config&&void 0!==t.ipv4Config&&n.setIpv4Config(Vl.constructFromObject(t.ipv4Config)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=ql({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Kl(t.prototype,n),r&&Kl(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Yl(e){return Yl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Yl(e)}function Ql(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ef(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ql(Object(n),!0).forEach(function(t){tf(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ql(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function tf(e,t,n){return(t=rf(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function nf(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,rf(r.key),r)}}function rf(e){var t=function(e){if("object"!=Yl(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Yl(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Yl(t)?t:t+""}Xl.prototype.subnet=void 0,Xl.prototype.ipv4Config=void 0,Xl.prototype.$reserved=void 0,Xl.prototype.$objectType=void 0,Xl.prototype.$unknownFields=void 0;var of=new WeakSet,sf=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,of),this.$objectType="vmm.v4.ahv.config.VmRestoreVirtualEthernetNicOverrideSpec",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getMacAddress",value:function(){return this.macAddress}},{key:"setMacAddress",value:function(e){this.macAddress=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return ef(ef({},void 0!==this.getMacAddress()&&null!==this.getMacAddress()?{macAddress:this.getMacAddress()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("macAddress"===t){if(void 0===this.macAddress||null===this.macAddress)return new C("macAddress","undefined or null");if(!R.validatePattern(this.macAddress,/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/))return new C("macAddress","does not satisfy required pattern: /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("macAddress")&&null!==t.macAddress&&void 0!==t.macAddress&&n.setMacAddress(t.macAddress),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=ef({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&nf(t.prototype,n),r&&nf(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function af(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function uf(e){return uf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},uf(e)}function cf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function lf(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?cf(Object(n),!0).forEach(function(t){ff(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cf(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ff(e,t,n){return(t=df(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pf(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,df(r.key),r)}}function df(e){var t=function(e){if("object"!=uf(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=uf(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==uf(t)?t:t+""}function yf(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}sf.prototype.macAddress=void 0,sf.prototype.$reserved=void 0,sf.prototype.$objectType=void 0,sf.prototype.$unknownFields=void 0;var vf=new WeakSet,hf=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,vf),this.nicExtId=t,this.$objectType="vmm.v4.ahv.config.VmRestoreNicConfigOverrideParams",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getNicExtId",value:function(){return this.nicExtId}},{key:"setNicExtId",value:function(e){this.nicExtId=e}},{key:"getNicBackingInfo",value:function(){return this.nicBackingInfo}},{key:"setNicBackingInfo",value:function(e){this.nicBackingInfo=e}},{key:"getNicNetworkInfo",value:function(){return this.nicNetworkInfo}},{key:"setNicNetworkInfo",value:function(e){this.nicNetworkInfo=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return lf(!1===e?lf(lf(lf({},void 0!==this.getNicExtId()&&null!==this.getNicExtId()?{nicExtId:this.getNicExtId()}:{}),void 0!==this.getNicBackingInfo()&&null!==this.getNicBackingInfo()?{nicBackingInfo:void 0!==this.getNicBackingInfo().toJson?this.getNicBackingInfo().toJson(!1):Array.isArray(this.getNicBackingInfo())?this.getNicBackingInfo().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):yf(vf,this,bf).call(this,this.getNicBackingInfo(),!1)}:{}),void 0!==this.getNicNetworkInfo()&&null!==this.getNicNetworkInfo()?{nicNetworkInfo:void 0!==this.getNicNetworkInfo().toJson?this.getNicNetworkInfo().toJson(!1):Array.isArray(this.getNicNetworkInfo())?this.getNicNetworkInfo().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):yf(vf,this,bf).call(this,this.getNicNetworkInfo(),!1)}:{}):lf(lf(lf({},void 0!==this.getNicExtId()&&null!==this.getNicExtId()?{nicExtId:this.getNicExtId()}:{}),void 0!==this.getNicBackingInfo()&&null!==this.getNicBackingInfo()?{nicBackingInfo:void 0!==this.getNicBackingInfo().toJson?this.getNicBackingInfo().toJson():Array.isArray(this.getNicBackingInfo())?this.getNicBackingInfo().map(function(e){return void 0!==e.toJson?e.toJson():e}):yf(vf,this,bf).call(this,this.getNicBackingInfo())}:{}),void 0!==this.getNicNetworkInfo()&&null!==this.getNicNetworkInfo()?{nicNetworkInfo:void 0!==this.getNicNetworkInfo().toJson?this.getNicNetworkInfo().toJson():Array.isArray(this.getNicNetworkInfo())?this.getNicNetworkInfo().map(function(e){return void 0!==e.toJson?e.toJson():e}):yf(vf,this,bf).call(this,this.getNicNetworkInfo())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["nicExtId"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("nicExtId"===t){if(void 0===this.nicExtId||null===this.nicExtId)return new C("nicExtId","undefined or null");if(!R.validatePattern(this.nicExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("nicExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"nicBackingInfo"!==t||void 0!==this.nicBackingInfo&&null!==this.nicBackingInfo?"nicNetworkInfo"!==t||void 0!==this.nicNetworkInfo&&null!==this.nicNetworkInfo?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("nicNetworkInfo","undefined or null"):new C("nicBackingInfo","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(r=r||new e,t.hasOwnProperty("nicExtId")&&null!==t.nicExtId&&void 0!==t.nicExtId&&r.setNicExtId(t.nicExtId),t.hasOwnProperty("nicBackingInfo")&&null!==t.nicBackingInfo&&void 0!==t.nicBackingInfo){if("vmm.v4.ahv.config.VmRestoreVirtualEthernetNicOverrideSpec"!==(n=t.nicBackingInfo.hasOwnProperty("$objectType")?t.nicBackingInfo.$objectType:uf(t.nicBackingInfo)))throw"Unknown datatype "+n+" in data";r.setNicBackingInfo(sf.constructFromObject(t.nicBackingInfo,void 0))}if(t.hasOwnProperty("nicNetworkInfo")&&null!==t.nicNetworkInfo&&void 0!==t.nicNetworkInfo){if("vmm.v4.ahv.config.VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec"!==(n=t.nicNetworkInfo.hasOwnProperty("$objectType")?t.nicNetworkInfo.$objectType:uf(t.nicNetworkInfo)))throw"Unknown datatype "+n+" in data";r.setNicNetworkInfo(Xl.constructFromObject(t.nicNetworkInfo,void 0))}if(t.hasOwnProperty("$reserved")&&(r.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(r.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(r.$unknownFields=t.$unknownFields),!o)for(var i in r.$unknownFields=lf({},t.$unknownFields),t)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=t[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&pf(t.prototype,n),r&&pf(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function bf(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return af(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?af(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===uf(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function mf(e){return mf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},mf(e)}function gf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function wf(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?gf(Object(n),!0).forEach(function(t){Of(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gf(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Of(e,t,n){return(t=kf(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jf(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,kf(r.key),r)}}function kf(e){var t=function(e){if("object"!=mf(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=mf(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==mf(t)?t:t+""}hf.prototype.nicExtId=void 0,hf.prototype.nicBackingInfo=void 0,hf.prototype.nicNetworkInfo=void 0,hf.prototype.$reserved=void 0,hf.prototype.$objectType=void 0,hf.prototype.$unknownFields=void 0;var $f=new WeakSet,Pf=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,$f),this.$objectType="vmm.v4.ahv.config.VmRestoreNicConfigSpecification",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getNicRemoveList",value:function(){return this.nicRemoveList}},{key:"setNicRemoveList",value:function(e){this.nicRemoveList=e}},{key:"getNicOverrideList",value:function(){return this.nicOverrideList}},{key:"setNicOverrideList",value:function(e){this.nicOverrideList=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return wf(wf(wf({},void 0!==this.getNicRemoveList()&&null!==this.getNicRemoveList()?{nicRemoveList:this.getNicRemoveList()}:{}),void 0!==this.getNicOverrideList()&&null!==this.getNicOverrideList()?{nicOverrideList:this.getNicOverrideList().map(function(e){return e.toJson(!1)})}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("nicRemoveList"===t){if(void 0===this.nicRemoveList||null===this.nicRemoveList)return new C("nicRemoveList","undefined or null");if(!R.validateMaxItems(this.nicRemoveList,64))return new C("nicRemoveList","does not satisfy required maxItems constraint: 64")}if("nicOverrideList"===t){if(void 0===this.nicOverrideList||null===this.nicOverrideList)return new C("nicOverrideList","undefined or null");if(!R.validateMaxItems(this.nicOverrideList,64))return new C("nicOverrideList","does not satisfy required maxItems constraint: 64")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(s=s||new e,t.hasOwnProperty("nicRemoveList")&&null!==t.nicRemoveList&&void 0!==t.nicRemoveList){for(i=[],n=t.nicRemoveList,o=0;o<n.length;o++)i.push(n[o]);s.setNicRemoveList(i)}if(t.hasOwnProperty("nicOverrideList")&&null!==t.nicOverrideList&&void 0!==t.nicOverrideList){for(i=[],n=t.nicOverrideList,o=0;o<n.length;o++)r=hf.constructFromObject(n[o],void 0),i.push(r);s.setNicOverrideList(i)}if(t.hasOwnProperty("$reserved")&&(s.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(s.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(s.$unknownFields=t.$unknownFields),!a)for(var u in s.$unknownFields=wf({},t.$unknownFields),t)Object.keys(s).includes(u)||Object.keys(s).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(s.$unknownFields[u]=t[u])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&jf(t.prototype,n),r&&jf(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Tf(e){return Tf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tf(e)}function Ef(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ff(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ef(Object(n),!0).forEach(function(t){Sf(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ef(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Sf(e,t,n){return(t=Rf(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function If(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Rf(r.key),r)}}function Rf(e){var t=function(e){if("object"!=Tf(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Tf(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Tf(t)?t:t+""}Pf.prototype.nicRemoveList=void 0,Pf.prototype.nicOverrideList=void 0,Pf.prototype.$reserved=void 0,Pf.prototype.$objectType=void 0,Pf.prototype.$unknownFields=void 0;var xf=new WeakSet,Af=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,xf),this.$objectType="vmm.v4.ahv.config.VmConfigOverrideSpecification",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"getDescription",value:function(){return this.description}},{key:"setDescription",value:function(e){this.description=e}},{key:"getNicSpec",value:function(){return this.nicSpec}},{key:"setNicSpec",value:function(e){this.nicSpec=e}},{key:"getCategories",value:function(){return this.categories}},{key:"setCategories",value:function(e){this.categories=e}},{key:"getOwnershipInfo",value:function(){return this.ownershipInfo}},{key:"setOwnershipInfo",value:function(e){this.ownershipInfo=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Ff(Ff(Ff(Ff(Ff(Ff({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{}),void 0!==this.getNicSpec()&&null!==this.getNicSpec()?{nicSpec:this.getNicSpec().toJson(!1)}:{}),void 0!==this.getCategories()&&null!==this.getCategories()?{categories:this.getCategories().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getOwnershipInfo()&&null!==this.getOwnershipInfo()?{ownershipInfo:this.getOwnershipInfo().toJson(!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!R.validateMaxLength(this.name,80))return new C("name","does not satisfy required maxLength constraint: 80")}if("description"===t&&(void 0===this.description||null===this.description))return new C("description","undefined or null");if("nicSpec"===t&&(void 0===this.nicSpec||null===this.nicSpec))return new C("nicSpec","undefined or null");if("categories"===t){if(void 0===this.categories||null===this.categories)return new C("categories","undefined or null");if(!R.validateMaxItems(this.categories,256))return new C("categories","does not satisfy required maxItems constraint: 256")}return"ownershipInfo"!==t||void 0!==this.ownershipInfo&&null!==this.ownershipInfo?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("ownershipInfo","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(s=s||new e,t.hasOwnProperty("name")&&null!==t.name&&void 0!==t.name&&s.setName(t.name),t.hasOwnProperty("description")&&null!==t.description&&void 0!==t.description&&s.setDescription(t.description),t.hasOwnProperty("nicSpec")&&null!==t.nicSpec&&void 0!==t.nicSpec&&s.setNicSpec(Pf.constructFromObject(t.nicSpec)),t.hasOwnProperty("categories")&&null!==t.categories&&void 0!==t.categories){for(i=[],n=t.categories,o=0;o<n.length;o++)r=fl.constructFromObject(n[o],void 0),i.push(r);s.setCategories(i)}if(t.hasOwnProperty("ownershipInfo")&&null!==t.ownershipInfo&&void 0!==t.ownershipInfo&&s.setOwnershipInfo(El.constructFromObject(t.ownershipInfo)),t.hasOwnProperty("$reserved")&&(s.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(s.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(s.$unknownFields=t.$unknownFields),!a)for(var u in s.$unknownFields=Ff({},t.$unknownFields),t)Object.keys(s).includes(u)||Object.keys(s).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(s.$unknownFields[u]=t[u])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&If(t.prototype,n),r&&If(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Df(e){return Df="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Df(e)}function Cf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Nf(e,t,n){return(t=Jf(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _f(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Jf(r.key),r)}}function Jf(e){var t=function(e){if("object"!=Df(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Df(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Df(t)?t:t+""}function Mf(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Mf=function(){return!!e})()}function Uf(e){return Uf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Uf(e)}function Lf(e,t){return Lf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Lf(e,t)}Af.prototype.name=void 0,Af.prototype.description=void 0,Af.prototype.nicSpec=void 0,Af.prototype.categories=void 0,Af.prototype.ownershipInfo=void 0,Af.prototype.$reserved=void 0,Af.prototype.$objectType=void 0,Af.prototype.$unknownFields=void 0;var Gf=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(e=function(e,t,n){return t=Uf(t),function(e,t){if(t&&("object"==Df(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Mf()?Reflect.construct(t,n||[],Uf(e).constructor):t.apply(e,n))}(this,t)).$objectType="dataprotection.v4.config.AhvVmOverrideSpec",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Lf(e,t)}(t,e),n=t,r=[{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Af.constructFromObject(e,n,!0),!r))for(var o in n.$unknownFields=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Cf(Object(n),!0).forEach(function(t){Nf(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Cf(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&_f(n.prototype,r),o&&_f(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Af);function Vf(e){return Vf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Vf(e)}function Wf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Bf(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Wf(Object(n),!0).forEach(function(t){qf(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Wf(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function qf(e,t,n){return(t=Kf(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function zf(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Kf(r.key),r)}}function Kf(e){var t=function(e){if("object"!=Vf(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Vf(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Vf(t)?t:t+""}var Hf=new WeakSet,Zf=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Hf),this.$objectType="dataprotection.v4.config.EsxiVmOverrideSpec",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Bf(Bf({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!R.validateMaxLength(this.name,80))return new C("name","does not satisfy required maxLength constraint: 80")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("name")&&null!==t.name&&void 0!==t.name&&n.setName(t.name),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Bf({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&zf(t.prototype,n),r&&zf(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Xf(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Yf(e){return Yf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Yf(e)}function Qf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ep(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Qf(Object(n),!0).forEach(function(t){tp(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Qf(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function tp(e,t,n){return(t=rp(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function np(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,rp(r.key),r)}}function rp(e){var t=function(e){if("object"!=Yf(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Yf(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Yf(t)?t:t+""}function op(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Zf.prototype.name=void 0,Zf.prototype.$reserved=void 0,Zf.prototype.$objectType=void 0,Zf.prototype.$unknownFields=void 0;var ip=new WeakSet,sp=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ip),this.$objectType="dataprotection.v4.config.VmRecoveryPointRestoreOverride",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getVmRecoveryPointExtId",value:function(){return this.vmRecoveryPointExtId}},{key:"setVmRecoveryPointExtId",value:function(e){this.vmRecoveryPointExtId=e}},{key:"getIsStrictMode",value:function(){return this.isStrictMode}},{key:"setIsStrictMode",value:function(e){this.isStrictMode=e}},{key:"getVmOverrideSpec",value:function(){return this.vmOverrideSpec}},{key:"setVmOverrideSpec",value:function(e){this.vmOverrideSpec=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return ep(ep(ep(ep({},void 0!==this.getVmRecoveryPointExtId()&&null!==this.getVmRecoveryPointExtId()?{vmRecoveryPointExtId:this.getVmRecoveryPointExtId()}:{}),void 0!==this.getIsStrictMode()&&null!==this.getIsStrictMode()?{isStrictMode:this.getIsStrictMode()}:{}),!1===e?void 0!==this.getVmOverrideSpec()&&null!==this.getVmOverrideSpec()?{vmOverrideSpec:void 0!==this.getVmOverrideSpec().toJson?this.getVmOverrideSpec().toJson(!1):Array.isArray(this.getVmOverrideSpec())?this.getVmOverrideSpec().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):op(ip,this,ap).call(this,this.getVmOverrideSpec(),!1)}:{}:void 0!==this.getVmOverrideSpec()&&null!==this.getVmOverrideSpec()?{vmOverrideSpec:void 0!==this.getVmOverrideSpec().toJson?this.getVmOverrideSpec().toJson():Array.isArray(this.getVmOverrideSpec())?this.getVmOverrideSpec().map(function(e){return void 0!==e.toJson?e.toJson():e}):op(ip,this,ap).call(this,this.getVmOverrideSpec())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("vmRecoveryPointExtId"===t){if(void 0===this.vmRecoveryPointExtId||null===this.vmRecoveryPointExtId)return new C("vmRecoveryPointExtId","undefined or null");if(!R.validatePattern(this.vmRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("vmRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"isStrictMode"!==t||void 0!==this.isStrictMode&&null!==this.isStrictMode?"vmOverrideSpec"!==t||void 0!==this.vmOverrideSpec&&null!==this.vmOverrideSpec?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("vmOverrideSpec","undefined or null"):new C("isStrictMode","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(r=r||new e,t.hasOwnProperty("vmRecoveryPointExtId")&&null!==t.vmRecoveryPointExtId&&void 0!==t.vmRecoveryPointExtId&&r.setVmRecoveryPointExtId(t.vmRecoveryPointExtId),t.hasOwnProperty("isStrictMode")&&null!==t.isStrictMode&&void 0!==t.isStrictMode&&r.setIsStrictMode(t.isStrictMode),t.hasOwnProperty("vmOverrideSpec")&&null!==t.vmOverrideSpec&&void 0!==t.vmOverrideSpec)switch(n=t.vmOverrideSpec.hasOwnProperty("$objectType")?t.vmOverrideSpec.$objectType:Yf(t.vmOverrideSpec)){case"dataprotection.v4.config.AhvVmOverrideSpec":r.setVmOverrideSpec(Gf.constructFromObject(t.vmOverrideSpec,void 0));break;case"dataprotection.v4.config.EsxiVmOverrideSpec":r.setVmOverrideSpec(Zf.constructFromObject(t.vmOverrideSpec,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(t.hasOwnProperty("$reserved")&&(r.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(r.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(r.$unknownFields=t.$unknownFields),!o)for(var i in r.$unknownFields=ep({},t.$unknownFields),t)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=t[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&np(t.prototype,n),r&&np(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function ap(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Xf(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xf(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===Yf(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function up(e){return up="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},up(e)}function cp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function lp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?cp(Object(n),!0).forEach(function(t){fp(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cp(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function fp(e,t,n){return(t=dp(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pp(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,dp(r.key),r)}}function dp(e){var t=function(e){if("object"!=up(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=up(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==up(t)?t:t+""}sp.prototype.vmRecoveryPointExtId=void 0,sp.prototype.isStrictMode=!1,sp.prototype.vmOverrideSpec=void 0,sp.prototype.$reserved=void 0,sp.prototype.$objectType=void 0,sp.prototype.$unknownFields=void 0;var yp=new WeakSet,vp=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,yp),this.$objectType="dataprotection.v4.config.VolumeGroupOverrideSpec",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return lp(lp({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!R.validateMaxLength(this.name,256))return new C("name","does not satisfy required maxLength constraint: 256")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("name")&&null!==t.name&&void 0!==t.name&&n.setName(t.name),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=lp({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&pp(t.prototype,n),r&&pp(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function hp(e){return hp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},hp(e)}function bp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function mp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bp(Object(n),!0).forEach(function(t){gp(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bp(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function gp(e,t,n){return(t=Op(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wp(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Op(r.key),r)}}function Op(e){var t=function(e){if("object"!=hp(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=hp(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==hp(t)?t:t+""}vp.prototype.name=void 0,vp.prototype.$reserved=void 0,vp.prototype.$objectType=void 0,vp.prototype.$unknownFields=void 0;var jp=new WeakSet,kp=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,jp),this.$objectType="dataprotection.v4.config.VolumeGroupRecoveryPointRestoreOverride",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getVolumeGroupRecoveryPointExtId",value:function(){return this.volumeGroupRecoveryPointExtId}},{key:"setVolumeGroupRecoveryPointExtId",value:function(e){this.volumeGroupRecoveryPointExtId=e}},{key:"getVolumeGroupOverrideSpec",value:function(){return this.volumeGroupOverrideSpec}},{key:"setVolumeGroupOverrideSpec",value:function(e){this.volumeGroupOverrideSpec=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return mp(mp(mp({},void 0!==this.getVolumeGroupRecoveryPointExtId()&&null!==this.getVolumeGroupRecoveryPointExtId()?{volumeGroupRecoveryPointExtId:this.getVolumeGroupRecoveryPointExtId()}:{}),void 0!==this.getVolumeGroupOverrideSpec()&&null!==this.getVolumeGroupOverrideSpec()?{volumeGroupOverrideSpec:this.getVolumeGroupOverrideSpec().toJson(!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("volumeGroupRecoveryPointExtId"===t){if(void 0===this.volumeGroupRecoveryPointExtId||null===this.volumeGroupRecoveryPointExtId)return new C("volumeGroupRecoveryPointExtId","undefined or null");if(!R.validatePattern(this.volumeGroupRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("volumeGroupRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"volumeGroupOverrideSpec"!==t||void 0!==this.volumeGroupOverrideSpec&&null!==this.volumeGroupOverrideSpec?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("volumeGroupOverrideSpec","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("volumeGroupRecoveryPointExtId")&&null!==t.volumeGroupRecoveryPointExtId&&void 0!==t.volumeGroupRecoveryPointExtId&&n.setVolumeGroupRecoveryPointExtId(t.volumeGroupRecoveryPointExtId),t.hasOwnProperty("volumeGroupOverrideSpec")&&null!==t.volumeGroupOverrideSpec&&void 0!==t.volumeGroupOverrideSpec&&n.setVolumeGroupOverrideSpec(vp.constructFromObject(t.volumeGroupOverrideSpec)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=mp({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&wp(t.prototype,n),r&&wp(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function $p(e){return $p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$p(e)}function Pp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Tp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pp(Object(n),!0).forEach(function(t){Ep(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pp(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ep(e,t,n){return(t=Sp(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fp(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Sp(r.key),r)}}function Sp(e){var t=function(e){if("object"!=$p(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=$p(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==$p(t)?t:t+""}kp.prototype.volumeGroupRecoveryPointExtId=void 0,kp.prototype.volumeGroupOverrideSpec=void 0,kp.prototype.$reserved=void 0,kp.prototype.$objectType=void 0,kp.prototype.$unknownFields=void 0;var Ip=new WeakSet,Rp=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Ip),this.$objectType="dataprotection.v4.config.RecoveryPointRestorationSpec",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getClusterExtId",value:function(){return this.clusterExtId}},{key:"setClusterExtId",value:function(e){this.clusterExtId=e}},{key:"getVmRecoveryPointRestoreOverrides",value:function(){return this.vmRecoveryPointRestoreOverrides}},{key:"setVmRecoveryPointRestoreOverrides",value:function(e){this.vmRecoveryPointRestoreOverrides=e}},{key:"getVolumeGroupRecoveryPointRestoreOverrides",value:function(){return this.volumeGroupRecoveryPointRestoreOverrides}},{key:"setVolumeGroupRecoveryPointRestoreOverrides",value:function(e){this.volumeGroupRecoveryPointRestoreOverrides=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Tp(Tp(Tp(Tp({},void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{}),void 0!==this.getVmRecoveryPointRestoreOverrides()&&null!==this.getVmRecoveryPointRestoreOverrides()?{vmRecoveryPointRestoreOverrides:this.getVmRecoveryPointRestoreOverrides().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getVolumeGroupRecoveryPointRestoreOverrides()&&null!==this.getVolumeGroupRecoveryPointRestoreOverrides()?{volumeGroupRecoveryPointRestoreOverrides:this.getVolumeGroupRecoveryPointRestoreOverrides().map(function(e){return e.toJson(!1)})}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new C("clusterExtId","undefined or null");if(!R.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("vmRecoveryPointRestoreOverrides"===t){if(void 0===this.vmRecoveryPointRestoreOverrides||null===this.vmRecoveryPointRestoreOverrides)return new C("vmRecoveryPointRestoreOverrides","undefined or null");if(!R.validateMaxItems(this.vmRecoveryPointRestoreOverrides,32))return new C("vmRecoveryPointRestoreOverrides","does not satisfy required maxItems constraint: 32");if(!R.validateMinItems(this.vmRecoveryPointRestoreOverrides,1))return new C("vmRecoveryPointRestoreOverrides","does not satisfy required minItems constraint: 1")}if("volumeGroupRecoveryPointRestoreOverrides"===t){if(void 0===this.volumeGroupRecoveryPointRestoreOverrides||null===this.volumeGroupRecoveryPointRestoreOverrides)return new C("volumeGroupRecoveryPointRestoreOverrides","undefined or null");if(!R.validateMaxItems(this.volumeGroupRecoveryPointRestoreOverrides,32))return new C("volumeGroupRecoveryPointRestoreOverrides","does not satisfy required maxItems constraint: 32");if(!R.validateMinItems(this.volumeGroupRecoveryPointRestoreOverrides,1))return new C("volumeGroupRecoveryPointRestoreOverrides","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n,r,o,i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t){if(s=s||new e,t.hasOwnProperty("clusterExtId")&&null!==t.clusterExtId&&void 0!==t.clusterExtId&&s.setClusterExtId(t.clusterExtId),t.hasOwnProperty("vmRecoveryPointRestoreOverrides")&&null!==t.vmRecoveryPointRestoreOverrides&&void 0!==t.vmRecoveryPointRestoreOverrides){for(i=[],n=t.vmRecoveryPointRestoreOverrides,o=0;o<n.length;o++)r=sp.constructFromObject(n[o],void 0),i.push(r);s.setVmRecoveryPointRestoreOverrides(i)}if(t.hasOwnProperty("volumeGroupRecoveryPointRestoreOverrides")&&null!==t.volumeGroupRecoveryPointRestoreOverrides&&void 0!==t.volumeGroupRecoveryPointRestoreOverrides){for(i=[],n=t.volumeGroupRecoveryPointRestoreOverrides,o=0;o<n.length;o++)r=kp.constructFromObject(n[o],void 0),i.push(r);s.setVolumeGroupRecoveryPointRestoreOverrides(i)}if(t.hasOwnProperty("$reserved")&&(s.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(s.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(s.$unknownFields=t.$unknownFields),!a)for(var u in s.$unknownFields=Tp({},t.$unknownFields),t)Object.keys(s).includes(u)||Object.keys(s).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(s.$unknownFields[u]=t[u])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Fp(t.prototype,n),r&&Fp(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function xp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Ap(e){return Ap="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ap(e)}function Dp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Cp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Dp(Object(n),!0).forEach(function(t){Np(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Dp(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Np(e,t,n){return(t=Jp(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _p(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Jp(r.key),r)}}function Jp(e){var t=function(e){if("object"!=Ap(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ap(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ap(t)?t:t+""}function Mp(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Mp=function(){return!!e})()}function Up(e){return Up=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Up(e)}function Lp(e,t){return Lp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Lp(e,t)}function Gp(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Rp.prototype.clusterExtId=void 0,Rp.prototype.vmRecoveryPointRestoreOverrides=void 0,Rp.prototype.volumeGroupRecoveryPointRestoreOverrides=void 0,Rp.prototype.$reserved=void 0,Rp.prototype.$objectType=void 0,Rp.prototype.$unknownFields=void 0;var Vp=new WeakSet,Wp=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Up(t),function(e,t){if(t&&("object"==Ap(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Mp()?Reflect.construct(t,n||[],Up(e).constructor):t.apply(e,n))}(this,t),Vp),e.$objectType="dataprotection.v4.config.GetRecoveryPointApiResponse",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Lp(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Cp(Cp(Cp({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):Gp(Vp,this,Bp).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson():e}):Gp(Vp,this,Bp).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Ap(e.data)){case"dataprotection.v4.config.RecoveryPoint":r.setData(Ac.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(Cr.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=Cp({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&_p(n.prototype,r),o&&_p(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Bp(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return xp(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xp(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===Ap(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}Wp.prototype.metadata=void 0,Wp.prototype.data=void 0,Wp.prototype.$reserved=void 0,Wp.prototype.$objectType=void 0,Wp.prototype.$unknownFields=void 0;var qp={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ZEROED:"ZEROED",REGULAR:"REGULAR",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(qp).find(function(t){return qp[t]===e});return null==t?qp.$UNKNOWN:qp[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case qp.$UNKNOWN:case qp.$REDACTED:case qp.ZEROED:case qp.REGULAR:return;default:throw new Error("Invalid : must be RegionType.{ $UNKNOWN|$REDACTED|ZEROED|REGULAR }")}}};Object.freeze(qp);const zp=qp;function Kp(e){return Kp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Kp(e)}function Hp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Zp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Hp(Object(n),!0).forEach(function(t){Xp(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Hp(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Xp(e,t,n){return(t=Qp(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Yp(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Qp(r.key),r)}}function Qp(e){var t=function(e){if("object"!=Kp(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Kp(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Kp(t)?t:t+""}var ed=new WeakSet,td=function(){function e(t,n,r){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,ed),this.offset=t,this.length=n,this.regionType=r,this.$objectType="dataprotection.v4.content.ChangedRegion",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getOffset",value:function(){return this.offset}},{key:"setOffset",value:function(e){this.offset=e}},{key:"getLength",value:function(){return this.length}},{key:"setLength",value:function(e){this.length=e}},{key:"getRegionType",value:function(){return this.regionType}},{key:"setRegionType",value:function(e){this.regionType=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Zp(Zp(Zp(Zp({},void 0!==this.getOffset()&&null!==this.getOffset()?{offset:this.getOffset()}:{}),void 0!==this.getLength()&&null!==this.getLength()?{length:this.getLength()}:{}),void 0!==this.getRegionType()&&null!==this.getRegionType()?{regionType:this.getRegionType()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["offset","length","regionType"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"offset"!==t||void 0!==this.offset&&null!==this.offset?"length"!==t||void 0!==this.length&&null!==this.length?"regionType"!==t||void 0!==this.regionType&&null!==this.regionType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("regionType","undefined or null"):new C("length","undefined or null"):new C("offset","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("offset")&&null!==t.offset&&void 0!==t.offset&&n.setOffset(t.offset),t.hasOwnProperty("length")&&null!==t.length&&void 0!==t.length&&n.setLength(t.length),t.hasOwnProperty("regionType")&&null!==t.regionType&&void 0!==t.regionType&&n.setRegionType(zp.constructFromObject(t.regionType)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Zp({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Yp(t.prototype,n),r&&Yp(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function nd(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function rd(e){return rd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},rd(e)}function od(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function id(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?od(Object(n),!0).forEach(function(t){sd(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):od(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function sd(e,t,n){return(t=ud(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ad(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ud(r.key),r)}}function ud(e){var t=function(e){if("object"!=rd(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=rd(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==rd(t)?t:t+""}function cd(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(cd=function(){return!!e})()}function ld(e){return ld=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ld(e)}function fd(e,t){return fd=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},fd(e,t)}function pd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}td.prototype.offset=void 0,td.prototype.length=void 0,td.prototype.regionType=void 0,td.prototype.$reserved=void 0,td.prototype.$objectType=void 0,td.prototype.$unknownFields=void 0;var dd=new WeakSet,yd=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=ld(t),function(e,t){if(t&&("object"==rd(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,cd()?Reflect.construct(t,n||[],ld(e).constructor):t.apply(e,n))}(this,t),dd),e.$objectType="dataprotection.v4.content.ChangedVmRegionsApiResponse",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&fd(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return id(id(id({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):pd(dd,this,vd).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson():e}):pd(dd,this,vd).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,s,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(a=a||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,a),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&a.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)a.setData([]);else{for(i=[],s=(n=e.data)[0].hasOwnProperty("$objectType")?n[0].$objectType:rd(n[0]),o=0;o<n.length;o++){if("dataprotection.v4.content.ChangedRegion"!==s)throw"Unknown list of type "+s+" in data";r=td.constructFromObject(n[o],void 0),i.push(r)}a.setData(i)}else{if("dataprotection.v4.error.ErrorResponse"!==(s=e.data.hasOwnProperty("$objectType")?e.data.$objectType:rd(e.data)))throw"Unknown datatype "+s+" in data";a.setData(Cr.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(a.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(a.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(a.$unknownFields=e.$unknownFields),!u)for(var l in a.$unknownFields=id({},e.$unknownFields),e)Object.keys(a).includes(l)||Object.keys(a).includes(this.snakeToCamel(l))||"$"===l[0]&&l.endsWith("ItemDiscriminator")||(a.$unknownFields[l]=e[l])}return a}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&ad(n.prototype,r),o&&ad(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function vd(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return nd(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?nd(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===rd(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function hd(e){return hd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},hd(e)}function bd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function md(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bd(Object(n),!0).forEach(function(t){gd(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bd(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function gd(e,t,n){return(t=Od(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wd(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Od(r.key),r)}}function Od(e){var t=function(e){if("object"!=hd(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=hd(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==hd(t)?t:t+""}function jd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}yd.prototype.metadata=void 0,yd.prototype.data=void 0,yd.prototype.$reserved=void 0,yd.prototype.$objectType=void 0,yd.prototype.$unknownFields=void 0;var kd=new WeakSet,$d=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,kd),this.expirationTime=t,this.$objectType="dataprotection.v4.config.ExpirationTimeSpec",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getExpirationTime",value:function(){return this.expirationTime}},{key:"setExpirationTime",value:function(e){this.expirationTime=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return md(md({},void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:jd(kd,this,Pd).call(this,this.getExpirationTime(),!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["expirationTime"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"expirationTime"!==t||void 0!==this.expirationTime&&null!==this.expirationTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("expirationTime","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("expirationTime")&&null!==t.expirationTime&&void 0!==t.expirationTime&&n.setExpirationTime(t.expirationTime),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=md({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&wd(t.prototype,n),r&&wd(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Pd(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Td(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Ed(e){return Ed="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ed(e)}function Fd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Sd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Fd(Object(n),!0).forEach(function(t){Id(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Fd(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Id(e,t,n){return(t=xd(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Rd(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,xd(r.key),r)}}function xd(e){var t=function(e){if("object"!=Ed(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ed(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ed(t)?t:t+""}function Ad(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Ad=function(){return!!e})()}function Dd(e){return Dd=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Dd(e)}function Cd(e,t){return Cd=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Cd(e,t)}function Nd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}$d.prototype.expirationTime=void 0,$d.prototype.$reserved=void 0,$d.prototype.$objectType=void 0,$d.prototype.$unknownFields=void 0;var _d=new WeakSet,Jd=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Dd(t),function(e,t){if(t&&("object"==Ed(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Ad()?Reflect.construct(t,n||[],Dd(e).constructor):t.apply(e,n))}(this,t),_d),e.$objectType="dataprotection.v4.config.CreateRecoveryPointApiResponse",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Cd(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Sd(Sd(Sd({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):Nd(_d,this,Md).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson():e}):Nd(_d,this,Md).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Ed(e.data)){case"prism.v4.config.TaskReference":r.setData(oo.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(Cr.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=Sd({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Rd(n.prototype,r),o&&Rd(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Md(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Td(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Td(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===Ed(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function Ud(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Ld(e){return Ld="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ld(e)}function Gd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Vd(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Gd(Object(n),!0).forEach(function(t){Wd(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Gd(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Wd(e,t,n){return(t=qd(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Bd(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,qd(r.key),r)}}function qd(e){var t=function(e){if("object"!=Ld(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Ld(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Ld(t)?t:t+""}function zd(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(zd=function(){return!!e})()}function Kd(e){return Kd=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Kd(e)}function Hd(e,t){return Hd=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Hd(e,t)}function Zd(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Jd.prototype.metadata=void 0,Jd.prototype.data=void 0,Jd.prototype.$reserved=void 0,Jd.prototype.$objectType=void 0,Jd.prototype.$unknownFields=void 0;var Xd=new WeakSet,Yd=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Kd(t),function(e,t){if(t&&("object"==Ld(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,zd()?Reflect.construct(t,n||[],Kd(e).constructor):t.apply(e,n))}(this,t),Xd),e.$objectType="dataprotection.v4.content.GetVssMetadataApiResponse",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Hd(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Vd(Vd(Vd({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):Zd(Xd,this,Qd).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson():e}):Zd(Xd,this,Qd).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Ld(e.data)){case"Map":r.setData(e.data);break;case"dataprotection.v4.error.ErrorResponse":r.setData(Cr.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=Vd({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Bd(n.prototype,r),o&&Bd(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Qd(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Ud(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ud(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===Ld(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function ey(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ty(e){return ty="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ty(e)}function ny(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ry(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ny(Object(n),!0).forEach(function(t){oy(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ny(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function oy(e,t,n){return(t=sy(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function iy(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,sy(r.key),r)}}function sy(e){var t=function(e){if("object"!=ty(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ty(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ty(t)?t:t+""}function ay(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ay=function(){return!!e})()}function uy(e){return uy=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},uy(e)}function cy(e,t){return cy=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},cy(e,t)}function ly(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Yd.prototype.metadata=void 0,Yd.prototype.data=void 0,Yd.prototype.$reserved=void 0,Yd.prototype.$objectType=void 0,Yd.prototype.$unknownFields=void 0;var fy=new WeakSet,py=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=uy(t),function(e,t){if(t&&("object"==ty(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,ay()?Reflect.construct(t,n||[],uy(e).constructor):t.apply(e,n))}(this,t),fy),e.$objectType="dataprotection.v4.config.RecoveryPointRestoreApiResponse",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&cy(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return ry(ry(ry({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):ly(fy,this,dy).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson():e}):ly(fy,this,dy).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:ty(e.data)){case"prism.v4.config.TaskReference":r.setData(oo.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(Cr.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=ry({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&iy(n.prototype,r),o&&iy(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function dy(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return ey(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ey(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===ty(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function yy(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function vy(e){return vy="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vy(e)}function hy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function by(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?hy(Object(n),!0).forEach(function(t){my(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hy(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function my(e,t,n){return(t=wy(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gy(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,wy(r.key),r)}}function wy(e){var t=function(e){if("object"!=vy(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=vy(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==vy(t)?t:t+""}function Oy(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Oy=function(){return!!e})()}function jy(e){return jy=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},jy(e)}function ky(e,t){return ky=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ky(e,t)}function $y(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}py.prototype.metadata=void 0,py.prototype.data=void 0,py.prototype.$reserved=void 0,py.prototype.$objectType=void 0,py.prototype.$unknownFields=void 0;var Py=new WeakSet,Ty=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=jy(t),function(e,t){if(t&&("object"==vy(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Oy()?Reflect.construct(t,n||[],jy(e).constructor):t.apply(e,n))}(this,t),Py),e.$objectType="dataprotection.v4.config.DeleteRecoveryPointApiResponse",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ky(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return by(by(by({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):$y(Py,this,Ey).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson():e}):$y(Py,this,Ey).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:vy(e.data)){case"prism.v4.config.TaskReference":r.setData(oo.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(Cr.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=by({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&gy(n.prototype,r),o&&gy(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Ey(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return yy(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?yy(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===vy(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function Fy(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Sy(e){return Sy="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Sy(e)}function Iy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ry(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Iy(Object(n),!0).forEach(function(t){xy(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Iy(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function xy(e,t,n){return(t=Dy(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ay(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Dy(r.key),r)}}function Dy(e){var t=function(e){if("object"!=Sy(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Sy(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Sy(t)?t:t+""}function Cy(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Cy=function(){return!!e})()}function Ny(e){return Ny=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ny(e)}function _y(e,t){return _y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},_y(e,t)}function Jy(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ty.prototype.metadata=void 0,Ty.prototype.data=void 0,Ty.prototype.$reserved=void 0,Ty.prototype.$objectType=void 0,Ty.prototype.$unknownFields=void 0;var My=new WeakSet,Uy=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Ny(t),function(e,t){if(t&&("object"==Sy(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Cy()?Reflect.construct(t,n||[],Ny(e).constructor):t.apply(e,n))}(this,t),My),e.$objectType="dataprotection.v4.config.GetVmRecoveryPointApiResponse",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&_y(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Ry(Ry(Ry({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):Jy(My,this,Ly).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson():e}):Jy(My,this,Ly).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Sy(e.data)){case"dataprotection.v4.config.VmRecoveryPoint":r.setData(uc.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(Cr.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=Ry({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Ay(n.prototype,r),o&&Ay(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Ly(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Fy(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Fy(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===Sy(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function Gy(e){return Gy="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Gy(e)}function Vy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Wy(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Vy(Object(n),!0).forEach(function(t){By(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Vy(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function By(e,t,n){return(t=zy(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qy(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,zy(r.key),r)}}function zy(e){var t=function(e){if("object"!=Gy(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Gy(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Gy(t)?t:t+""}function Ky(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Ky=function(){return!!e})()}function Hy(e){return Hy=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Hy(e)}function Zy(e,t){return Zy=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Zy(e,t)}Uy.prototype.metadata=void 0,Uy.prototype.data=void 0,Uy.prototype.$reserved=void 0,Uy.prototype.$objectType=void 0,Uy.prototype.$unknownFields=void 0;var Xy=new WeakSet,Yy=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Hy(t),function(e,t){if(t&&("object"==Gy(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Ky()?Reflect.construct(t,n||[],Hy(e).constructor):t.apply(e,n))}(this,t),Xy),e.$objectType="dataprotection.v4.content.VolumeGroupDiskRecoveryPointClusterDiscoverSpec",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Zy(e,t)}(t,e),n=t,r=[{key:"getReferenceVolumeGroupRecoveryPointExtId",value:function(){return this.referenceVolumeGroupRecoveryPointExtId}},{key:"setReferenceVolumeGroupRecoveryPointExtId",value:function(e){this.referenceVolumeGroupRecoveryPointExtId=e}},{key:"toJson",value:function(e){return Wy(Wy(Wy(Wy({},void 0!==this.getReferenceVolumeGroupRecoveryPointExtId()&&null!==this.getReferenceVolumeGroupRecoveryPointExtId()?{referenceVolumeGroupRecoveryPointExtId:this.getReferenceVolumeGroupRecoveryPointExtId()}:{}),void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{}),void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("referenceVolumeGroupRecoveryPointExtId"===t){if(void 0===this.referenceVolumeGroupRecoveryPointExtId||null===this.referenceVolumeGroupRecoveryPointExtId)return new C("referenceVolumeGroupRecoveryPointExtId","undefined or null");if(!R.validatePattern(this.referenceVolumeGroupRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("referenceVolumeGroupRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Ss.constructFromObject(e,n,!0),e.hasOwnProperty("referenceVolumeGroupRecoveryPointExtId")&&null!==e.referenceVolumeGroupRecoveryPointExtId&&void 0!==e.referenceVolumeGroupRecoveryPointExtId&&n.setReferenceVolumeGroupRecoveryPointExtId(e.referenceVolumeGroupRecoveryPointExtId),!r))for(var o in n.$unknownFields=Wy({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&qy(n.prototype,r),o&&qy(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Ss);function Qy(e){return Qy="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Qy(e)}function ev(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function tv(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ev(Object(n),!0).forEach(function(t){nv(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ev(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function nv(e,t,n){return(t=ov(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function rv(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ov(r.key),r)}}function ov(e){var t=function(e){if("object"!=Qy(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Qy(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Qy(t)?t:t+""}function iv(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(iv=function(){return!!e})()}function sv(e){return sv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},sv(e)}function av(e,t){return av=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},av(e,t)}Yy.prototype.referenceVolumeGroupRecoveryPointExtId=void 0,Ss.prototype.referenceRecoveryPointExtId=void 0,Ss.prototype.referenceDiskRecoveryPointExtId=void 0;var uv=new WeakSet,cv=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=sv(t),function(e,t){if(t&&("object"==Qy(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,iv()?Reflect.construct(t,n||[],sv(e).constructor):t.apply(e,n))}(this,t),uv),e.$objectType="dataprotection.v4.content.VolumeGroupRecoveryPointChangedRegionsComputeSpec",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&av(e,t)}(t,e),n=t,r=[{key:"getOffset",value:function(){return this.offset}},{key:"setOffset",value:function(e){this.offset=e}},{key:"getLength",value:function(){return this.length}},{key:"setLength",value:function(e){this.length=e}},{key:"getBlockSizeByte",value:function(){return this.blockSizeByte}},{key:"setBlockSizeByte",value:function(e){this.blockSizeByte=e}},{key:"toJson",value:function(e){return tv(tv(tv(tv(tv(tv(tv({},void 0!==this.getOffset()&&null!==this.getOffset()?{offset:this.getOffset()}:{}),void 0!==this.getLength()&&null!==this.getLength()?{length:this.getLength()}:{}),void 0!==this.getBlockSizeByte()&&null!==this.getBlockSizeByte()?{blockSizeByte:this.getBlockSizeByte()}:{}),void 0!==this.getReferenceVolumeGroupRecoveryPointExtId()&&null!==this.getReferenceVolumeGroupRecoveryPointExtId()?{referenceVolumeGroupRecoveryPointExtId:this.getReferenceVolumeGroupRecoveryPointExtId()}:{}),void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{}),void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("offset"===t&&(void 0===this.offset||null===this.offset))return new C("offset","undefined or null");if("length"===t&&(void 0===this.length||null===this.length))return new C("length","undefined or null");if("blockSizeByte"===t){if(void 0===this.blockSizeByte||null===this.blockSizeByte)return new C("blockSizeByte","undefined or null");if(!R.validateMaximum(this.blockSizeByte,262144))return new C("blockSizeByte","does not satisfy required maximum constraint: 262144");if(!R.validateMinimum(this.blockSizeByte,32768))return new C("blockSizeByte","does not satisfy required minimum constraint: 32768")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Yy.constructFromObject(e,n,!0),e.hasOwnProperty("offset")&&null!==e.offset&&void 0!==e.offset&&n.setOffset(e.offset),e.hasOwnProperty("length")&&null!==e.length&&void 0!==e.length&&n.setLength(e.length),e.hasOwnProperty("blockSizeByte")&&null!==e.blockSizeByte&&void 0!==e.blockSizeByte&&n.setBlockSizeByte(e.blockSizeByte),!r))for(var o in n.$unknownFields=tv({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&rv(n.prototype,r),o&&rv(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Yy);function lv(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function fv(e){return fv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},fv(e)}function pv(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function dv(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pv(Object(n),!0).forEach(function(t){yv(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pv(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function yv(e,t,n){return(t=hv(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vv(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,hv(r.key),r)}}function hv(e){var t=function(e){if("object"!=fv(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=fv(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==fv(t)?t:t+""}function bv(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(bv=function(){return!!e})()}function mv(e){return mv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},mv(e)}function gv(e,t){return gv=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},gv(e,t)}function wv(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}cv.prototype.offset=void 0,cv.prototype.length=void 0,cv.prototype.blockSizeByte=void 0,Yy.prototype.referenceVolumeGroupRecoveryPointExtId=void 0,Ss.prototype.referenceRecoveryPointExtId=void 0,Ss.prototype.referenceDiskRecoveryPointExtId=void 0;var Ov=new WeakSet,jv=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=mv(t),function(e,t){if(t&&("object"==fv(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,bv()?Reflect.construct(t,n||[],mv(e).constructor):t.apply(e,n))}(this,t),Ov),e.$objectType="dataprotection.v4.content.ChangedVolumeGroupRegionsApiResponse",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&gv(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return dv(dv(dv({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):wv(Ov,this,kv).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson():e}):wv(Ov,this,kv).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,s,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,u=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(a=a||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,a),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&a.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)a.setData([]);else{for(i=[],s=(n=e.data)[0].hasOwnProperty("$objectType")?n[0].$objectType:fv(n[0]),o=0;o<n.length;o++){if("dataprotection.v4.content.ChangedRegion"!==s)throw"Unknown list of type "+s+" in data";r=td.constructFromObject(n[o],void 0),i.push(r)}a.setData(i)}else{if("dataprotection.v4.error.ErrorResponse"!==(s=e.data.hasOwnProperty("$objectType")?e.data.$objectType:fv(e.data)))throw"Unknown datatype "+s+" in data";a.setData(Cr.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(a.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(a.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(a.$unknownFields=e.$unknownFields),!u)for(var l in a.$unknownFields=dv({},e.$unknownFields),e)Object.keys(a).includes(l)||Object.keys(a).includes(this.snakeToCamel(l))||"$"===l[0]&&l.endsWith("ItemDiscriminator")||(a.$unknownFields[l]=e[l])}return a}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&vv(n.prototype,r),o&&vv(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function kv(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return lv(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?lv(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===fv(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function $v(e){return $v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$v(e)}function Pv(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Tv(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pv(Object(n),!0).forEach(function(t){Ev(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pv(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ev(e,t,n){return(t=Sv(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fv(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Sv(r.key),r)}}function Sv(e){var t=function(e){if("object"!=$v(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=$v(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==$v(t)?t:t+""}jv.prototype.metadata=void 0,jv.prototype.data=void 0,jv.prototype.$reserved=void 0,jv.prototype.$objectType=void 0,jv.prototype.$unknownFields=void 0;var Iv=new WeakSet,Rv=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Iv),this.$objectType="dataprotection.v4.config.RecoveryPointReplicationSpec",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getPcExtId",value:function(){return this.pcExtId}},{key:"setPcExtId",value:function(e){this.pcExtId=e}},{key:"getClusterExtId",value:function(){return this.clusterExtId}},{key:"setClusterExtId",value:function(e){this.clusterExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Tv(Tv(Tv({},void 0!==this.getPcExtId()&&null!==this.getPcExtId()?{pcExtId:this.getPcExtId()}:{}),void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("pcExtId"===t){if(void 0===this.pcExtId||null===this.pcExtId)return new C("pcExtId","undefined or null");if(!R.validatePattern(this.pcExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("pcExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new C("clusterExtId","undefined or null");if(!R.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("pcExtId")&&null!==t.pcExtId&&void 0!==t.pcExtId&&n.setPcExtId(t.pcExtId),t.hasOwnProperty("clusterExtId")&&null!==t.clusterExtId&&void 0!==t.clusterExtId&&n.setClusterExtId(t.clusterExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Tv({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Fv(t.prototype,n),r&&Fv(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function xv(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Av(e){return Av="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Av(e)}function Dv(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Cv(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Dv(Object(n),!0).forEach(function(t){Nv(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Dv(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Nv(e,t,n){return(t=Jv(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _v(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Jv(r.key),r)}}function Jv(e){var t=function(e){if("object"!=Av(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Av(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Av(t)?t:t+""}function Mv(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Mv=function(){return!!e})()}function Uv(e){return Uv=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Uv(e)}function Lv(e,t){return Lv=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Lv(e,t)}function Gv(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Rv.prototype.pcExtId=void 0,Rv.prototype.clusterExtId=void 0,Rv.prototype.$reserved=void 0,Rv.prototype.$objectType=void 0,Rv.prototype.$unknownFields=void 0;var Vv=new WeakSet,Wv=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Uv(t),function(e,t){if(t&&("object"==Av(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Mv()?Reflect.construct(t,n||[],Uv(e).constructor):t.apply(e,n))}(this,t),Vv),e.$objectType="dataprotection.v4.config.UpdateRecoveryPointExpirationTimeApiResponse",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Lv(e,t)}(t,e),n=t,r=[{key:"getMetadata",value:function(){return this.metadata}},{key:"setMetadata",value:function(e){this.metadata=e}},{key:"getData",value:function(){return this.data}},{key:"setData",value:function(e){this.data=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Cv(Cv(Cv({},void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{}),!1===e?void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):Gv(Vv,this,Bv).call(this,this.getData(),!1)}:{}:void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(function(e){return void 0!==e.toJson?e.toJson():e}):Gv(Vv,this,Bv).call(this,this.getData())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("data","undefined or null"):new C("metadata","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,e.hasOwnProperty("metadata")&&c.constructFromObject(e.metadata,r),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&r.setMetadata(Je.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(n=e.data.hasOwnProperty("$objectType")?e.data.$objectType:Av(e.data)){case"prism.v4.config.TaskReference":r.setData(oo.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":r.setData(Cr.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(e.hasOwnProperty("$reserved")&&(r.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(r.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(r.$unknownFields=e.$unknownFields),!o)for(var i in r.$unknownFields=Cv({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&_v(n.prototype,r),o&&_v(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(c);function Bv(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return xv(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xv(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===Av(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function qv(e){return qv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},qv(e)}function zv(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Kv(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?zv(Object(n),!0).forEach(function(t){Hv(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zv(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Hv(e,t,n){return(t=Xv(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zv(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Xv(r.key),r)}}function Xv(e){var t=function(e){if("object"!=qv(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=qv(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==qv(t)?t:t+""}function Yv(e,t){return e.get(Qv(e,t))}function Qv(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Wv.prototype.metadata=void 0,Wv.prototype.data=void 0,Wv.prototype.$reserved=void 0,Wv.prototype.$objectType=void 0,Wv.prototype.$unknownFields=void 0;var eh=new WeakMap,th=function(){return e=function e(t){var n,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t,n){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,n)}(this,eh,void 0),this.apiClient=t||ct.instance,n=eh,r=new Set,n.set(Qv(n,this),r),Yv(eh,this).add("authorization"),Yv(eh,this).add("cookie"),Yv(eh,this).add("host"),Yv(eh,this).add("user-agent")},t=[{key:"createRecoveryPoint",value:function(e){var t,n=this,r=(arguments.length<=1?0:arguments.length-1)>0?arguments.length<=1?void 0:arguments[1]:{};if(null==(t=e instanceof Ac&&"function"==typeof e.toJson?e.toJson():e))throw new Error("Invalid body when calling createRecoveryPoint");var o={};Object.keys(r).forEach(function(e){Yv(eh,n).has(e.toLowerCase())||(o[e]=r[e])});var i=Kv({},o);ct.addEtagReferenceToHeader(e,i);var s=Jd;return this.apiClient.callApi("/api/dataprotection/v4.1/config/recovery-points","POST",{},{},i,{},t,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],s)}},{key:"deleteRecoveryPointById",value:function(e){var t=this,n=(arguments.length<=1?0:arguments.length-1)>0?arguments.length<=1?void 0:arguments[1]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteRecoveryPointById");var r={extId:e},o={};Object.keys(n).forEach(function(e){Yv(eh,t).has(e.toLowerCase())||(o[e]=n[e])});var i=Kv({},o),s=Ty;return this.apiClient.callApi("/api/dataprotection/v4.1/config/recovery-points/{extId}","DELETE",r,{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],s)}},{key:"discoverClusterForRecoveryPointId",value:function(e,t){var n,r=this,o=(arguments.length<=2?0:arguments.length-2)>0?arguments.length<=2?void 0:arguments[2]:{};if(n=t instanceof ws&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling discoverClusterForRecoveryPointId");if(null==n)throw new Error("Invalid body when calling discoverClusterForRecoveryPointId");var i={extId:e},s={};Object.keys(o).forEach(function(e){Yv(eh,r).has(e.toLowerCase())||(s[e]=o[e])});var a=Kv({},s);ct.addEtagReferenceToHeader(t,a);var u=Ga;return this.apiClient.callApi("/api/dataprotection/v4.1/config/recovery-points/{extId}/$actions/discover-cluster","POST",i,{},a,{},n,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],u)}},{key:"getRecoveryPointById",value:function(e){var t=this,n=(arguments.length<=1?0:arguments.length-1)>0?arguments.length<=1?void 0:arguments[1]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRecoveryPointById");var r={extId:e},o={};Object.keys(n).forEach(function(e){Yv(eh,t).has(e.toLowerCase())||(o[e]=n[e])});var i=Kv({},o),s=Wp;return this.apiClient.callApi("/api/dataprotection/v4.1/config/recovery-points/{extId}","GET",r,{},i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],s)}},{key:"getVmRecoveryPointById",value:function(e,t){var n=this,r=(arguments.length<=2?0:arguments.length-2)>0?arguments.length<=2?void 0:arguments[2]:{};if(null==e)throw new Error("Missing the required parameter 'recoveryPointExtId' when calling getVmRecoveryPointById");if(null==t)throw new Error("Missing the required parameter 'extId' when calling getVmRecoveryPointById");var o={recoveryPointExtId:e,extId:t},i={};Object.keys(r).forEach(function(e){Yv(eh,n).has(e.toLowerCase())||(i[e]=r[e])});var s=Kv({},i),a=Uy;return this.apiClient.callApi("/api/dataprotection/v4.1/config/recovery-points/{recoveryPointExtId}/vm-recovery-points/{extId}","GET",o,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}},{key:"getVssMetadataByVmRecoveryPointId",value:function(e,t){var n=this,r=(arguments.length<=2?0:arguments.length-2)>0?arguments.length<=2?void 0:arguments[2]:{};if(null==e)throw new Error("Missing the required parameter 'recoveryPointExtId' when calling getVssMetadataByVmRecoveryPointId");if(null==t)throw new Error("Missing the required parameter 'vmRecoveryPointExtId' when calling getVssMetadataByVmRecoveryPointId");var o={recoveryPointExtId:e,vmRecoveryPointExtId:t},i={};Object.keys(r).forEach(function(e){Yv(eh,n).has(e.toLowerCase())||(i[e]=r[e])});var s=Kv({},i),a=Yd;return this.apiClient.callApi("/api/dataprotection/v4.1/content/recovery-points/{recoveryPointExtId}/vm-recovery-points/{vmRecoveryPointExtId}/vss-metadata","GET",o,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/octet-stream","application/json"],a)}},{key:"listRecoveryPoints",value:function(e){var t=this,n=(arguments.length<=1?0:arguments.length-1)>0?arguments.length<=1?void 0:arguments[1]:{},r=Kv(Kv(Kv(Kv(Kv({},(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{}),e.hasOwnProperty("$limit")?{$limit:e.$limit}:{}),e.hasOwnProperty("$filter")?{$filter:e.$filter}:{}),e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{}),e.hasOwnProperty("$select")?{$select:e.$select}:{}),o={};Object.keys(n).forEach(function(e){Yv(eh,t).has(e.toLowerCase())||(o[e]=n[e])});var i=Kv({"X-Cluster-Id":e.xClusterId},o),s=nl;return this.apiClient.callApi("/api/dataprotection/v4.1/config/recovery-points","GET",{},r,i,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],s)}},{key:"replicateRecoveryPoint",value:function(e,t){var n,r=this,o=(arguments.length<=2?0:arguments.length-2)>0?arguments.length<=2?void 0:arguments[2]:{};if(n=t instanceof Rv&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling replicateRecoveryPoint");if(null==n)throw new Error("Invalid body when calling replicateRecoveryPoint");var i={extId:e},s={};Object.keys(o).forEach(function(e){Yv(eh,r).has(e.toLowerCase())||(s[e]=o[e])});var a=Kv({},s);ct.addEtagReferenceToHeader(t,a);var u=pi;return this.apiClient.callApi("/api/dataprotection/v4.1/config/recovery-points/{extId}/$actions/replicate","POST",i,{},a,{},n,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],u)}},{key:"restoreRecoveryPoint",value:function(e,t){var n,r=this,o=(arguments.length<=2?0:arguments.length-2)>0?arguments.length<=2?void 0:arguments[2]:{};if(n=t instanceof Rp&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling restoreRecoveryPoint");var i={extId:e},s={};Object.keys(o).forEach(function(e){Yv(eh,r).has(e.toLowerCase())||(s[e]=o[e])});var a=Kv({},s);ct.addEtagReferenceToHeader(t,a);var u=py;return this.apiClient.callApi("/api/dataprotection/v4.1/config/recovery-points/{extId}/$actions/restore","POST",i,{},a,{},n,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],u)}},{key:"setRecoveryPointExpirationTime",value:function(e,t){var n,r=this,o=(arguments.length<=2?0:arguments.length-2)>0?arguments.length<=2?void 0:arguments[2]:{};if(n=t instanceof $d&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling setRecoveryPointExpirationTime");if(null==n)throw new Error("Invalid body when calling setRecoveryPointExpirationTime");var i={extId:e},s={};Object.keys(o).forEach(function(e){Yv(eh,r).has(e.toLowerCase())||(s[e]=o[e])});var a=Kv({},s);ct.addEtagReferenceToHeader(t,a);var u=Wv;return this.apiClient.callApi("/api/dataprotection/v4.1/config/recovery-points/{extId}/$actions/set-expiration-time","POST",i,{},a,{},n,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],u)}},{key:"vmRecoveryPointComputeChangedRegions",value:function(e,t,n,r){var o,i=this,s=(arguments.length<=4?0:arguments.length-4)>0?arguments.length<=4?void 0:arguments[4]:{};if(o=r instanceof Xs&&"function"==typeof r.toJson?r.toJson():r,null==e)throw new Error("Missing the required parameter 'recoveryPointExtId' when calling vmRecoveryPointComputeChangedRegions");if(null==t)throw new Error("Missing the required parameter 'vmRecoveryPointExtId' when calling vmRecoveryPointComputeChangedRegions");if(null==n)throw new Error("Missing the required parameter 'extId' when calling vmRecoveryPointComputeChangedRegions");if(null==o)throw new Error("Invalid body when calling vmRecoveryPointComputeChangedRegions");var a={recoveryPointExtId:e,vmRecoveryPointExtId:t,extId:n},u={};Object.keys(s).forEach(function(e){Yv(eh,i).has(e.toLowerCase())||(u[e]=s[e])});var c=Kv({},u);ct.addEtagReferenceToHeader(r,c);var l=yd;return this.apiClient.callApi("/api/dataprotection/v4.1/content/recovery-points/{recoveryPointExtId}/vm-recovery-points/{vmRecoveryPointExtId}/disk-recovery-points/{extId}/$actions/compute-changed-regions","POST",a,{},c,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}},{key:"volumeGroupRecoveryPointComputeChangedRegions",value:function(e,t,n,r){var o,i=this,s=(arguments.length<=4?0:arguments.length-4)>0?arguments.length<=4?void 0:arguments[4]:{};if(o=r instanceof cv&&"function"==typeof r.toJson?r.toJson():r,null==e)throw new Error("Missing the required parameter 'recoveryPointExtId' when calling volumeGroupRecoveryPointComputeChangedRegions");if(null==t)throw new Error("Missing the required parameter 'volumeGroupRecoveryPointExtId' when calling volumeGroupRecoveryPointComputeChangedRegions");if(null==n)throw new Error("Missing the required parameter 'extId' when calling volumeGroupRecoveryPointComputeChangedRegions");if(null==o)throw new Error("Invalid body when calling volumeGroupRecoveryPointComputeChangedRegions");var a={recoveryPointExtId:e,volumeGroupRecoveryPointExtId:t,extId:n},u={};Object.keys(s).forEach(function(e){Yv(eh,i).has(e.toLowerCase())||(u[e]=s[e])});var c=Kv({},u);ct.addEtagReferenceToHeader(r,c);var l=jv;return this.apiClient.callApi("/api/dataprotection/v4.1/content/recovery-points/{recoveryPointExtId}/volume-group-recovery-points/{volumeGroupRecoveryPointExtId}/disk-recovery-points/{extId}/$actions/compute-changed-regions","POST",a,{},c,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}}],n=[{key:"ApiClient",get:function(){return ct}}],t&&Zv(e.prototype,t),n&&Zv(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,n}();function nh(e){return nh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nh(e)}function rh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function oh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?rh(Object(n),!0).forEach(function(t){ih(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rh(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ih(e,t,n){return(t=ah(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function sh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ah(r.key),r)}}function ah(e){var t=function(e){if("object"!=nh(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=nh(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==nh(t)?t:t+""}var uh=new WeakSet,ch=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,uh),this.$objectType="dataprotection.v4.config.AmazonS3Bucket",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getBucketName",value:function(){return this.bucketName}},{key:"setBucketName",value:function(e){this.bucketName=e}},{key:"getRegionName",value:function(){return this.regionName}},{key:"setRegionName",value:function(e){this.regionName=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return oh(oh(oh({},void 0!==this.getBucketName()&&null!==this.getBucketName()?{bucketName:this.getBucketName()}:{}),void 0!==this.getRegionName()&&null!==this.getRegionName()?{regionName:this.getRegionName()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("bucketName"===t){if(void 0===this.bucketName||null===this.bucketName)return new C("bucketName","undefined or null");if(!R.validateMaxLength(this.bucketName,256))return new C("bucketName","does not satisfy required maxLength constraint: 256")}if("regionName"===t){if(void 0===this.regionName||null===this.regionName)return new C("regionName","undefined or null");if(!R.validateMaxLength(this.regionName,256))return new C("regionName","does not satisfy required maxLength constraint: 256")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("bucketName")&&null!==t.bucketName&&void 0!==t.bucketName&&n.setBucketName(t.bucketName),t.hasOwnProperty("regionName")&&null!==t.regionName&&void 0!==t.regionName&&n.setRegionName(t.regionName),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=oh({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&sh(t.prototype,n),r&&sh(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function lh(e){return lh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},lh(e)}function fh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ph(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?fh(Object(n),!0).forEach(function(t){dh(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fh(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function dh(e,t,n){return(t=vh(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,vh(r.key),r)}}function vh(e){var t=function(e){if("object"!=lh(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=lh(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==lh(t)?t:t+""}ch.prototype.bucketName=void 0,ch.prototype.regionName=void 0,ch.prototype.$reserved=void 0,ch.prototype.$objectType=void 0,ch.prototype.$unknownFields=void 0;var hh=new WeakSet,bh=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,hh),this.$objectType="dataprotection.v4.config.AzureBlobStorageContainer",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getStorageAccountName",value:function(){return this.storageAccountName}},{key:"setStorageAccountName",value:function(e){this.storageAccountName=e}},{key:"getContainerName",value:function(){return this.containerName}},{key:"setContainerName",value:function(e){this.containerName=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return ph(ph(ph({},void 0!==this.getStorageAccountName()&&null!==this.getStorageAccountName()?{storageAccountName:this.getStorageAccountName()}:{}),void 0!==this.getContainerName()&&null!==this.getContainerName()?{containerName:this.getContainerName()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("storageAccountName"===t){if(void 0===this.storageAccountName||null===this.storageAccountName)return new C("storageAccountName","undefined or null");if(!R.validateMaxLength(this.storageAccountName,256))return new C("storageAccountName","does not satisfy required maxLength constraint: 256")}if("containerName"===t){if(void 0===this.containerName||null===this.containerName)return new C("containerName","undefined or null");if(!R.validateMaxLength(this.containerName,256))return new C("containerName","does not satisfy required maxLength constraint: 256")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("storageAccountName")&&null!==t.storageAccountName&&void 0!==t.storageAccountName&&n.setStorageAccountName(t.storageAccountName),t.hasOwnProperty("containerName")&&null!==t.containerName&&void 0!==t.containerName&&n.setContainerName(t.containerName),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=ph({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&yh(t.prototype,n),r&&yh(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();bh.prototype.storageAccountName=void 0,bh.prototype.containerName=void 0,bh.prototype.$reserved=void 0,bh.prototype.$objectType=void 0,bh.prototype.$unknownFields=void 0;var mh={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VM:"VM",VOLUME_GROUP:"VOLUME_GROUP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(mh).find(function(t){return mh[t]===e});return null==t?mh.$UNKNOWN:mh[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case mh.$UNKNOWN:case mh.$REDACTED:case mh.VM:case mh.VOLUME_GROUP:return;default:throw new Error("Invalid : must be ConsistencyGroupMemberType.{ $UNKNOWN|$REDACTED|VM|VOLUME_GROUP }")}}};Object.freeze(mh);const gh=mh;function wh(e){return wh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},wh(e)}function Oh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function jh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Oh(Object(n),!0).forEach(function(t){kh(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Oh(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function kh(e,t,n){return(t=Ph(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $h(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ph(r.key),r)}}function Ph(e){var t=function(e){if("object"!=wh(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=wh(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==wh(t)?t:t+""}var Th=new WeakSet,Eh=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Th),this.entityExtId=t,this.entityType=n,this.$objectType="dataprotection.v4.config.ConsistencyGroupMember",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getEntityExtId",value:function(){return this.entityExtId}},{key:"setEntityExtId",value:function(e){this.entityExtId=e}},{key:"getEntityType",value:function(){return this.entityType}},{key:"setEntityType",value:function(e){this.entityType=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return jh(jh(jh({},void 0!==this.getEntityExtId()&&null!==this.getEntityExtId()?{entityExtId:this.getEntityExtId()}:{}),void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["entityExtId","entityType"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("entityExtId"===t){if(void 0===this.entityExtId||null===this.entityExtId)return new C("entityExtId","undefined or null");if(!R.validatePattern(this.entityExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("entityExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"entityType"!==t||void 0!==this.entityType&&null!==this.entityType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("entityType","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("entityExtId")&&null!==t.entityExtId&&void 0!==t.entityExtId&&n.setEntityExtId(t.entityExtId),t.hasOwnProperty("entityType")&&null!==t.entityType&&void 0!==t.entityType&&n.setEntityType(gh.constructFromObject(t.entityType)),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=jh({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&$h(t.prototype,n),r&&$h(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function Fh(e){return Fh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Fh(e)}function Sh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ih(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Sh(Object(n),!0).forEach(function(t){Rh(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Sh(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Rh(e,t,n){return(t=Ah(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Ah(r.key),r)}}function Ah(e){var t=function(e){if("object"!=Fh(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Fh(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Fh(t)?t:t+""}function Dh(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Dh=function(){return!!e})()}function Ch(e){return Ch=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ch(e)}function Nh(e,t){return Nh=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Nh(e,t)}Eh.prototype.entityExtId=void 0,Eh.prototype.entityType=void 0,Eh.prototype.$reserved=void 0,Eh.prototype.$objectType=void 0,Eh.prototype.$unknownFields=void 0;var _h=new WeakSet,Jh=function(e){function t(e,n){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(r=function(e,t,n){return t=Ch(t),function(e,t){if(t&&("object"==Fh(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Dh()?Reflect.construct(t,n||[],Ch(e).constructor):t.apply(e,n))}(this,t),_h),r.name=e,r.members=n,r.$objectType="dataprotection.v4.config.ConsistencyGroup",r.$reserved={$fv:"v4.r1"},r.$unknownFields={},r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Nh(e,t)}(t,e),n=t,r=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"getOwnerExtId",value:function(){return this.ownerExtId}},{key:"setOwnerExtId",value:function(e){this.ownerExtId=e}},{key:"getMembers",value:function(){return this.members}},{key:"setMembers",value:function(e){this.members=e}},{key:"getClusterExtId",value:function(){return this.clusterExtId}},{key:"setClusterExtId",value:function(e){this.clusterExtId=e}},{key:"getProtectionPolicyExtId",value:function(){return this.protectionPolicyExtId}},{key:"setProtectionPolicyExtId",value:function(e){this.protectionPolicyExtId=e}},{key:"toJson",value:function(e){return Ih(!1===e?Ih(Ih(Ih(Ih(Ih(Ih(Ih(Ih({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getOwnerExtId()&&null!==this.getOwnerExtId()?{ownerExtId:this.getOwnerExtId()}:{}),void 0!==this.getMembers()&&null!==this.getMembers()?{members:this.getMembers().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{}),void 0!==this.getProtectionPolicyExtId()&&null!==this.getProtectionPolicyExtId()?{protectionPolicyExtId:this.getProtectionPolicyExtId()}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):Ih(Ih({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getMembers()&&null!==this.getMembers()?{members:this.getMembers().map(function(e){return e.toJson(!1)})}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["name","members"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!R.validateMaxLength(this.name,256))return new C("name","does not satisfy required maxLength constraint: 256")}if("ownerExtId"===t){if(void 0===this.ownerExtId||null===this.ownerExtId)return new C("ownerExtId","undefined or null");if(!R.validatePattern(this.ownerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("ownerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("members"===t){if(void 0===this.members||null===this.members)return new C("members","undefined or null");if(!R.validateMaxItems(this.members,30))return new C("members","does not satisfy required maxItems constraint: 30");if(!R.validateMinItems(this.members,1))return new C("members","does not satisfy required minItems constraint: 1")}if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new C("clusterExtId","undefined or null");if(!R.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("protectionPolicyExtId"===t){if(void 0===this.protectionPolicyExtId||null===this.protectionPolicyExtId)return new C("protectionPolicyExtId","undefined or null");if(!R.validatePattern(this.protectionPolicyExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("protectionPolicyExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(s=s||new t,Wt.constructFromObject(e,s,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&s.setName(e.name),e.hasOwnProperty("ownerExtId")&&null!==e.ownerExtId&&void 0!==e.ownerExtId&&s.setOwnerExtId(e.ownerExtId),e.hasOwnProperty("members")&&null!==e.members&&void 0!==e.members){for(i=[],n=e.members,o=0;o<n.length;o++)r=Eh.constructFromObject(n[o],void 0),i.push(r);s.setMembers(i)}if(e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&s.setClusterExtId(e.clusterExtId),e.hasOwnProperty("protectionPolicyExtId")&&null!==e.protectionPolicyExtId&&void 0!==e.protectionPolicyExtId&&s.setProtectionPolicyExtId(e.protectionPolicyExtId),!a)for(var u in s.$unknownFields=Ih({},e.$unknownFields),e)Object.keys(s).includes(u)||Object.keys(s).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(s.$unknownFields[u]=e[u])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&xh(n.prototype,r),o&&xh(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Wt);function Mh(e){return Mh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Mh(e)}function Uh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Lh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Uh(Object(n),!0).forEach(function(t){Gh(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Uh(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Gh(e,t,n){return(t=Wh(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Vh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Wh(r.key),r)}}function Wh(e){var t=function(e){if("object"!=Mh(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Mh(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Mh(t)?t:t+""}Jh.prototype.name=void 0,Jh.prototype.ownerExtId=void 0,Jh.prototype.members=void 0,Jh.prototype.clusterExtId=void 0,Jh.prototype.protectionPolicyExtId=void 0,Wt.prototype.extId=void 0,Wt.prototype.links=void 0,At.prototype.tenantId=void 0;var Bh=new WeakSet,qh=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Bh),this.$objectType="dataprotection.v4.config.ConsistencyGroupMigrationSpec",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getTargetPcExtId",value:function(){return this.targetPcExtId}},{key:"setTargetPcExtId",value:function(e){this.targetPcExtId=e}},{key:"getTargetClusterExtId",value:function(){return this.targetClusterExtId}},{key:"setTargetClusterExtId",value:function(e){this.targetClusterExtId=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Lh(Lh(Lh({},void 0!==this.getTargetPcExtId()&&null!==this.getTargetPcExtId()?{targetPcExtId:this.getTargetPcExtId()}:{}),void 0!==this.getTargetClusterExtId()&&null!==this.getTargetClusterExtId()?{targetClusterExtId:this.getTargetClusterExtId()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("targetPcExtId"===t){if(void 0===this.targetPcExtId||null===this.targetPcExtId)return new C("targetPcExtId","undefined or null");if(!R.validatePattern(this.targetPcExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("targetPcExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("targetClusterExtId"===t){if(void 0===this.targetClusterExtId||null===this.targetClusterExtId)return new C("targetClusterExtId","undefined or null");if(!R.validatePattern(this.targetClusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("targetClusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("targetPcExtId")&&null!==t.targetPcExtId&&void 0!==t.targetPcExtId&&n.setTargetPcExtId(t.targetPcExtId),t.hasOwnProperty("targetClusterExtId")&&null!==t.targetClusterExtId&&void 0!==t.targetClusterExtId&&n.setTargetClusterExtId(t.targetClusterExtId),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Lh({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Vh(t.prototype,n),r&&Vh(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function zh(e){return zh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},zh(e)}function Kh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Hh(e,t,n){return(t=Xh(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Zh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Xh(r.key),r)}}function Xh(e){var t=function(e){if("object"!=zh(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=zh(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==zh(t)?t:t+""}function Yh(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Yh=function(){return!!e})()}function Qh(e){return Qh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Qh(e)}function eb(e,t){return eb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},eb(e,t)}qh.prototype.targetPcExtId=void 0,qh.prototype.targetClusterExtId=void 0,qh.prototype.$reserved=void 0,qh.prototype.$objectType=void 0,qh.prototype.$unknownFields=void 0;var tb=function(e){function t(e,n){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(r=function(e,t,n){return t=Qh(t),function(e,t){if(t&&("object"==zh(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Yh()?Reflect.construct(t,n||[],Qh(e).constructor):t.apply(e,n))}(this,t,[e,n])).$objectType="dataprotection.v4.config.ConsistencyGroupProjection",r.$reserved={$fv:"v4.r1"},r.$unknownFields={},r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&eb(e,t)}(t,e),n=t,r=[{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=["name","members"]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Jh.constructFromObject(e,n,!0),!r))for(var o in n.$unknownFields=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Kh(Object(n),!0).forEach(function(t){Hh(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Kh(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Zh(n.prototype,r),o&&Zh(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Jh),nb={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRISM_ELEMENT:"PRISM_ELEMENT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(nb).find(function(t){return nb[t]===e});return null==t?nb.$UNKNOWN:nb[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case nb.$UNKNOWN:case nb.$REDACTED:case nb.PRISM_ELEMENT:return;default:throw new Error("Invalid : must be HostType.{ $UNKNOWN|$REDACTED|PRISM_ELEMENT }")}}};Object.freeze(nb);const rb=nb;function ob(e){return ob="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ob(e)}function ib(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function sb(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ib(Object(n),!0).forEach(function(t){ab(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ib(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ab(e,t,n){return(t=cb(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ub(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,cb(r.key),r)}}function cb(e){var t=function(e){if("object"!=ob(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=ob(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==ob(t)?t:t+""}function lb(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(lb=function(){return!!e})()}function fb(e){return fb=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},fb(e)}function pb(e,t){return pb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},pb(e,t)}var db=new WeakSet,yb=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=fb(t),function(e,t){if(t&&("object"==ob(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,lb()?Reflect.construct(t,n||[],fb(e).constructor):t.apply(e,n))}(this,t),db),e.$objectType="dataprotection.v4.config.HostReference",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&pb(e,t)}(t,e),n=t,r=[{key:"getHostType",value:function(){return this.hostType}},{key:"setHostType",value:function(e){this.hostType=e}},{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"toJson",value:function(e){return sb(!1===e?sb(sb(sb(sb(sb({},void 0!==this.getHostType()&&null!==this.getHostType()?{hostType:this.getHostType()}:{}),void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):sb(sb({},void 0!==this.getHostType()&&null!==this.getHostType()?{hostType:this.getHostType()}:{}),void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("hostType"===t&&(void 0===this.hostType||null===this.hostType))return new C("hostType","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!R.validateMaxLength(this.name,256))return new C("name","does not satisfy required maxLength constraint: 256")}return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Wt.constructFromObject(e,n,!0),e.hasOwnProperty("hostType")&&null!==e.hostType&&void 0!==e.hostType&&n.setHostType(rb.constructFromObject(e.hostType)),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&n.setName(e.name),!r))for(var o in n.$unknownFields=sb({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&ub(n.prototype,r),o&&ub(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Wt);function vb(e){return vb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vb(e)}function hb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function bb(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?hb(Object(n),!0).forEach(function(t){mb(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hb(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function mb(e,t,n){return(t=wb(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gb(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,wb(r.key),r)}}function wb(e){var t=function(e){if("object"!=vb(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=vb(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==vb(t)?t:t+""}yb.prototype.hostType=void 0,yb.prototype.name=void 0,Wt.prototype.extId=void 0,Wt.prototype.links=void 0,At.prototype.tenantId=void 0;var Ob=new WeakSet,jb=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,Ob),this.$objectType="dataprotection.v4.config.NutanixObjectsBucket",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getEndPoint",value:function(){return this.endPoint}},{key:"setEndPoint",value:function(e){this.endPoint=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return bb(bb({},void 0!==this.getEndPoint()&&null!==this.getEndPoint()?{endPoint:this.getEndPoint()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"endPoint"!==t||void 0!==this.endPoint&&null!==this.endPoint?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null"):new C("endPoint","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("endPoint")&&null!==t.endPoint&&void 0!==t.endPoint&&n.setEndPoint(t.endPoint),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=bb({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&gb(t.prototype,n),r&&gb(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();jb.prototype.endPoint=void 0,jb.prototype.$reserved=void 0,jb.prototype.$objectType=void 0,jb.prototype.$unknownFields=void 0;var kb={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AZURE_BLOB_STORAGE:"AZURE_BLOB_STORAGE",AMAZON_S3:"AMAZON_S3",NUTANIX_OBJECTS:"NUTANIX_OBJECTS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(kb).find(function(t){return kb[t]===e});return null==t?kb.$UNKNOWN:kb[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case kb.$UNKNOWN:case kb.$REDACTED:case kb.AZURE_BLOB_STORAGE:case kb.AMAZON_S3:case kb.NUTANIX_OBJECTS:return;default:throw new Error("Invalid : must be ObjectStorageType.{ $UNKNOWN|$REDACTED|AZURE_BLOB_STORAGE|AMAZON_S3|NUTANIX_OBJECTS }")}}};Object.freeze(kb);const $b=kb;function Pb(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Tb(e){return Tb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Tb(e)}function Eb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Fb(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Eb(Object(n),!0).forEach(function(t){Sb(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Eb(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Sb(e,t,n){return(t=Rb(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ib(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Rb(r.key),r)}}function Rb(e){var t=function(e){if("object"!=Tb(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Tb(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Tb(t)?t:t+""}function xb(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(xb=function(){return!!e})()}function Ab(e){return Ab=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Ab(e)}function Db(e,t){return Db=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Db(e,t)}function Cb(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Nb=new WeakSet,_b=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=Ab(t),function(e,t){if(t&&("object"==Tb(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,xb()?Reflect.construct(t,n||[],Ab(e).constructor):t.apply(e,n))}(this,t),Nb),e.$objectType="dataprotection.v4.config.RecoveryPointRepository",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Db(e,t)}(t,e),n=t,r=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"getObjectStorageType",value:function(){return this.objectStorageType}},{key:"setObjectStorageType",value:function(e){this.objectStorageType=e}},{key:"getObjectStorageReference",value:function(){return this.objectStorageReference}},{key:"setObjectStorageReference",value:function(e){this.objectStorageReference=e}},{key:"toJson",value:function(e){return Fb(!1===e?Fb(Fb(Fb(Fb(Fb(Fb({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getObjectStorageType()&&null!==this.getObjectStorageType()?{objectStorageType:this.getObjectStorageType()}:{}),void 0!==this.getObjectStorageReference()&&null!==this.getObjectStorageReference()?{objectStorageReference:void 0!==this.getObjectStorageReference().toJson?this.getObjectStorageReference().toJson(!1):Array.isArray(this.getObjectStorageReference())?this.getObjectStorageReference().map(function(e){return void 0!==e.toJson?e.toJson(!1):e}):Cb(Nb,this,Jb).call(this,this.getObjectStorageReference(),!1)}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):Fb(Fb(Fb({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getObjectStorageType()&&null!==this.getObjectStorageType()?{objectStorageType:this.getObjectStorageType()}:{}),void 0!==this.getObjectStorageReference()&&null!==this.getObjectStorageReference()?{objectStorageReference:void 0!==this.getObjectStorageReference().toJson?this.getObjectStorageReference().toJson():Array.isArray(this.getObjectStorageReference())?this.getObjectStorageReference().map(function(e){return void 0!==e.toJson?e.toJson():e}):Cb(Nb,this,Jb).call(this,this.getObjectStorageReference())}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!R.validateMaxLength(this.name,256))return new C("name","does not satisfy required maxLength constraint: 256")}return"objectStorageType"!==t||void 0!==this.objectStorageType&&null!==this.objectStorageType?"objectStorageReference"!==t||void 0!==this.objectStorageReference&&null!==this.objectStorageReference?new C(t,"no such property exists"):new C("objectStorageReference","undefined or null"):new C("objectStorageType","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(r=r||new t,Wt.constructFromObject(e,r,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&r.setName(e.name),e.hasOwnProperty("objectStorageType")&&null!==e.objectStorageType&&void 0!==e.objectStorageType&&r.setObjectStorageType($b.constructFromObject(e.objectStorageType)),e.hasOwnProperty("objectStorageReference")&&null!==e.objectStorageReference&&void 0!==e.objectStorageReference)switch(n=e.objectStorageReference.hasOwnProperty("$objectType")?e.objectStorageReference.$objectType:Tb(e.objectStorageReference)){case"dataprotection.v4.config.AzureBlobStorageContainer":r.setObjectStorageReference(bh.constructFromObject(e.objectStorageReference,void 0));break;case"dataprotection.v4.config.AmazonS3Bucket":r.setObjectStorageReference(ch.constructFromObject(e.objectStorageReference,void 0));break;case"dataprotection.v4.config.NutanixObjectsBucket":r.setObjectStorageReference(jb.constructFromObject(e.objectStorageReference,void 0));break;default:throw"Unknown datatype "+n+" in data"}if(!o)for(var i in r.$unknownFields=Fb({},e.$unknownFields),e)Object.keys(r).includes(i)||Object.keys(r).includes(this.snakeToCamel(i))||"$"===i[0]&&i.endsWith("ItemDiscriminator")||(r.$unknownFields[i]=e[i])}return r}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Ib(n.prototype,r),o&&Ib(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Wt);function Jb(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,function(e){var n,r,o=(r=2,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i,s,a=[],u=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=i.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){c=!0,o=e}finally{try{if(!u&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(c)throw o}}return a}}(n,r)||function(e,t){if(e){if("string"==typeof e)return Pb(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Pb(e,t):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[0],s=o[1];return[i,void 0!==s.toJson?s.toJson(t):s]})):"object"===Tb(e)&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),function(e){return[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]]})):e}function Mb(e){return Mb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Mb(e)}function Ub(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Lb(e,t,n){return(t=Vb(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Gb(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Vb(r.key),r)}}function Vb(e){var t=function(e){if("object"!=Mb(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Mb(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Mb(t)?t:t+""}function Wb(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Wb=function(){return!!e})()}function Bb(e){return Bb=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Bb(e)}function qb(e,t){return qb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},qb(e,t)}_b.prototype.name=void 0,_b.prototype.objectStorageType=void 0,_b.prototype.objectStorageReference=void 0,Wt.prototype.extId=void 0,Wt.prototype.links=void 0,At.prototype.tenantId=void 0;var zb=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(e=function(e,t,n){return t=Bb(t),function(e,t){if(t&&("object"==Mb(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Wb()?Reflect.construct(t,n||[],Bb(e).constructor):t.apply(e,n))}(this,t)).$objectType="dataprotection.v4.config.RecoveryPointRepositoryProjection",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&qb(e,t)}(t,e),n=t,r=[{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return new C(t,"no such property exists")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,_b.constructFromObject(e,n,!0),!r))for(var o in n.$unknownFields=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ub(Object(n),!0).forEach(function(t){Lb(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ub(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&Gb(n.prototype,r),o&&Gb(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(_b);function Kb(e){return Kb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Kb(e)}function Hb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Zb(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Hb(Object(n),!0).forEach(function(t){Xb(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Hb(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Xb(e,t,n){return(t=Qb(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Yb(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Qb(r.key),r)}}function Qb(e){var t=function(e){if("object"!=Kb(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=Kb(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Kb(t)?t:t+""}var em=new WeakSet,tm=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(this,em),this.$objectType="dataprotection.v4.config.SiteReference",this.$reserved={$fv:"v4.r1"},this.$unknownFields={}}return t=e,n=[{key:"getAvailabilityZoneReference",value:function(){return this.availabilityZoneReference}},{key:"setAvailabilityZoneReference",value:function(e){this.availabilityZoneReference=e}},{key:"getClusterReference",value:function(){return this.clusterReference}},{key:"setClusterReference",value:function(e){this.clusterReference=e}},{key:"get$Reserved",value:function(){return this.$reserved}},{key:"get$ObjectType",value:function(){return this.$objectType}},{key:"get$UnknownFields",value:function(){return this.$unknownFields}},{key:"toJson",value:function(e){return Zb(Zb(Zb({},void 0!==this.getAvailabilityZoneReference()&&null!==this.getAvailabilityZoneReference()?{availabilityZoneReference:this.getAvailabilityZoneReference()}:{}),void 0!==this.getClusterReference()&&null!==this.getClusterReference()?{clusterReference:this.getClusterReference()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("availabilityZoneReference"===t){if(void 0===this.availabilityZoneReference||null===this.availabilityZoneReference)return new C("availabilityZoneReference","undefined or null");if(!R.validatePattern(this.availabilityZoneReference,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("availabilityZoneReference","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clusterReference"===t){if(void 0===this.clusterReference||null===this.clusterReference)return new C("clusterReference","undefined or null");if(!R.validatePattern(this.clusterReference,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new C("clusterReference","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new C(t,"no such property exists"):new C("$unknownFields","undefined or null"):new C("$objectType","undefined or null"):new C("$reserved","undefined or null")}}],r=[{key:"constructFromObject",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(t&&(n=n||new e,t.hasOwnProperty("availabilityZoneReference")&&null!==t.availabilityZoneReference&&void 0!==t.availabilityZoneReference&&n.setAvailabilityZoneReference(t.availabilityZoneReference),t.hasOwnProperty("clusterReference")&&null!==t.clusterReference&&void 0!==t.clusterReference&&n.setClusterReference(t.clusterReference),t.hasOwnProperty("$reserved")&&(n.$reserved=t.$reserved),t.hasOwnProperty("$objectType")&&(n.$objectType=t.$objectType),t.hasOwnProperty("$unknownFields")&&(n.$unknownFields=t.$unknownFields),!r))for(var o in n.$unknownFields=Zb({},t.$unknownFields),t)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=t[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],n&&Yb(t.prototype,n),r&&Yb(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,n,r}();function nm(e){return nm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},nm(e)}function rm(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function om(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?rm(Object(n),!0).forEach(function(t){im(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rm(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function im(e,t,n){return(t=am(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function sm(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,am(r.key),r)}}function am(e){var t=function(e){if("object"!=nm(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=nm(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==nm(t)?t:t+""}function um(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(um=function(){return!!e})()}function cm(e){return cm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},cm(e)}function lm(e,t){return lm=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},lm(e,t)}tm.prototype.availabilityZoneReference=void 0,tm.prototype.clusterReference=void 0,tm.prototype.$reserved=void 0,tm.prototype.$objectType=void 0,tm.prototype.$unknownFields=void 0;var fm=new WeakSet,pm=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=cm(t),function(e,t){if(t&&("object"==nm(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,um()?Reflect.construct(t,n||[],cm(e).constructor):t.apply(e,n))}(this,t),fm),e.$objectType="dataprotection.v4.config.VolumeGroupSyncContext",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&lm(e,t)}(t,e),n=t,r=[{key:"getPrimarySite",value:function(){return this.primarySite}},{key:"setPrimarySite",value:function(e){this.primarySite=e}},{key:"getSecondarySite",value:function(){return this.secondarySite}},{key:"setSecondarySite",value:function(e){this.secondarySite=e}},{key:"toJson",value:function(e){return om(!1===e?om(om(om(om(om({},void 0!==this.getPrimarySite()&&null!==this.getPrimarySite()?{primarySite:this.getPrimarySite().toJson(!1)}:{}),void 0!==this.getSecondarySite()&&null!==this.getSecondarySite()?{secondarySite:this.getSecondarySite().toJson(!1)}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):om(om({},void 0!==this.getPrimarySite()&&null!==this.getPrimarySite()?{primarySite:this.getPrimarySite().toJson(!1)}:{}),void 0!==this.getSecondarySite()&&null!==this.getSecondarySite()?{secondarySite:this.getSecondarySite().toJson(!1)}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){return"primarySite"!==t||void 0!==this.primarySite&&null!==this.primarySite?"secondarySite"!==t||void 0!==this.secondarySite&&null!==this.secondarySite?new C(t,"no such property exists"):new C("secondarySite","undefined or null"):new C("primarySite","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e&&(n=n||new t,Wt.constructFromObject(e,n,!0),e.hasOwnProperty("primarySite")&&null!==e.primarySite&&void 0!==e.primarySite&&n.setPrimarySite(tm.constructFromObject(e.primarySite)),e.hasOwnProperty("secondarySite")&&null!==e.secondarySite&&void 0!==e.secondarySite&&n.setSecondarySite(tm.constructFromObject(e.secondarySite)),!r))for(var o in n.$unknownFields=om({},e.$unknownFields),e)Object.keys(n).includes(o)||Object.keys(n).includes(this.snakeToCamel(o))||"$"===o[0]&&o.endsWith("ItemDiscriminator")||(n.$unknownFields[o]=e[o]);return n}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&sm(n.prototype,r),o&&sm(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Wt);pm.prototype.primarySite=void 0,pm.prototype.secondarySite=void 0,Wt.prototype.extId=void 0,Wt.prototype.links=void 0,At.prototype.tenantId=void 0;var dm={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AVAILABLE:"AVAILABLE",UNAVAILABLE:"UNAVAILABLE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){var t=Object.keys(dm).find(function(t){return dm[t]===e});return null==t?dm.$UNKNOWN:dm[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case dm.$UNKNOWN:case dm.$REDACTED:case dm.AVAILABLE:case dm.UNAVAILABLE:return;default:throw new Error("Invalid : must be WitnessAvailabilityStatus.{ $UNKNOWN|$REDACTED|AVAILABLE|UNAVAILABLE }")}}};Object.freeze(dm);const ym=dm;function vm(e){return vm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},vm(e)}function hm(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function bm(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?hm(Object(n),!0).forEach(function(t){mm(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hm(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function mm(e,t,n){return(t=wm(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gm(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,wm(r.key),r)}}function wm(e){var t=function(e){if("object"!=vm(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=vm(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==vm(t)?t:t+""}function Om(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Om=function(){return!!e})()}function jm(e){return jm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},jm(e)}function km(e,t){return km=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},km(e,t)}var $m=new WeakSet,Pm=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.add(e)}(e=function(e,t,n){return t=jm(t),function(e,t){if(t&&("object"==vm(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Om()?Reflect.construct(t,n||[],jm(e).constructor):t.apply(e,n))}(this,t),$m),e.$objectType="dataprotection.v4.config.Witness",e.$reserved={$fv:"v4.r1"},e.$unknownFields={},e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&km(e,t)}(t,e),n=t,r=[{key:"getName",value:function(){return this.name}},{key:"setName",value:function(e){this.name=e}},{key:"getHostReferences",value:function(){return this.hostReferences}},{key:"setHostReferences",value:function(e){this.hostReferences=e}},{key:"getIpAddresses",value:function(){return this.ipAddresses}},{key:"setIpAddresses",value:function(e){this.ipAddresses=e}},{key:"getStatus",value:function(){return this.status}},{key:"setStatus",value:function(e){this.status=e}},{key:"toJson",value:function(e){return bm(!1===e?bm(bm(bm(bm(bm(bm(bm({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getHostReferences()&&null!==this.getHostReferences()?{hostReferences:this.getHostReferences().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getIpAddresses()&&null!==this.getIpAddresses()?{ipAddresses:this.getIpAddresses()}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{}),void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{}):bm(bm(bm(bm({},void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{}),void 0!==this.getHostReferences()&&null!==this.getHostReferences()?{hostReferences:this.getHostReferences().map(function(e){return e.toJson(!1)})}:{}),void 0!==this.getIpAddresses()&&null!==this.getIpAddresses()?{ipAddresses:this.getIpAddresses()}:{}),void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{}),{},{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),$unknownFields:this.get$UnknownFields()})}},{key:"validate",value:function(e,t){var n=this,r=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof E?r=[]:1===arguments.length?(r=arguments[0],e=null):r=arguments[1];var o=[],i=null;return r.forEach(function(t){(i=n.validateProperty(t,e))&&o.push(i)}),new Promise(function(e,t){0!==o.length?t(i):e()})}},{key:"validateProperty",value:function(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new C("name","undefined or null");if(!R.validateMaxLength(this.name,256))return new C("name","does not satisfy required maxLength constraint: 256")}if("hostReferences"===t){if(void 0===this.hostReferences||null===this.hostReferences)return new C("hostReferences","undefined or null");if(!R.validateMaxItems(this.hostReferences,100))return new C("hostReferences","does not satisfy required maxItems constraint: 100");if(!R.validateMinItems(this.hostReferences,1))return new C("hostReferences","does not satisfy required minItems constraint: 1")}if("ipAddresses"===t){if(void 0===this.ipAddresses||null===this.ipAddresses)return new C("ipAddresses","undefined or null");if(!R.validateMaxItems(this.ipAddresses,100))return new C("ipAddresses","does not satisfy required maxItems constraint: 100");if(!R.validateMinItems(this.ipAddresses,1))return new C("ipAddresses","does not satisfy required minItems constraint: 1")}return"status"!==t||void 0!==this.status&&null!==this.status?new C(t,"no such property exists"):new C("status","undefined or null")}}],o=[{key:"constructFromObject",value:function(e){var n,r,o,i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(e){if(s=s||new t,Wt.constructFromObject(e,s,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&s.setName(e.name),e.hasOwnProperty("hostReferences")&&null!==e.hostReferences&&void 0!==e.hostReferences){for(i=[],n=e.hostReferences,o=0;o<n.length;o++)r=yb.constructFromObject(n[o],void 0),i.push(r);s.setHostReferences(i)}if(e.hasOwnProperty("ipAddresses")&&null!==e.ipAddresses&&void 0!==e.ipAddresses){for(i=[],n=e.ipAddresses,o=0;o<n.length;o++)i.push(n[o]);s.setIpAddresses(i)}if(e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&s.setStatus(ym.constructFromObject(e.status)),!a)for(var u in s.$unknownFields=bm({},e.$unknownFields),e)Object.keys(s).includes(u)||Object.keys(s).includes(this.snakeToCamel(u))||"$"===u[0]&&u.endsWith("ItemDiscriminator")||(s.$unknownFields[u]=e[u])}return s}},{key:"snakeToCamel",value:function(e){return e.replace(/(_\w)/g,function(e){return e[1].toUpperCase()})}}],r&&gm(n.prototype,r),o&&gm(n,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r,o}(Wt);Pm.prototype.name=void 0,Pm.prototype.hostReferences=void 0,Pm.prototype.ipAddresses=void 0,Pm.prototype.status=void 0,Wt.prototype.extId=void 0,Wt.prototype.links=void 0,At.prototype.tenantId=void 0;const Tm={ApiClient:ct,ProtectedResourcesApi:Qo,RecoveryPointsApi:th,Flag:V,IPAddress:Oa,IPv4Address:ia,IPv6Address:da,KVPair:le,MapOfStringWrapper:Q,Message:Oe,MessageSeverity:de,TenantAwareModel:At,ApiLink:Se,ApiResponseMetadata:Je,ExternalizableAbstractModel:Wt,BackupType:$u,BaseRecoveryPoint:iu,BaseVmRecoveryPoint:Bu,ClusterInfo:Sa,DiskRecoveryPoint:ju,RecoveryPointStatus:Ba,RecoveryPointType:za,VssProperties:xu,AhvVmOverrideSpec:Gf,AmazonS3Bucket:ch,AzureBlobStorageContainer:bh,ClusterInfoApiResponse:Ga,ConsistencyGroup:Jh,ConsistencyGroupMember:Eh,ConsistencyGroupMemberType:gh,ConsistencyGroupMigrationSpec:qh,ConsistencyGroupProjection:tb,CreateRecoveryPointApiResponse:Jd,DataProtectionSiteReference:Yt,DeleteRecoveryPointApiResponse:Ty,EsxiVmOverrideSpec:Zf,ExpirationTimeSpec:$d,GetProtectedResourceApiResponse:Hr,GetRecoveryPointApiResponse:Wp,GetVmRecoveryPointApiResponse:Uy,HostReference:yb,HostType:rb,HypervisorType:Hu,ListRecoveryPointsApiResponse:nl,LocationReference:yu,NutanixObjectsBucket:jb,ObjectStorageType:$b,ProtectedEntityType:en,ProtectedResource:Zn,ProtectedResourcePromoteApiResponse:xo,ProtectedResourceReplicationStatus:nn,ProtectedResourceRestoreApiResponse:mo,ProtectedResourceRestoreSpec:Go,RecoveryInfo:Sn,RecoveryPoint:Ac,RecoveryPointProjection:Vc,RecoveryPointReplicateApiResponse:pi,RecoveryPointReplicationSpec:Rv,RecoveryPointRepository:_b,RecoveryPointRepositoryProjection:zb,RecoveryPointRestorationSpec:Rp,RecoveryPointRestoreApiResponse:py,ReplicationState:fn,RestorableTimeRange:wn,SiteProtectionInfo:Mn,SiteReference:tm,SynchronousReplicationRole:Rn,UpdateRecoveryPointExpirationTimeApiResponse:Wv,VmRecoveryPoint:uc,VmRecoveryPointRestoreOverride:sp,VolumeGroupOverrideSpec:vp,VolumeGroupRecoveryPoint:Oc,VolumeGroupRecoveryPointRestoreOverride:kp,VolumeGroupSyncContext:pm,Witness:Pm,WitnessAvailabilityStatus:ym,BaseRecoveryPointSpec:Ss,ChangedRegion:td,ChangedVmRegionsApiResponse:yd,ChangedVolumeGroupRegionsApiResponse:jv,ClusterDiscoverOperation:vi,ClusterDiscoverSpec:ws,ComputeChangedRegionsClusterDiscoverSpec:ts,DiskRecoveryPointReference:ki,GetVssMetadataApiResponse:Yd,GetVssMetadataClusterDiscoverSpec:ls,RegionType:zp,VmDiskRecoveryPointClusterDiscoverSpec:Us,VmDiskRecoveryPointReference:Di,VmRecoveryPointChangedRegionsComputeSpec:Xs,VolumeGroupDiskRecoveryPointClusterDiscoverSpec:Yy,VolumeGroupDiskRecoveryPointReference:Bi,VolumeGroupRecoveryPointChangedRegionsComputeSpec:cv,AppMessage:sr,ErrorResponse:Cr,SchemaValidationError:$r,SchemaValidationErrorMessage:vr,TaskReference:oo,CategoryReference:fl,OwnerReference:gl,OwnershipInfo:El,SubnetReference:Cl,VmConfigOverrideSpecification:Af,VmRestoreIpv4ConfigOverrideSpec:Vl,VmRestoreNicConfigOverrideParams:hf,VmRestoreNicConfigSpecification:Pf,VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec:Xl,VmRestoreVirtualEthernetNicOverrideSpec:sf}})(),r.default})());
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Ntnx=t():(e.Ntnx=e.Ntnx||{},e.Ntnx.Dataprotection=t())}(Object("undefined"==typeof self?this:self),()=>(()=>{var e={960(e){function t(e){if(e)return function(e){for(var n in t.prototype)e[n]=t.prototype[n];return e}(e)}e.exports=t,t.prototype.on=t.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},t.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},t.prototype.off=t.prototype.removeListener=t.prototype.removeAllListeners=t.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<i.length;o++)if((n=i[o])===t||n.fn===t){i.splice(o,1);break}return 0===i.length&&delete this._callbacks["$"+e],this},t.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],i=1;i<arguments.length;i++)t[i-1]=arguments[i];if(n){i=0;for(var o=(n=n.slice(0)).length;i<o;++i)n[i].apply(this,t)}return this},t.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},t.prototype.hasListeners=function(e){return!!this.listeners(e).length}},340(e){e.exports=r,r.default=r,r.stable=u,r.stableStringify=u;var t="[...]",n="[Circular]",i=[],o=[];function s(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function r(e,t,n,r){var a;void 0===r&&(r=s()),l(e,"",0,[],void 0,0,r);try{a=0===o.length?JSON.stringify(e,t,n):JSON.stringify(e,h(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var d=i.pop();4===d.length?Object.defineProperty(d[0],d[1],d[3]):d[0][d[1]]=d[2]}}return a}function a(e,t,n,s){var r=Object.getOwnPropertyDescriptor(s,n);void 0!==r.get?r.configurable?(Object.defineProperty(s,n,{value:e}),i.push([s,n,t,r])):o.push([t,n,e]):(s[n]=e,i.push([s,n,t]))}function l(e,i,o,s,r,d,u){var c;if(d+=1,"object"==typeof e&&null!==e){for(c=0;c<s.length;c++)if(s[c]===e)return void a(n,e,i,r);if(void 0!==u.depthLimit&&d>u.depthLimit)return void a(t,e,i,r);if(void 0!==u.edgesLimit&&o+1>u.edgesLimit)return void a(t,e,i,r);if(s.push(e),Array.isArray(e))for(c=0;c<e.length;c++)l(e[c],c,c,s,e,d,u);else{var h=Object.keys(e);for(c=0;c<h.length;c++){var p=h[c];l(e[p],p,c,s,e,d,u)}}s.pop()}}function d(e,t){return e<t?-1:e>t?1:0}function u(e,t,n,r){void 0===r&&(r=s());var a,l=c(e,"",0,[],void 0,0,r)||e;try{a=0===o.length?JSON.stringify(l,t,n):JSON.stringify(l,h(t),n)}catch(e){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var d=i.pop();4===d.length?Object.defineProperty(d[0],d[1],d[3]):d[0][d[1]]=d[2]}}return a}function c(e,o,s,r,l,u,h){var p;if(u+=1,"object"==typeof e&&null!==e){for(p=0;p<r.length;p++)if(r[p]===e)return void a(n,e,o,l);try{if("function"==typeof e.toJSON)return}catch(e){return}if(void 0!==h.depthLimit&&u>h.depthLimit)return void a(t,e,o,l);if(void 0!==h.edgesLimit&&s+1>h.edgesLimit)return void a(t,e,o,l);if(r.push(e),Array.isArray(e))for(p=0;p<e.length;p++)c(e[p],p,p,r,e,u,h);else{var v={},y=Object.keys(e).sort(d);for(p=0;p<y.length;p++){var g=y[p];c(e[g],g,p,r,e,u,h),v[g]=e[g]}if(void 0===l)return v;i.push([l,o,e]),l[o]=v}r.pop()}}function h(e){return e=void 0!==e?e:function(e,t){return t},function(t,n){if(o.length>0)for(var i=0;i<o.length;i++){var s=o[i];if(s[1]===t&&s[0]===n){n=s[2],o.splice(i,1);break}}return e.call(this,t,n)}}},784(e,t,n){"use strict";var i="win32"===process.platform,o=n(818);function s(e,t){for(var n=[],i=0;i<e.length;i++){var o=e[i];o&&"."!==o&&(".."===o?n.length&&".."!==n[n.length-1]?n.pop():t&&n.push(".."):n.push(o))}return n}function r(e){for(var t=e.length-1,n=0;n<=t&&!e[n];n++);for(var i=t;i>=0&&!e[i];i--);return 0===n&&i===t?e:n>i?[]:e.slice(n,i+1)}var a=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,l=/^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/,d={};function u(e){var t=a.exec(e),n=(t[1]||"")+(t[2]||""),i=t[3]||"",o=l.exec(i);return[n,o[1],o[2],o[3]]}function c(e){var t=a.exec(e),n=t[1]||"",i=!!n&&":"!==n[1];return{device:n,isUnc:i,isAbsolute:i||!!t[2],tail:t[3]}}function h(e){return"\\\\"+e.replace(/^[\\\/]+/,"").replace(/[\\\/]+/g,"\\")}d.resolve=function(){for(var e="",t="",n=!1,i=arguments.length-1;i>=-1;i--){var r;if(i>=0?r=arguments[i]:e?(r=process.env["="+e])&&r.substr(0,3).toLowerCase()===e.toLowerCase()+"\\"||(r=e+"\\"):r=process.cwd(),!o.isString(r))throw new TypeError("Arguments to path.resolve must be strings");if(r){var a=c(r),l=a.device,d=a.isUnc,u=a.isAbsolute,p=a.tail;if((!l||!e||l.toLowerCase()===e.toLowerCase())&&(e||(e=l),n||(t=p+"\\"+t,n=u),e&&n))break}}return d&&(e=h(e)),e+(n?"\\":"")+(t=s(t.split(/[\\\/]+/),!n).join("\\"))||"."},d.normalize=function(e){var t=c(e),n=t.device,i=t.isUnc,o=t.isAbsolute,r=t.tail,a=/[\\\/]$/.test(r);return(r=s(r.split(/[\\\/]+/),!o).join("\\"))||o||(r="."),r&&a&&(r+="\\"),i&&(n=h(n)),n+(o?"\\":"")+r},d.isAbsolute=function(e){return c(e).isAbsolute},d.join=function(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(!o.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&e.push(n)}var i=e.join("\\");return/^[\\\/]{2}[^\\\/]/.test(e[0])||(i=i.replace(/^[\\\/]{2,}/,"\\")),d.normalize(i)},d.relative=function(e,t){e=d.resolve(e),t=d.resolve(t);for(var n=e.toLowerCase(),i=t.toLowerCase(),o=r(t.split("\\")),s=r(n.split("\\")),a=r(i.split("\\")),l=Math.min(s.length,a.length),u=l,c=0;c<l;c++)if(s[c]!==a[c]){u=c;break}if(0==u)return t;var h=[];for(c=u;c<s.length;c++)h.push("..");return(h=h.concat(o.slice(u))).join("\\")},d._makeLong=function(e){if(!o.isString(e))return e;if(!e)return"";var t=d.resolve(e);return/^[a-zA-Z]\:\\/.test(t)?"\\\\?\\"+t:/^\\\\[^?.]/.test(t)?"\\\\?\\UNC\\"+t.substring(2):e},d.dirname=function(e){var t=u(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},d.basename=function(e,t){var n=u(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},d.extname=function(e){return u(e)[3]},d.format=function(e){if(!o.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!o.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);var n=e.dir,i=e.base||"";return n?n[n.length-1]===d.sep?n+i:n+d.sep+i:i},d.parse=function(e){if(!o.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=u(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},d.sep="\\",d.delimiter=";";var p=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,v={};function y(e){return p.exec(e).slice(1)}v.resolve=function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var i=n>=0?arguments[n]:process.cwd();if(!o.isString(i))throw new TypeError("Arguments to path.resolve must be strings");i&&(e=i+"/"+e,t="/"===i[0])}return(t?"/":"")+(e=s(e.split("/"),!t).join("/"))||"."},v.normalize=function(e){var t=v.isAbsolute(e),n=e&&"/"===e[e.length-1];return(e=s(e.split("/"),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},v.isAbsolute=function(e){return"/"===e.charAt(0)},v.join=function(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];if(!o.isString(n))throw new TypeError("Arguments to path.join must be strings");n&&(e+=e?"/"+n:n)}return v.normalize(e)},v.relative=function(e,t){e=v.resolve(e).substr(1),t=v.resolve(t).substr(1);for(var n=r(e.split("/")),i=r(t.split("/")),o=Math.min(n.length,i.length),s=o,a=0;a<o;a++)if(n[a]!==i[a]){s=a;break}var l=[];for(a=s;a<n.length;a++)l.push("..");return(l=l.concat(i.slice(s))).join("/")},v._makeLong=function(e){return e},v.dirname=function(e){var t=y(e),n=t[0],i=t[1];return n||i?(i&&(i=i.substr(0,i.length-1)),n+i):"."},v.basename=function(e,t){var n=y(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},v.extname=function(e){return y(e)[3]},v.format=function(e){if(!o.isObject(e))throw new TypeError("Parameter 'pathObject' must be an object, not "+typeof e);var t=e.root||"";if(!o.isString(t))throw new TypeError("'pathObject.root' must be a string or undefined, not "+typeof e.root);return(e.dir?e.dir+v.sep:"")+(e.base||"")},v.parse=function(e){if(!o.isString(e))throw new TypeError("Parameter 'pathString' must be a string, not "+typeof e);var t=y(e);if(!t||4!==t.length)throw new TypeError("Invalid path '"+e+"'");return t[1]=t[1]||"",t[2]=t[2]||"",t[3]=t[3]||"",{root:t[0],dir:t[0]+t[1].slice(0,-1),base:t[2],ext:t[3],name:t[2].slice(0,t[2].length-t[3].length)}},v.sep="/",v.delimiter=":",e.exports=i?d:v,e.exports.posix=v,e.exports.win32=d},540(e){function t(e,t){if(this._maxRetries&&this._retries++<this._maxRetries&&function(e,t,n,i){if(i)return i(e,t);if(e&&e.code&&~["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT","ENOTFOUND","ECONNREFUSED"].indexOf(e.code))return!0;if(t&&t.status){const e=t.status;if(e>=500)return!0;if((e>=400||e<200)&&-1===n.indexOf(e))return!0}return!(!e||!("timeout"in e)||"ECONNABORTED"!==e.code)||e&&"crossDomain"in e}(e,t,this._allowedStatuses,this._retryCallback)){let e;e=this._retries?this._retryDelays[this._retries-1]:0;const t=this;return setTimeout(function(){return t._retry()},e)}const n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)}function n(e,t,n,i){0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),"number"==typeof t&&(t=[t]);const o=t.length,s=e-o;if(0!==s){if(s<0)throw new Error("Cannot have more delays than retries");{const e=t[o-1];for(let n=0;n<s+1;n++)t.push(e)}}return this._maxRetries=e,this._retries=0,this._retryDelays=t||[0],this._allowedStatuses=n||[],this._retryCallback=i,this}e.exports=function(e){const i=e.Request;return i.prototype.oldRetry=i.prototype.retry,i.prototype.retry=n,i.prototype.callback=t,e}},619(e){"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function n(){this._defaults=[]}["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert","disableTLSCerts"].forEach(function(e){n.prototype[e]=function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return this._defaults.push({fn:e,args:n}),this}}),n.prototype._setDefaults=function(e){this._defaults.forEach(function(n){var i;e[n.fn].apply(e,function(e){if(Array.isArray(e))return t(e)}(i=n.args)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(i)||function(e,n){if(e){if("string"==typeof e)return t(e,n);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?t(e,n):void 0}}(i)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())})},e.exports=n},585(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var o;"undefined"!=typeof window?o=window:"undefined"==typeof self?(console.warn("Using browser-only version of superagent in non-browser environment"),o=void 0):o=self;var s=n(960),r=n(340),a=n(695),l=n(388),d=n(19),u=n(619);function c(){}e.exports=function(e,n){return"function"==typeof n?new t.Request("GET",e).end(n):1===arguments.length?new t.Request("GET",e):new t.Request(e,n)};var h=t=e.exports;t.Request=w,h.getXHR=function(){if(o.XMLHttpRequest&&(!o.location||"file:"!==o.location.protocol||!o.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw new Error("Browser-only version of superagent could not find XHR")};var p="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};function v(e){if(!l(e))return e;var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&y(t,n,e[n]);return t.join("&")}function y(e,t,n){if(void 0!==n)if(null!==n)if(Array.isArray(n))n.forEach(function(n){y(e,t,n)});else if(l(n))for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&y(e,"".concat(t,"[").concat(i,"]"),n[i]);else e.push(encodeURI(t)+"="+encodeURIComponent(n));else e.push(encodeURI(t))}function g(e){for(var t,n,i={},o=e.split("&"),s=0,r=o.length;s<r;++s)-1===(n=(t=o[s]).indexOf("="))?i[decodeURIComponent(t)]="":i[decodeURIComponent(t.slice(0,n))]=decodeURIComponent(t.slice(n+1));return i}function f(e){return/[/+]json($|[^-\w])/.test(e)}function $(e){this.req=e,this.xhr=this.req.xhr,this.text="HEAD"!==this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||void 0===this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText;var t=this.xhr.status;1223===t&&(t=204),this._setStatusProperties(t),this.headers=function(e){for(var t,n,i,o,s=e.split(/\r?\n/),r={},a=0,l=s.length;a<l;++a)-1!==(t=(n=s[a]).indexOf(":"))&&(i=n.slice(0,t).toLowerCase(),o=p(n.slice(t+1)),r[i]=o);return r}(this.xhr.getAllResponseHeaders()),this.header=this.headers,this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this._setHeaderProperties(this.header),null===this.text&&e._responseType?this.body=this.xhr.response:this.body="HEAD"===this.req.method?null:this._parseBody(this.text?this.text:this.xhr.response)}function w(e,t){var n=this;this._query=this._query||[],this.method=e,this.url=t,this.header={},this._header={},this.on("end",function(){var e,t=null,i=null;try{i=new $(n)}catch(e){return(t=new Error("Parser is unable to parse the response")).parse=!0,t.original=e,n.xhr?(t.rawResponse=void 0===n.xhr.responseType?n.xhr.responseText:n.xhr.response,t.status=n.xhr.status?n.xhr.status:null,t.statusCode=t.status):(t.rawResponse=null,t.status=null),n.callback(t)}n.emit("response",i);try{n._isResponseOK(i)||(e=new Error(i.statusText||i.text||"Unsuccessful HTTP response"))}catch(t){e=t}e?(e.original=t,e.response=i,e.status=i.status,n.callback(e,i)):n.callback(null,i)})}function m(e,t,n){var i=h("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}h.serializeObject=v,h.parseString=g,h.types={html:"text/html",json:"application/json",xml:"text/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},h.serialize={"application/x-www-form-urlencoded":v,"application/json":r},h.parse={"application/x-www-form-urlencoded":g,"application/json":JSON.parse},d($.prototype),$.prototype._parseBody=function(e){var t=h.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&f(this.type)&&(t=h.parse["application/json"]),t&&e&&(e.length>0||e instanceof Object)?t(e):null)},$.prototype.toError=function(){var e=this.req,t=e.method,n=e.url,i="cannot ".concat(t," ").concat(n," (").concat(this.status,")"),o=new Error(i);return o.status=this.status,o.method=t,o.url=n,o},h.Response=$,s(w.prototype),a(w.prototype),w.prototype.type=function(e){return this.set("Content-Type",h.types[e]||e),this},w.prototype.accept=function(e){return this.set("Accept",h.types[e]||e),this},w.prototype.auth=function(e,t,n){return 1===arguments.length&&(t=""),"object"===i(t)&&null!==t&&(n=t,t=""),n||(n={type:"function"==typeof btoa?"basic":"auto"}),this._auth(e,t,n,function(e){if("function"==typeof btoa)return btoa(e);throw new Error("Cannot use basic auth, btoa is not a function")})},w.prototype.query=function(e){return"string"!=typeof e&&(e=v(e)),e&&this._query.push(e),this},w.prototype.attach=function(e,t,n){if(t){if(this._data)throw new Error("superagent can't mix .send() and .attach()");this._getFormData().append(e,t,n||t.name)}return this},w.prototype._getFormData=function(){return this._formData||(this._formData=new o.FormData),this._formData},w.prototype.callback=function(e,t){if(this._shouldRetry(e,t))return this._retry();var n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)},w.prototype.crossDomainError=function(){var e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},w.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},w.prototype.ca=w.prototype.agent,w.prototype.buffer=w.prototype.ca,w.prototype.write=function(){throw new Error("Streaming is not supported in browser version of superagent")},w.prototype.pipe=w.prototype.write,w.prototype._isHost=function(e){return e&&"object"===i(e)&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},w.prototype.end=function(e){this._endCalled&&console.warn("Warning: .end() was called twice. This is not supported in superagent"),this._endCalled=!0,this._callback=e||c,this._finalizeQueryString(),this._end()},w.prototype._setUploadTimeout=function(){var e=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout(function(){e._timeoutError("Upload timeout of ",e._uploadTimeout,"ETIMEDOUT")},this._uploadTimeout))},w.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));var e=this;this.xhr=h.getXHR();var t=this.xhr,n=this._formData||this._data;this._setTimeouts(),t.onreadystatechange=function(){var n=t.readyState;if(n>=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4===n){var i;try{i=t.status}catch(e){i=0}if(!i){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}};var i=function(t,n){n.total>0&&(n.percent=n.loaded/n.total*100,100===n.percent&&clearTimeout(e._uploadTimeoutTimer)),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.addEventListener("progress",i.bind(null,"download")),t.upload&&t.upload.addEventListener("progress",i.bind(null,"upload"))}catch(e){}t.upload&&this._setUploadTimeout();try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(e){return this.callback(e)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!==this.method&&"HEAD"!==this.method&&"string"!=typeof n&&!this._isHost(n)){var o=this._header["content-type"],s=this._serializer||h.serialize[o?o.split(";")[0]:""];!s&&f(o)&&(s=h.serialize["application/json"]),s&&(n=s(n))}for(var r in this.header)null!==this.header[r]&&Object.prototype.hasOwnProperty.call(this.header,r)&&t.setRequestHeader(r,this.header[r]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0===n?null:n)},h.agent=function(){return new u},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach(function(e){u.prototype[e.toLowerCase()]=function(t,n){var i=new h.Request(e,t);return this._setDefaults(i),n&&i.end(n),i}}),u.prototype.del=u.prototype.delete,h.get=function(e,t,n){var i=h("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},h.head=function(e,t,n){var i=h("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},h.options=function(e,t,n){var i=h("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.del=m,h.delete=m,h.patch=function(e,t,n){var i=h("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.post=function(e,t,n){var i=h("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.put=function(e,t,n){var i=h("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}},388(e){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}e.exports=function(e){return null!==e&&"object"===t(e)}},695(e,t,n){"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}var o=n(388);function s(e){if(e)return function(e){for(var t in s.prototype)Object.prototype.hasOwnProperty.call(s.prototype,t)&&(e[t]=s.prototype[t]);return e}(e)}e.exports=s,s.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},s.prototype.parse=function(e){return this._parser=e,this},s.prototype.responseType=function(e){return this._responseType=e,this},s.prototype.serialize=function(e){return this._serializer=e,this},s.prototype.timeout=function(e){if(!e||"object"!==i(e))return this._timeout=e,this._responseTimeout=0,this._uploadTimeout=0,this;for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(t){case"deadline":this._timeout=e.deadline;break;case"response":this._responseTimeout=e.response;break;case"upload":this._uploadTimeout=e.upload;break;default:console.warn("Unknown timeout option",t)}return this},s.prototype.retry=function(e,t){return 0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),this._maxRetries=e,this._retries=0,this._retryCallback=t,this};var r=["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT"];s.prototype._shouldRetry=function(e,t){if(!this._maxRetries||this._retries++>=this._maxRetries)return!1;if(this._retryCallback)try{var n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(e){console.error(e)}if(t&&t.status&&t.status>=500&&501!==t.status)return!0;if(e){if(e.code&&r.includes(e.code))return!0;if(e.timeout&&"ECONNABORTED"===e.code)return!0;if(e.crossDomain)return!0}return!1},s.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this.timedoutError=null,this._end()},s.prototype.then=function(e,t){var n=this;if(!this._fullfilledPromise){var i=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(function(e,t){i.on("abort",function(){if(!(n._maxRetries&&n._maxRetries>n._retries))if(n.timedout&&n.timedoutError)t(n.timedoutError);else{var e=new Error("Aborted");e.code="ABORTED",e.status=n.status,e.method=n.method,e.url=n.url,t(e)}}),i.end(function(n,i){n?t(n):e(i)})})}return this._fullfilledPromise.then(e,t)},s.prototype.catch=function(e){return this.then(void 0,e)},s.prototype.use=function(e){return e(this),this},s.prototype.ok=function(e){if("function"!=typeof e)throw new Error("Callback required");return this._okCallback=e,this},s.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},s.prototype.get=function(e){return this._header[e.toLowerCase()]},s.prototype.getHeader=s.prototype.get,s.prototype.set=function(e,t){if(o(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.set(n,e[n]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},s.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},s.prototype.field=function(e,t){if(null==e)throw new Error(".field(name, val) name can not be empty");if(this._data)throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");if(o(e)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&this.field(n,e[n]);return this}if(Array.isArray(t)){for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&this.field(e,t[i]);return this}if(null==t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=String(t)),this._getFormData().append(e,t),this},s.prototype.abort=function(){return this._aborted||(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort")),this},s.prototype._auth=function(e,t,n,i){switch(n.type){case"basic":this.set("Authorization","Basic ".concat(i("".concat(e,":").concat(t))));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer ".concat(e))}return this},s.prototype.withCredentials=function(e){return void 0===e&&(e=!0),this._withCredentials=e,this},s.prototype.redirects=function(e){return this._maxRedirects=e,this},s.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw new TypeError("Invalid argument");return this._maxResponseSize=e,this},s.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},s.prototype.send=function(e){var t=o(e),n=this._header["content-type"];if(this._formData)throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");if(t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw new Error("Can't merge these send calls");if(t&&o(this._data))for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(this._data[i]=e[i]);else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],this._data="application/x-www-form-urlencoded"===n?this._data?"".concat(this._data,"&").concat(e):e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)||n||this.type("json"),this},s.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},s.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(this.url.includes("?")?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(t>=0){var n=this.url.slice(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.slice(0,t)+"?"+n.join("&")}}},s.prototype._appendQueryString=function(){console.warn("Unsupported")},s.prototype._timeoutError=function(e,t,n){if(!this._aborted){var i=new Error("".concat(e+t,"ms exceeded"));i.timeout=t,i.code="ECONNABORTED",i.errno=n,this.timedout=!0,this.timedoutError=i,this.abort(),this.callback(i)}},s.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")},this._responseTimeout))}},19(e,t,n){"use strict";var i=n(897);function o(e){if(e)return function(e){for(var t in o.prototype)Object.prototype.hasOwnProperty.call(o.prototype,t)&&(e[t]=o.prototype[t]);return e}(e)}e.exports=o,o.prototype.get=function(e){return this.header[e.toLowerCase()]},o.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=i.type(t);var n=i.params(t);for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(this[o]=n[o]);this.links={};try{e.link&&(this.links=i.parseLinks(e.link))}catch(e){}},o.prototype._setStatusProperties=function(e){var t=e/100|0;this.statusCode=e,this.status=this.statusCode,this.statusType=t,this.info=1===t,this.ok=2===t,this.redirect=3===t,this.clientError=4===t,this.serverError=5===t,this.error=(4===t||5===t)&&this.toError(),this.created=201===e,this.accepted=202===e,this.noContent=204===e,this.badRequest=400===e,this.unauthorized=401===e,this.notAcceptable=406===e,this.forbidden=403===e,this.notFound=404===e,this.unprocessableEntity=422===e}},897(e,t){"use strict";t.type=function(e){return e.split(/ *; */).shift()},t.params=function(e){return e.split(/ *; */).reduce(function(e,t){var n=t.split(/ *= */),i=n.shift(),o=n.shift();return i&&o&&(e[i]=o),e},{})},t.parseLinks=function(e){return e.split(/ *, */).reduce(function(e,t){var n=t.split(/ *; */),i=n[0].slice(1,-1);return e[n[1].split(/ *= */)[1].slice(1,-1)]=i,e},{})},t.cleanHeader=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e}},597(e){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},98(e){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},818(e,t,n){var i=/%[sdj%]/g;t.format=function(e){if(!g(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(r(arguments[n]));return t.join(" ")}n=1;for(var o=arguments,s=o.length,a=String(e).replace(i,function(e){if("%%"===e)return"%";if(n>=s)return e;switch(e){case"%s":return String(o[n++]);case"%d":return Number(o[n++]);case"%j":try{return JSON.stringify(o[n++])}catch(e){return"[Circular]"}default:return e}}),l=o[n];n<s;l=o[++n])v(l)||!w(l)?a+=" "+l:a+=" "+r(l);return a},t.deprecate=function(e,i){if(f(n.g.process))return function(){return t.deprecate(e,i).apply(this,arguments)};if(!0===process.noDeprecation)return e;var o=!1;return function(){if(!o){if(process.throwDeprecation)throw new Error(i);process.traceDeprecation?console.trace(i):console.error(i),o=!0}return e.apply(this,arguments)}};var o,s={};function r(e,n){var i={seen:[],stylize:l};return arguments.length>=3&&(i.depth=arguments[2]),arguments.length>=4&&(i.colors=arguments[3]),p(n)?i.showHidden=n:n&&t._extend(i,n),f(i.showHidden)&&(i.showHidden=!1),f(i.depth)&&(i.depth=2),f(i.colors)&&(i.colors=!1),f(i.customInspect)&&(i.customInspect=!0),i.colors&&(i.stylize=a),d(i,e,i.depth)}function a(e,t){var n=r.styles[t];return n?"["+r.colors[n][0]+"m"+e+"["+r.colors[n][1]+"m":e}function l(e,t){return e}function d(e,n,i){if(e.customInspect&&n&&k(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var o=n.inspect(i,e);return g(o)||(o=d(e,o,i)),o}var s=function(e,t){if(f(t))return e.stylize("undefined","undefined");if(g(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}return y(t)?e.stylize(""+t,"number"):p(t)?e.stylize(""+t,"boolean"):v(t)?e.stylize("null","null"):void 0}(e,n);if(s)return s;var r=Object.keys(n),a=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(r);if(e.showHidden&&(r=Object.getOwnPropertyNames(n)),T(n)&&(r.indexOf("message")>=0||r.indexOf("description")>=0))return u(n);if(0===r.length){if(k(n)){var l=n.name?": "+n.name:"";return e.stylize("[Function"+l+"]","special")}if($(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(m(n))return e.stylize(Date.prototype.toString.call(n),"date");if(T(n))return u(n)}var w,b="",F=!1,E=["{","}"];return h(n)&&(F=!0,E=["[","]"]),k(n)&&(b=" [Function"+(n.name?": "+n.name:"")+"]"),$(n)&&(b=" "+RegExp.prototype.toString.call(n)),m(n)&&(b=" "+Date.prototype.toUTCString.call(n)),T(n)&&(b=" "+u(n)),0!==r.length||F&&0!=n.length?i<0?$(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),w=F?function(e,t,n,i,o){for(var s=[],r=0,a=t.length;r<a;++r)I(t,String(r))?s.push(c(e,t,n,i,String(r),!0)):s.push("");return o.forEach(function(o){o.match(/^\d+$/)||s.push(c(e,t,n,i,o,!0))}),s}(e,n,i,a,r):r.map(function(t){return c(e,n,i,a,t,F)}),e.seen.pop(),function(e,t,n){return e.reduce(function(e,t){return t.indexOf("\n"),e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}(w,b,E)):E[0]+b+E[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function c(e,t,n,i,o,s){var r,a,l;if((l=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?a=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(a=e.stylize("[Setter]","special")),I(i,o)||(r="["+o+"]"),a||(e.seen.indexOf(l.value)<0?(a=v(n)?d(e,l.value,null):d(e,l.value,n-1)).indexOf("\n")>-1&&(a=s?a.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+a.split("\n").map(function(e){return" "+e}).join("\n")):a=e.stylize("[Circular]","special")),f(r)){if(s&&o.match(/^\d+$/))return a;(r=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(r=r.substr(1,r.length-2),r=e.stylize(r,"name")):(r=r.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),r=e.stylize(r,"string"))}return r+": "+a}function h(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function v(e){return null===e}function y(e){return"number"==typeof e}function g(e){return"string"==typeof e}function f(e){return void 0===e}function $(e){return w(e)&&"[object RegExp]"===b(e)}function w(e){return"object"==typeof e&&null!==e}function m(e){return w(e)&&"[object Date]"===b(e)}function T(e){return w(e)&&("[object Error]"===b(e)||e instanceof Error)}function k(e){return"function"==typeof e}function b(e){return Object.prototype.toString.call(e)}function F(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(f(o)&&(o=process.env.NODE_DEBUG||""),e=e.toUpperCase(),!s[e])if(new RegExp("\\b"+e+"\\b","i").test(o)){var n=process.pid;s[e]=function(){var i=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,i)}}else s[e]=function(){};return s[e]},t.inspect=r,r.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},r.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=h,t.isBoolean=p,t.isNull=v,t.isNullOrUndefined=function(e){return null==e},t.isNumber=y,t.isString=g,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=f,t.isRegExp=$,t.isObject=w,t.isDate=m,t.isError=T,t.isFunction=k,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=n(98);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function I(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,n;console.log("%s - %s",(n=[F((e=new Date).getHours()),F(e.getMinutes()),F(e.getSeconds())].join(":"),[e.getDate(),E[e.getMonth()],n].join(" ")),t.format.apply(t,arguments))},t.inherits=n(597),t._extend=function(e,t){if(!t||!w(t))return e;for(var n=Object.keys(t),i=n.length;i--;)e[n[i]]=t[n[i]];return e}},548(){},799(){},545(){},965(){}},t={};function n(i){var o=t[i];if(void 0!==o)return o.exports;var s=t[i]={exports:{}};return e[i](s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var i={};return(()=>{"use strict";n.d(i,{default:()=>Za});var e,t=n(585),o=n.n(t);class s{constructor(){}static constructFromObject(e,t){if(e){if(t=t||new s,e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links)for(const n of e.links)if(n.hasOwnProperty("rel")&&n.hasOwnProperty("href"))switch(n.rel){case"first":t.linkFirst=n.href;break;case"prev":t.linkPrev=n.href;break;case"next":t.linkNext=n.href;break;case"last":t.linkLast=n.href}e.hasOwnProperty("totalAvailableResults")&&(t.resultsTotal=e.totalAvailableResults)}return t}getFirstPage(){return this.isFirstPage()?Promise.reject("Cannot navigate to first page : already on first page"):null===this.linkFirst?Promise.reject("No link to first page provided in previous API response"):this._getLink(this.linkFirst)}getPrevPage(){return this.isFirstPage()?Promise.reject("Cannot navigate to previous page : already on first page"):null===this.linkPrev?Promise.reject("No link to previous page provided in previous API response"):this._getLink(this.linkPrev)}getNextPage(){return this.isLastPage()?Promise.reject("Cannot navigate to next page : already on last page"):null===this.linkNext?Promise.reject("No link to next page provided in previous API response"):this._getLink(this.linkNext)}getLastPage(){return this.isLastPage()?Promise.reject("Cannot navigate to last page : already on last page"):null===this.linkLast?Promise.reject("No link to last page provided in previous API response"):this._getLink(this.linkLast)}currentPage(){return null===this.page?0:this.page}countPages(){return null===this.resultsPerPage||null===this.resultsTotal||0===this.resultsPerPage?1:Math.ceil(this.resultsTotal/this.resultsPerPage)}isFirstPage(){return 0===this.currentPage()}isLastPage(){return this.currentPage()===this.countPages()-1}populatePaginationMetadata(e,t,n){this.apiClient=e,this.page=t,this.resultsPerPage=n}_getLink(e){null===this.apiClient&&(this.apiClient=le.instance);const t=this.constructor;return this.apiClient.callApi(e,"GET",{},{},{},{},{},[],[],["application/json"],t)}}s.prototype.linkFirst=null,s.prototype.linkPrev=null,s.prototype.linkNext=null,s.prototype.linkLast=null,s.prototype.apiClient=null,s.prototype.page=null,s.prototype.resultsPerPage=null,s.prototype.resultsTotal=null;var r=new Uint8Array(16);function a(){if(!e&&!(e="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(r)}const l=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var d=[],u=0;u<256;++u)d.push((u+256).toString(16).substr(1));const c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(d[e[t+0]]+d[e[t+1]]+d[e[t+2]]+d[e[t+3]]+"-"+d[e[t+4]]+d[e[t+5]]+"-"+d[e[t+6]]+d[e[t+7]]+"-"+d[e[t+8]]+d[e[t+9]]+"-"+d[e[t+10]]+d[e[t+11]]+d[e[t+12]]+d[e[t+13]]+d[e[t+14]]+d[e[t+15]]).toLowerCase();if(!function(e){return"string"==typeof e&&l.test(e)}(n))throw TypeError("Stringified UUID is invalid");return n},h=function(e,t,n){var i=(e=e||{}).random||(e.rng||a)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t){n=n||0;for(var o=0;o<16;++o)t[n+o]=i[o];return t}return c(i)};var p=n(540),v=n.n(p),y=n(545),g=n.n(y),f=n(799),$=n.n(f),w=n(784),m=n.n(w),T=n(548);const k={DEFAULT:"DEFAULT",constructFromObject:function(e){if("string"==typeof e||e instanceof String)return k[e];throw new Error("Received object name is not an instance of String")},validate:function(e){if(null!=e){if(e===k.DEFAULT)return;throw new Error("Invalid : must be ValidationScopes.{ }")}}};Object.freeze(k);const b=k;class F{static validateMaximum(e,t){return!(null===t||e>t)}static validateMinimum(e,t){return!(null===t||e<t)}static validateExclusiveMaximum(e,t){return!(null===t||e>t)}static validateExclusiveMinimum(e,t){return!(null===t||e>t)}static validateMultipleOf(e,t){return!(null===t||e%t===0)}static validateMaxLength(e,t){return!(null===t||e.length>t)}static validateMinLength(e,t){return!(null===t||e.length<t)}static validatePattern(e,t){return!(null===t||null===e.match(t))}static validateMaxItems(e,t){return!(null===t||e.length>t)}static validateMinItems(e,t){return!(null===t||e.length<t)}static validateUniqueItems(e,t){return!(null===t||!t||e.length!==new Set(e).size)}}class E{constructor(e,t){this.name=e,this.message=t}getName(){return this.name}setName(e){this.name=e}getMessage(){return this.message}setMessage(e){this.message=e}toJson(){return{name:this.getName(),message:this.getMessage()}}}var I=new WeakSet;class O{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=I),t.add(e),this.$objectType="common.v1.config.Flag",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new O,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value&&t.setValue(e.value),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getValue(){return this.value}setValue(e){this.value=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,128))return new E("name","does not satisfy required maxLength constraint: 128");if(!F.validateMinLength(this.name,3))return new E("name","does not satisfy required minLength constraint: 3")}return"value"!==t||void 0!==this.value&&null!==this.value?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("value","undefined or null")}}function j(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}O.prototype.name=void 0,O.prototype.value=!1,O.prototype.$reserved=void 0,O.prototype.$objectType=void 0,O.prototype.$unknownFields=void 0;var P=new WeakSet;class R{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=P),t.add(e),this.$objectType="common.v1.config.MapOfStringWrapper",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new R,e.hasOwnProperty("map")&&null!==e.map&&void 0!==e.map&&t.setMap(e.map),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMap(){return this.map}setMap(e){this.map=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMap()&&null!==this.getMap()?{map:j(P,this,x).call(this,this.getMap(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMap()&&null!==this.getMap()?{map:j(P,this,x).call(this,this.getMap())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"map"!==t||void 0!==this.map&&null!==this.map?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("map","undefined or null")}}function x(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function A(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}R.prototype.map=void 0,R.prototype.$reserved=void 0,R.prototype.$objectType=void 0,R.prototype.$unknownFields=void 0;var C=new WeakSet;class S{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=C),t.add(e),this.$objectType="common.v1.config.KVPair",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r,a;if(e){if(t=t||new S,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value)if(Array.isArray(e.value))if(0===e.value.length)t.setValue([]);else{for(r=[],i=e.value,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],s=0;s<i.length;s++)switch(a){case"string":case"integer":case"number":r.push(i[s]);break;case"common.v1.config.MapOfStringWrapper":o=R.constructFromObject(i[s],void 0),r.push(o);break;default:throw"Unknown list of type "+a+" in data"}t.setValue(r)}else switch(a=e.value.hasOwnProperty("$objectType")?e.value.$objectType:typeof e.value,a){case"string":case"boolean":case"number":t.setValue(e.value);break;case"object":t.setValue(new Map(Object.entries(e.value)));break;default:throw"Unknown datatype "+a+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getValue(){return this.value}setValue(e){this.value=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:void 0!==this.getValue().toJson?this.getValue().toJson(!1):Array.isArray(this.getValue())?this.getValue().map(e=>void 0!==e.toJson?e.toJson(!1):e):A(C,this,N).call(this,this.getValue(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getValue()&&null!==this.getValue()?{value:void 0!==this.getValue().toJson?this.getValue().toJson():Array.isArray(this.getValue())?this.getValue().map(e=>void 0!==e.toJson?e.toJson():e):A(C,this,N).call(this,this.getValue())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,128))return new E("name","does not satisfy required maxLength constraint: 128");if(!F.validateMinLength(this.name,3))return new E("name","does not satisfy required minLength constraint: 3")}return"value"!==t||void 0!==this.value&&null!==this.value?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("value","undefined or null")}}function N(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}S.prototype.name=void 0,S.prototype.value=void 0,S.prototype.$reserved=void 0,S.prototype.$objectType=void 0,S.prototype.$unknownFields=void 0;const D={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",INFO:"INFO",WARNING:"WARNING",ERROR:"ERROR",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(D).find(t=>D[t]===e);return null==t?D.$UNKNOWN:D[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case D.$UNKNOWN:case D.$REDACTED:case D.INFO:case D.WARNING:case D.ERROR:return;default:throw new Error("Invalid : must be MessageSeverity.{ $UNKNOWN|$REDACTED|INFO|WARNING|ERROR }")}}};Object.freeze(D);const U=D;var M=new WeakSet;class J{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=M),t.add(e),this.$objectType="common.v1.config.Message",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new J,e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("severity")&&null!==e.severity&&void 0!==e.severity&&t.setSeverity(U.constructFromObject(e.severity)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getCode(){return this.code}setCode(e){this.code=e}getMessage(){return this.message}setMessage(e){this.message=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getSeverity(){return this.severity}setSeverity(e){this.severity=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"code"!==t||void 0!==this.code&&null!==this.code?"message"!==t||void 0!==this.message&&null!==this.message?"locale"!==t||void 0!==this.locale&&null!==this.locale?"severity"!==t||void 0!==this.severity&&null!==this.severity?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("severity","undefined or null"):new E("locale","undefined or null"):new E("message","undefined or null"):new E("code","undefined or null")}}J.prototype.code=void 0,J.prototype.message=void 0,J.prototype.locale="en_US",J.prototype.severity=void 0,J.prototype.$reserved=void 0,J.prototype.$objectType=void 0,J.prototype.$unknownFields=void 0;var _=new WeakSet;class L{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=_),t.add(e),this.$objectType="common.v1.response.ApiLink",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new L,e.hasOwnProperty("href")&&null!==e.href&&void 0!==e.href&&t.setHref(e.href),e.hasOwnProperty("rel")&&null!==e.rel&&void 0!==e.rel&&t.setRel(e.rel),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getHref(){return this.href}setHref(e){this.href=e}getRel(){return this.rel}setRel(e){this.rel=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getHref()&&null!==this.getHref()?{href:this.getHref()}:{},...void 0!==this.getRel()&&null!==this.getRel()?{rel:this.getRel()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"href"!==t||void 0!==this.href&&null!==this.href?"rel"!==t||void 0!==this.rel&&null!==this.rel?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("rel","undefined or null"):new E("href","undefined or null")}}L.prototype.href=void 0,L.prototype.rel=void 0,L.prototype.$reserved=void 0,L.prototype.$objectType=void 0,L.prototype.$unknownFields=void 0;var V,G=new WeakSet;class W{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=G),t.add(e),this.$objectType="common.v1.response.ApiResponseMetadata",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new W,e.hasOwnProperty("flags")&&null!==e.flags&&void 0!==e.flags){for(r=[],i=e.flags,s=0;s<i.length;s++)o=O.constructFromObject(i[s],void 0),r.push(o);t.setFlags(r)}if(e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(r=[],i=e.links,s=0;s<i.length;s++)o=L.constructFromObject(i[s],void 0),r.push(o);t.setLinks(r)}if(e.hasOwnProperty("totalAvailableResults")&&null!==e.totalAvailableResults&&void 0!==e.totalAvailableResults&&t.setTotalAvailableResults(e.totalAvailableResults),e.hasOwnProperty("messages")&&null!==e.messages&&void 0!==e.messages){for(r=[],i=e.messages,s=0;s<i.length;s++)o=J.constructFromObject(i[s],void 0),r.push(o);t.setMessages(r)}if(e.hasOwnProperty("extraInfo")&&null!==e.extraInfo&&void 0!==e.extraInfo){for(r=[],i=e.extraInfo,s=0;s<i.length;s++)o=S.constructFromObject(i[s],void 0),r.push(o);t.setExtraInfo(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getFlags(){return this.flags}setFlags(e){this.flags=e}getLinks(){return this.links}setLinks(e){this.links=e}getTotalAvailableResults(){return this.totalAvailableResults}setTotalAvailableResults(e){this.totalAvailableResults=e}getMessages(){return this.messages}setMessages(e){this.messages=e}getExtraInfo(){return this.extraInfo}setExtraInfo(e){this.extraInfo=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getFlags()&&null!==this.getFlags()?{flags:this.getFlags().map(e=>e.toJson(!1))}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTotalAvailableResults()&&null!==this.getTotalAvailableResults()?{totalAvailableResults:this.getTotalAvailableResults()}:{},...void 0!==this.getMessages()&&null!==this.getMessages()?{messages:this.getMessages().map(e=>e.toJson(!1))}:{},...void 0!==this.getExtraInfo()&&null!==this.getExtraInfo()?{extraInfo:this.getExtraInfo().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("flags"===t){if(void 0===this.flags||null===this.flags)return new E("flags","undefined or null");if(!F.validateMaxItems(this.flags,20))return new E("flags","does not satisfy required maxItems constraint: 20")}if("links"===t){if(void 0===this.links||null===this.links)return new E("links","undefined or null");if(!F.validateMaxItems(this.links,20))return new E("links","does not satisfy required maxItems constraint: 20")}if("totalAvailableResults"===t&&(void 0===this.totalAvailableResults||null===this.totalAvailableResults))return new E("totalAvailableResults","undefined or null");if("messages"===t){if(void 0===this.messages||null===this.messages)return new E("messages","undefined or null");if(!F.validateMaxItems(this.messages,20))return new E("messages","does not satisfy required maxItems constraint: 20")}if("extraInfo"===t){if(void 0===this.extraInfo||null===this.extraInfo)return new E("extraInfo","undefined or null");if(!F.validateMaxItems(this.extraInfo,20))return new E("extraInfo","does not satisfy required maxItems constraint: 20")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}function B(e,t,n){q(e,t),t.set(e,n)}function q(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function z(e,t){return e.get(Y(e,t))}function K(e,t,n){return e.set(Y(e,t),n),n}function Y(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}W.prototype.flags=void 0,W.prototype.links=void 0,W.prototype.totalAvailableResults=void 0,W.prototype.messages=void 0,W.prototype.extraInfo=void 0,W.prototype.$reserved=void 0,W.prototype.$objectType=void 0,W.prototype.$unknownFields=void 0,v()(o());var H=new WeakMap,X=new WeakMap,Z=new WeakMap,Q=new WeakMap,ee=new WeakMap,te=new WeakMap,ne=new WeakMap,ie=new WeakMap,oe=new WeakMap,se=new WeakMap,re=new WeakMap,ae=new WeakSet;class le{constructor(){var e;q(this,e=ae),e.add(this),B(this,H,void 0),B(this,X,void 0),B(this,Z,void 0),B(this,Q,void 0),B(this,ee,void 0),B(this,te,void 0),B(this,ne,void 0),B(this,ie,void 0),B(this,oe,void 0),B(this,se,void 0),B(this,re,void 0),K(re,this,Object.freeze({DEBUG:{key:"DEBUG",value:Symbol(0)},INFO:{key:"INFO",value:Symbol(1)},WARN:{key:"WARN",value:Symbol(2)},ERROR:{key:"ERROR",value:Symbol(3)}})),this.scheme="https",K(ie,this,"undefined"==typeof self?"localhost":self.location.hostname),this.port="undefined"==typeof self?"9440":self.location.port,this.authentications={apiKeyAuthScheme:{type:"apiKey",in:"header",name:"X-ntnx-api-key"},basicAuthScheme:{type:"basic"}},this.defaultHeaders={},K(ee,this,3e4),K(te,this,3e4),K(ne,this,108e5),this.readTimeout=z(te,this),this.connectTimeout=z(ee,this),this.cache=!0,K(X,this,null),this.maxRedirects=1,this.maxRetryAttempts=5,this.retryInterval=3e3,this.withCredentials=!1,"undefined"==typeof self&&(this.agent=new(o().agent)),this.requestAgent=null,K(se,this,null),this.allowVersionNegotiation=!0,K(oe,this,!1),this.debug=!1,K(Z,this,null),this.username=null,this.password=null,K(Q,this,!0),this.downloadDestination=null,this.loggerFile=null}set verifySsl(e){this.requestAgent=e?null:new(g().Agent)({rejectUnauthorized:e}),K(Q,this,e)}get verifySsl(){return z(Q,this)}set host(e){K(ie,this,e),K(oe,this,!1),K(se,this,null)}get host(){return z(ie,this)}set loggerFile(e){null!=e&&(("string"==typeof e||e instanceof String)&&(e=$().createWriteStream(e,{flags:"a"})),K(Z,this,new console.Console({stdout:e,stderr:e})))}addDefaultHeader(e,t){"Authorization"===e&&K(X,this,null),this.defaultHeaders[e]=t}paramToString(e){return null==e||null==e?"":e instanceof Date?e.toJSON():e.toString()}buildUrl(e,t){if(e.match(/^\//)||(e="/"+e),void 0!==z(se,this)&&null!==z(se,this)&&null!==z(se,this).match(/v\d+\.\d+(\.[a|b]\d+)?/)&&"v4.3"!==z(se,this)){Y(ae,this,be).call(this,z(re,this).INFO,null,"Changing uri",e,"to negotiated version",z(se,this));var n=new RegExp("(?<=/[-\\w]+/)v\\d+\\.\\d+(\\.[a|b]\\d+)?(?=/.*)","i");e=e.replace(n,z(se,this))}K(H,this,"undefined"==typeof self?this.scheme+":":self.location.protocol);let i="";""!==z(H,this)&&""!==this.host&&""!==this.port?i=z(H,this)+"//"+this.host+":"+this.port:"undefined"!=typeof self&&(i=self.origin);var o=i+e;return o.replace(/\{([\w-]+)\}/g,(e,n)=>{var i;return i=t.hasOwnProperty(n)?this.paramToString(t[n]):e,encodeURIComponent(i)})}buildCollectionParam(e,t){if(null==e)return null;switch(t){case"csv":return e.map(this.paramToString).join(",");case"ssv":return e.map(this.paramToString).join(" ");case"tsv":return e.map(this.paramToString).join("\t");case"pipes":return e.map(this.paramToString).join("|");case"multi":return e.map(this.paramToString);default:throw new Error("Unknown collection format: "+t)}}setApiKey(e){this.authentications.apiKeyAuthScheme.apiKey=null==e||"string"==typeof e||e instanceof String?e:void 0}addEtagToReservedMap(e,t){if(e.hasOwnProperty("headers")&&e.headers.hasOwnProperty("etag")){let i=e.headers.etag;if(void 0!==t.getData())if(Array.isArray(t.getData())&&t.getData().length>0)for(var n of t.getData())n.hasOwnProperty("$reserved")&&void 0!==n.get$Reserved()&&(n.get$Reserved().ETag=i);else t.getData().hasOwnProperty("$reserved")&&void 0!==t.getData().get$Reserved()&&(t.getData().get$Reserved().ETag=i)}return t}static getEtag(e){let t=null;return void 0!==e&&(e.hasOwnProperty("$reserved")&&void 0!==e.get$Reserved()&&(t=this.getValueForCaseInsensitiveKeyMatch(e.get$Reserved(),"ETag")),null==t&&e.hasOwnProperty("data")&&e.getData().hasOwnProperty("$reserved")&&void 0!==e.getData().get$Reserved()&&(t=this.getValueForCaseInsensitiveKeyMatch(e.getData().get$Reserved(),"ETag"))),t}static getValueForCaseInsensitiveKeyMatch(e,t){if(e&&t){const n=t.toLowerCase(),i=Object.keys(e).find(e=>e.toLowerCase()===n);return i?e[i]:null}return null}getNegotiatedVersion(){return z(se,this)}negotiateVersion(e,t){return new Promise(n=>{!0===this.allowVersionNegotiation&&!1===z(oe,this)?this.callApiInternal("/api/dataprotection/unversioned/info","OPTIONS",{},{},{},{},null,t,[],["application/json"],Object).then(({data:t,response:i})=>{if(200===i.status&&t.hasOwnProperty("data")&&null!==t.data){const i=t.data,o="v4.2";if(Y(ae,this,$e).call(this,Y(ae,this,we).call(this,i),Y(ae,this,we).call(this,o)))return Y(ae,this,be).call(this,z(re,this).WARN,null,"Server version",i,"is below minimum supported version",o,". Version negotiation will not be performed."),K(se,this,null),K(oe,this,!1),void n(e);K(se,this,Y(ae,this,fe).call(this,"v4.3",i)),K(oe,this,!0),Y(ae,this,be).call(this,z(re,this).INFO,null,"Negotiated Version with server :",z(se,this)),n(e)}else Y(ae,this,be).call(this,z(re,this).ERROR,null,"Could not fetch supported versions from server"),K(se,this,null),K(oe,this,!1),n(e)}).catch(t=>{Y(ae,this,be).call(this,z(re,this).ERROR,null,"Could not fetch supported versions from server"),K(se,this,null),K(oe,this,!1),n(e)}):n(e)})}callApi(e,t,n,i,o,s,r,a,l,d,u){return this.negotiateVersion(this,a).then(function(c){return c.callApiInternal(e,t,n,i,o,s,r,a,l,d,u)})}callApiInternal(e,t,i,s,r,a,l,d,u,c,p){var v=this.buildUrl(e,i);const y="undefined"!=typeof window&&void 0!==window.document;let g=["application/octet-stream","application/pdf","application/zip"];if(c&&c.length>0&&c.some(e=>g.includes(e))&&y&&this.downloadDestination)return new Promise((e,n)=>{const i=Y(ae,this,Oe).call(this,v,t,s,r,l,d,u,c);fetch(i.url,i.options).then(t=>{if(!t.ok){const e=new Error(`HTTP error ${t.status}`);e.status=t.status,Y(ae,this,be).call(this,z(re,this).ERROR,null,"Error downloading file:",e),n(e)}if(!(this.downloadDestination instanceof WritableStream)){let e="Incompatible downloadDestination for Browser Environment, must be WritableStream";Y(ae,this,be).call(this,z(re,this).ERROR,null,e),n(e)}const i=t.body.getReader(),o=this.downloadDestination.getWriter(),s=()=>i.read().then(({done:n,value:i})=>(n&&(o.close(),Y(ae,this,be).call(this,z(re,this).INFO,null,"Finished streaming response"),e({data:{},response:t})),o.write(i).then(s)));return s()}).catch(e=>{Y(ae,this,be).call(this,z(re,this).ERROR,null,"Caught the following error :",e),n(e)})});var f=o()(t,v);if(f.oldCallback=f.callback,f.callback=function(e,t){if(t&&t.status){const e=t.status;if(e>=400&&408!==e&&429!==e&&503!==e&&504!==e&&(this._maxRetries=0),401===t.status&&this.header.Cookie&&(this.unset("Cookie"),this._maxRetries=1),429===e){let e=t.headers["retry-after"];if(e){let t=1e3*parseInt(e,10);this._retryDelays[this._retries]=t}}}this.oldCallback(e,t)},Y(ae,this,pe).call(this,f,d),"GET"===t.toUpperCase()&&!1===this.cache&&(s._=(new Date).getTime()),f.query(Y(ae,this,he).call(this,s)),f.set(this.defaultHeaders).set(Y(ae,this,he).call(this,r)),!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==r["NTNX-Request-Id"]&&void 0!==r["NTNX-Request-Id"])){let e=h();f.set(Y(ae,this,he).call(this,{"NTNX-Request-Id":e}))}y||(this.downloadDestination=".",f.set(Y(ae,this,he).call(this,{"User-Agent":"Nutanix-dataprotection-js-client/4.3.1"}))),this.requestAgent&&f.agent(this.requestAgent);var w={};w.response=Y(ae,this,me).call(this,this.connectTimeout,z(ee,this)),w.deadline=Y(ae,this,me).call(this,this.readTimeout,z(te,this)),f.timeout(w);var m=r.hasOwnProperty("Content-Type")?r["Content-Type"]:Y(ae,this,ue).call(this,u);if(m?"multipart/form-data"!=m&&f.type(m):f.header["Content-Type"]||f.type("application/json"),Y(ae,this,be).call(this,z(re,this).INFO,null,"Request URL :",t,v),Y(ae,this,be).call(this,z(re,this).DEBUG,Y(ae,this,Ee),"Request Headers :",void 0===f.header?"":f.header),"application/x-www-form-urlencoded"===m)f.send(Y(ae,this,he).call(this,a));else if("multipart/form-data"==m){var T=Y(ae,this,he).call(this,a);for(var k in T)T.hasOwnProperty(k)&&(Y(ae,this,ce).call(this,T[k])?f.attach(k,T[k]):f.field(k,T[k]))}else{if("application/octet-stream"===m&&null!=l&&"function"==typeof l.pipe){if(Y(ae,this,be).call(this,z(re,this).INFO,null,"Piping octet-stream request"),"function"==typeof l.pipe)l.pipe(f);else{let e;try{e=n(965)}catch(e){Y(ae,this,be).call(this,z(re,this).ERROR,null,"Error fetching steam/web")}l instanceof e.ReadableStream?l.pipeTo(new e.WritableStream({write(e){f.write(e)},close(){Y(ae,this,be).call(this,z(re,this).INFO,null,"READABLE STREAM CLOSED")},abort(e){Y(ae,this,be).call(this,z(re,this).ERROR,null,"READABLE STREAM ABORTED")}})):f.send(l)}return new Promise((t,n)=>{f.on("error",e=>{Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Caught the following error :",e),n(e)}).on("response",i=>{Y(ae,this,Ie).call(this,i,e,s,p,t,n)})})}["POST","PUT","PATCH"].includes(t.toUpperCase())&&l&&f.send(l)}"Blob"==typeof p?f.responseType("blob"):"String"===p&&f.responseType("string"),Y(ae,this,ke).call(this,f),Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Request Body :",void 0===f._data?"":f._data);var b=r.hasOwnProperty("Accept")&&null!=r.Accept?r.Accept:c.join(", ");return b&&f.accept(b),new Promise((n,i)=>{f.buffer(!1).redirects(0).retry(this.maxRetryAttempts,this.retryInterval,[]).withCredentials(this.withCredentials).on("error",e=>{Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Caught the following error :",e)}).end((r,a)=>{if(r)Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Caught error during the request!"),Y(ae,this,be).call(this,z(re,this).ERROR,null,r),404===r.status&&(K(oe,this,!1),K(se,this,null)),null!==r.response&&void 0!==r.response?r.data=Y(ae,this,ye).call(this,r.response,p):r.data=Y(ae,this,ve).call(this,r),i(r);else{Y(ae,this,be).call(this,z(re,this).INFO,null,"Response Status :",a.status),Y(ae,this,be).call(this,z(re,this).DEBUG,Y(ae,this,Ee),"Response Headers :",a.headers);let r="";if(a.headers.hasOwnProperty("content-type")&&(r=a.headers["content-type"]),g.includes(r)){if(!y){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",t=$().createWriteStream(e);Y(ae,this,je).call(this,a,t,e,n,i,p)}}else if(302==a.status){let e=this.downloadDestination+"/downloaded_file_"+Date.now()+".txt",s=this;Y(ae,this,be).call(this,z(re,this).INFO,null,"Redirecting to :",a.headers.location);var l=o()(t,a.headers.location);l.set(f.header),a.headers.hasOwnProperty("x-redirect-token")&&(Y(ae,this,be).call(this,z(re,this).INFO,null,"Writing X-Redirect-Token into Cookie"),l.set("Cookie",a.headers["x-redirect-token"])),this.requestAgent&&l.agent(this.requestAgent),l.redirects(0),l.withCredentials(this.withCredentials),l.buffer(!1);let r=$().createWriteStream(e);l.pipe(r),l.on("response",function(t){Y(ae,s,be).call(s,z(re,s).INFO,null,"Received response after redirection :",t.status),Y(ae,s,je).call(s,t,r,e,n,i,p)})}else Y(ae,this,Ie).call(this,a,e,s,p,n,i)}})})}static addEtagReferenceToHeader(e,t){if(null!=e&&e.hasOwnProperty("$reserved")&&e.$reserved.hasOwnProperty("ETag")){let n=e.$reserved.ETag;null!=n&&""!==n&&(t["If-Match"]=n)}}static parseDate(e){return new Date(e)}static parseQueryParam(e,t,n,i){let o=null;if(void 0!==t&&t.hasOwnProperty(n)&&(o=t[n]),null===o&&("string"==typeof e||e instanceof String)){const t=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),i=e.match(new RegExp(`${t}=([0-9]+)`));i&&(o=i[1])}return null===o&&(o=i),o}static convertToType(e,t){if(null==e)return e;switch(t){case"Boolean":return Boolean(e);case"Integer":return parseInt(e,10);case"Number":return parseFloat(e);case"String":return String(e);case"Date":return le.parseDate(String(e));case"Blob":return e;default:if(t===Object)return e;if("function"==typeof t)return t.constructFromObject(e);if(Array.isArray(t)){var n=t[0];return e.map(e=>le.convertToType(e,n))}if("object"==typeof t){var i,o;for(var s in t)if(t.hasOwnProperty(s)){i=s,o=t[s];break}var r={};for(var s in e)if(e.hasOwnProperty(s)){var a=le.convertToType(s,i),l=le.convertToType(e[s],o);r[a]=l}return r}return e}}static constructFromObject(e,t,n){if(Array.isArray(e))for(var i=0;i<e.length;i++)e.hasOwnProperty(i)&&(t[i]=le.convertToType(e[i],n));else for(var o in e)e.hasOwnProperty(o)&&(t[o]=le.convertToType(e[o],n))}}function de(e){return Boolean(null!=e&&e.match(/^application\/json(;.*)?$/i))}function ue(e){for(var t=0;t<e.length;t++)if(Y(ae,this,de).call(this,e[t]))return e[t];return e[0]}function ce(e){{let t;try{t=n(799)}catch(e){}if(t&&t.ReadStream&&e instanceof t.ReadStream)return!0}return"function"==typeof Buffer&&e instanceof Buffer||"function"==typeof T.Blob&&e instanceof T.Blob||"function"==typeof File&&e instanceof File}function he(e){var t={};for(var n in e)if(e.hasOwnProperty(n)&&null!=e[n]&&null!=e[n]){var i=e[n];Y(ae,this,ce).call(this,i)||Array.isArray(i)?t[n]=i:t[n]=this.paramToString(i)}return t}function pe(e,t){t.forEach(t=>{var n=this.authentications[t];switch(n.type){case"basic":n.username||n.password?e.auth(n.username||"",n.password||""):(this.username||this.password)&&e.auth(this.username||"",this.password||""),Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Basic Auth applied to request");break;case"apiKey":if(n.apiKey){var i={};n.apiKeyPrefix?i[n.name]=n.apiKeyPrefix+" "+n.apiKey:i[n.name]=n.apiKey,"header"===n.in?e.set(i):e.query(i)}Y(ae,this,be).call(this,z(re,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":n.accessToken&&e.set({Authorization:"Bearer "+n.accessToken}),Y(ae,this,be).call(this,z(re,this).DEBUG,null,"oauth2 applied to request");break;default:throw Y(ae,this,be).call(this,z(re,this).ERROR,null,"Unknown authentication type:",n.type),new Error("Unknown authentication type: "+n.type)}})}function ve(e){var t={data:{},metadata:{}};t.data.status=e.status,t.data.message=e.message}function ye(e,t){if(null==e||null==t||204==e.status)return null;if(e.headers&&["text/event-stream","text/html","text/xml","text/csv","text/javascript","text/markdown","text/vcard"].includes(e.headers["content-type"])){(n=new t).data=new T.Blob([e.text],{type:e.headers["content-type"]});let i=new O;i.name="hasError",i.value=!1;let o=[i],s=new W;return s.flags=o,n.metadata=s,n}var n;return(null==(n=e.body)||"object"==typeof n&&void 0===n.length&&!Object.keys(n).length)&&(n=e.text),V.convertToType(n,t)}function ge(e,t,n){if(!(e instanceof s))return;const i=parseInt(this.constructor.parseQueryParam(t,n,"$page","0"),10),o=parseInt(this.constructor.parseQueryParam(t,n,"$limit","50"),10);e.populatePaginationMetadata(this,i,o)}function fe(e,t){if(!e||!t)return e;let n=Y(ae,this,we).call(this,e),i=Y(ae,this,we).call(this,t);return!n.family===i.family||Y(ae,this,$e).call(this,n,i)?e:t}function $e(e,t){if(parseInt(e.revision)!=parseInt(t.revision))return parseInt(e.revision)<parseInt(t.revision);if("released"===e.versionType)return!1;let n=e.versionType.substring(0,1),i=t.versionType.substring(0,1),o=parseInt(e.versionType.substring(1)),s="released"===t.versionType?0:parseInt(t.versionType.substring(1));return n===i?o<s:"a"===n||"released"===t.versionType}function we(e){let t={};if("unversioned"===e)t.family="unversioned",t.versionType="released";else{let n=e.toString().split(".");"unversioned"===n[0]?(t.family="unversioned",t.versionType=n[1]):(t.family=n[0].substring(1),t.revision=n[1],2==n.length?t.versionType="released":t.versionType=n[2])}return t}function me(e,t){return e<=0?e=t:e>z(ne,this)&&(e=z(ne,this)),e}function Te(e){if(e.hasOwnProperty("headers")&&e.headers.hasOwnProperty("set-cookie")){let t="",n=e.headers["set-cookie"];if(n.length>0){for(let e of n)e=e.split(";")[0],e.includes("=")&&(e.trim(),t=t.concat(e).concat(";"));""!==t&&(t=t.substr(0,t.length-1))}K(X,this,t),Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Retained cookie :",t)}else K(X,this,null)}function ke(e){null!=z(X,this)&&e.set(Y(ae,this,he).call(this,{Cookie:z(X,this)}))}function be(e,t,...n){if("object"==typeof e&&"key"in e&&"value"in e&&"symbol"==typeof e.value||(e=z(re,this).INFO),!Y(ae,this,Fe).call(this,e)){n=n.map(e=>"string"==typeof e?e:t?t(e):JSON.stringify(e));let i=n.join(" ");i=(new Date).toISOString()+" "+e.key+" - "+i,void 0!==z(Z,this)&&null!==z(Z,this)&&"function"==typeof z(Z,this).log?z(Z,this).log(i):console.log(i)}}function Fe(e){return!this.debug&&e===z(re,this).DEBUG}function Ee(e){if("object"!=typeof e)return e;let t="\n";return e&&Object.keys(e).forEach(n=>{t+=n+"=["+e[n]+"]\n"}),"\n"===t?e:t}function Ie(e,t,n,i,o,s){try{var r=Y(ae,this,ye).call(this,e,i);Y(ae,this,be).call(this,z(re,this).INFO,null,"Response Status :",e.status),Y(ae,this,be).call(this,z(re,this).DEBUG,Y(ae,this,Ee),"Response Headers :",e.headers),Y(ae,this,Te).call(this,e||{}),Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Response Body :",r),204==e.status&&null==r?o({data:r,response:e}):e.ok&&null!=r?(this.addEtagToReservedMap(e,r),Y(ae,this,ge).call(this,r,t,n),o({data:r,response:e})):(Y(ae,this,be).call(this,z(re,this).ERROR,null,r),s({...e.error,data:r}))}catch(e){Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Caught error while processing response!"),Y(ae,this,be).call(this,z(re,this).ERROR,null,e),e.data=Y(ae,this,ve).call(this,e),s(e)}}function Oe(e,t,n,i,o,s,r,a){let l={};s.forEach(e=>{const t=this.authentications[e];switch(t.type){case"basic":let e="",i="";if(t.username||t.password?(e=t.username||"",i=t.password||""):(this.username||this.password)&&(e=this.username||"",i=this.password||""),e||i){const t=btoa(`${e}:${i}`);l.Authorization=`Basic ${t}`}Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Basic Auth applied to request");break;case"apiKey":if(t.apiKey){let e="";e=t.apiKeyPrefix?t.apiKeyPrefix+" "+t.apiKey:t.apiKey,"header"===t.in?l[t.name]="Bearer "+e:"query"===t.in&&(n[t.name]=e)}Y(ae,this,be).call(this,z(re,this).DEBUG,null,"apiKey applied to request");break;case"oauth2":t.accessToken&&(l.Authorization="Bearer "+t.accessToken),Y(ae,this,be).call(this,z(re,this).DEBUG,null,"oauth2 applied to request");break;default:throw Y(ae,this,be).call(this,z(re,this).ERROR,null,"Unknown authentication type:",t.type),new Error("Unknown authentication type: "+t.type)}}),"GET"===t.toUpperCase()&&!1===this.cache&&(n.cache="false");const d=Y(ae,this,he).call(this,n),u=Object.keys(d).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(d[e])}`).join("&");let c=e;u&&(c+=(c.includes("?")?"&":"?")+u);const p={...this.defaultHeaders,...Y(ae,this,he).call(this,i),...l};if(!(null!==this.defaultHeaders["NTNX-Request-Id"]&&void 0!==this.defaultHeaders["NTNX-Request-Id"]||null!==i["NTNX-Request-Id"]&&void 0!==i["NTNX-Request-Id"])){let e=h();p["NTNX-Request-Id"]=e}null!=z(X,this)&&(p.Cookie=Y(ae,this,he).call(this,{Cookie:z(X,this)}));var v=i.hasOwnProperty("Content-Type")?i["Content-Type"]:Y(ae,this,ue).call(this,r);p["Content-Type"]=v;var y=i.hasOwnProperty("Accept")&&null!=i.Accept?i.Accept:a.join(", ");return y&&(p.Accept=y),Y(ae,this,be).call(this,z(re,this).INFO,null,"Request URL :",t,e),Y(ae,this,be).call(this,z(re,this).DEBUG,Y(ae,this,Ee),"Request Headers :",p),Y(ae,this,be).call(this,z(re,this).DEBUG,null,"Request Body :",o||""),{url:c,options:{method:t,headers:p,body:o,credentials:this.withCredentials?"include":"same-origin"}}}function je(e,t,n,i,o,s){Y(ae,this,be).call(this,z(re,this).INFO,null,"Streaming response to : ",n);try{e.on("data",e=>{t.write(e)})}catch(e){Y(ae,this,be).call(this,z(re,this).ERROR,null,"Issue while downloading file",e)}let r=new s,a="";if(void 0!==e.headers["content-disposition"]&&null!==e.headers["content-disposition"]){let t=e.headers["content-disposition"].match(/.*filename=\"(?<filename>.*)\".*/),n=m().parse(t.groups.filename);a=this.downloadDestination+"/"+n.name+"_"+Date.now()+n.ext,r.data={path:m().parse(a),$objectType:"Path"};let i=new O;i.name="hasError",i.value=!1;let o=[i],s=new W;s.flags=o,r.metadata=s}e.on("end",()=>{Y(ae,this,be).call(this,z(re,this).INFO,null,"Finished streaming response"),0!==a.length?(Y(ae,this,be).call(this,z(re,this).INFO,null,"Content-Disposition header found [",a,"] is final filename"),t.close(),$().renameSync(n,a),i({data:r,response:e})):(Y(ae,this,be).call(this,z(re,this).ERROR,null,"Content-Disposition header not found [",n,"] is final filename"),i({data:r,response:e}))}),e.on("error",e=>{Y(ae,this,be).call(this,z(re,this).ERROR,null,"Caught the following error :",e),error.data=Y(ae,this,ve).call(this,error),o(e)})}V=le,le.instance=new le;var Pe=new WeakSet;class Re{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Pe),t.add(e),this.$objectType="common.v1.config.TenantAwareModel",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Re,e.hasOwnProperty("tenantId")&&null!==e.tenantId&&void 0!==e.tenantId&&t.setTenantId(e.tenantId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTenantId(){return this.tenantId}setTenantId(e){this.tenantId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("tenantId"===t){if(void 0===this.tenantId||null===this.tenantId)return new E("tenantId","undefined or null");if(!F.validatePattern(this.tenantId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("tenantId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Re.prototype.tenantId=void 0,Re.prototype.$reserved=void 0,Re.prototype.$objectType=void 0,Re.prototype.$unknownFields=void 0;var xe=new WeakSet;class Ae extends Re{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=xe),t.add(e),this.$objectType="common.v1.response.ExternalizableAbstractModel",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Ae,Re.constructFromObject(e,t,!0),e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("links")&&null!==e.links&&void 0!==e.links){for(r=[],i=e.links,s=0;s<i.length;s++)o=L.constructFromObject(i[s],void 0),r.push(o);t.setLinks(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}getLinks(){return this.links}setLinks(e){this.links=e}toJson(e){return!1===e?{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new E("extId","undefined or null");if(null==e){if(!F.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}else if(e===b.update&&!F.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("extId","does not satisfy pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("links"===t){if(void 0===this.links||null===this.links)return new E("links","undefined or null");if(!F.validateMaxItems(this.links,20))return new E("links","does not satisfy required maxItems constraint: 20")}return new E(t,"no such property exists")}}Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;const Ce={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SUPPORTS_NEAR_SYNC:"SUPPORTS_NEAR_SYNC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ce).find(t=>Ce[t]===e);return null==t?Ce.$UNKNOWN:Ce[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ce.$UNKNOWN:case Ce.$REDACTED:case Ce.SUPPORTS_NEAR_SYNC:return;default:throw new Error("Invalid : must be DataProtectionCapabilityName.{ $UNKNOWN|$REDACTED|SUPPORTS_NEAR_SYNC }")}}};Object.freeze(Ce);const Se=Ce;var Ne=new WeakSet;class De{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Ne),i.add(n),this.capabilityName=e,this.isSupported=t,this.$objectType="dataprotection.v4.config.Capability",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new De,e.hasOwnProperty("capabilityName")&&null!==e.capabilityName&&void 0!==e.capabilityName&&t.setCapabilityName(Se.constructFromObject(e.capabilityName)),e.hasOwnProperty("isSupported")&&null!==e.isSupported&&void 0!==e.isSupported&&t.setIsSupported(e.isSupported),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getCapabilityName(){return this.capabilityName}setCapabilityName(e){this.capabilityName=e}getIsSupported(){return this.isSupported}setIsSupported(e){this.isSupported=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getCapabilityName()&&null!==this.getCapabilityName()?{capabilityName:this.getCapabilityName()}:{},...void 0!==this.getIsSupported()&&null!==this.getIsSupported()?{isSupported:this.getIsSupported()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["capabilityName","isSupported"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"capabilityName"!==t||void 0!==this.capabilityName&&null!==this.capabilityName?"isSupported"!==t||void 0!==this.isSupported&&null!==this.isSupported?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("isSupported","undefined or null"):new E("capabilityName","undefined or null")}}De.prototype.capabilityName=void 0,De.prototype.isSupported=void 0,De.prototype.$reserved=void 0,De.prototype.$objectType=void 0,De.prototype.$unknownFields=void 0;var Ue=new WeakSet;class Me extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ue),t.add(e),this.$objectType="dataprotection.v4.config.DataProtectionClusterCapability",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Me,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("capabilities")&&null!==e.capabilities&&void 0!==e.capabilities){for(r=[],i=e.capabilities,s=0;s<i.length;s++)o=De.constructFromObject(i[s],void 0),r.push(o);t.setCapabilities(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getCapabilities(){return this.capabilities}setCapabilities(e){this.capabilities=e}toJson(e){return!1===e?{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getCapabilities()&&null!==this.getCapabilities()?{capabilities:this.getCapabilities().map(e=>e.toJson(!1))}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new E("clusterExtId","undefined or null");if(!F.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("capabilities"===t){if(void 0===this.capabilities||null===this.capabilities)return new E("capabilities","undefined or null");if(!F.validateMaxItems(this.capabilities,10))return new E("capabilities","does not satisfy required maxItems constraint: 10")}return new E(t,"no such property exists")}}Me.prototype.clusterExtId=void 0,Me.prototype.capabilities=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;class Je extends Me{constructor(){super(),this.$objectType="dataprotection.v4.config.DataProtectionClusterCapabilityProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Je,Me.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}function _e(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Le=new WeakSet;class Ve{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Le),t.add(e),this.$objectType="dataprotection.v4.error.AppMessage",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ve,e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("severity")&&null!==e.severity&&void 0!==e.severity&&t.setSeverity(U.constructFromObject(e.severity)),e.hasOwnProperty("code")&&null!==e.code&&void 0!==e.code&&t.setCode(e.code),e.hasOwnProperty("locale")&&null!==e.locale&&void 0!==e.locale&&t.setLocale(e.locale),e.hasOwnProperty("errorGroup")&&null!==e.errorGroup&&void 0!==e.errorGroup&&t.setErrorGroup(e.errorGroup),e.hasOwnProperty("argumentsMap")&&null!==e.argumentsMap&&void 0!==e.argumentsMap&&t.setArgumentsMap(e.argumentsMap),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMessage(){return this.message}setMessage(e){this.message=e}getSeverity(){return this.severity}setSeverity(e){this.severity=e}getCode(){return this.code}setCode(e){this.code=e}getLocale(){return this.locale}setLocale(e){this.locale=e}getErrorGroup(){return this.errorGroup}setErrorGroup(e){this.errorGroup=e}getArgumentsMap(){return this.argumentsMap}setArgumentsMap(e){this.argumentsMap=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getArgumentsMap()&&null!==this.getArgumentsMap()?{argumentsMap:_e(Le,this,Ge).call(this,this.getArgumentsMap(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},...void 0!==this.getCode()&&null!==this.getCode()?{code:this.getCode()}:{},...void 0!==this.getLocale()&&null!==this.getLocale()?{locale:this.getLocale()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getArgumentsMap()&&null!==this.getArgumentsMap()?{argumentsMap:_e(Le,this,Ge).call(this,this.getArgumentsMap())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"message"!==t||void 0!==this.message&&null!==this.message?"severity"!==t||void 0!==this.severity&&null!==this.severity?"code"!==t||void 0!==this.code&&null!==this.code?"locale"!==t||void 0!==this.locale&&null!==this.locale?"errorGroup"!==t||void 0!==this.errorGroup&&null!==this.errorGroup?"argumentsMap"!==t||void 0!==this.argumentsMap&&null!==this.argumentsMap?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("argumentsMap","undefined or null"):new E("errorGroup","undefined or null"):new E("locale","undefined or null"):new E("code","undefined or null"):new E("severity","undefined or null"):new E("message","undefined or null")}}function Ge(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ve.prototype.message=void 0,Ve.prototype.severity=void 0,Ve.prototype.code=void 0,Ve.prototype.locale="en_US",Ve.prototype.errorGroup=void 0,Ve.prototype.argumentsMap=void 0,Ve.prototype.$reserved=void 0,Ve.prototype.$objectType=void 0,Ve.prototype.$unknownFields=void 0;var We=new WeakSet;class Be{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=We),t.add(e),this.$objectType="dataprotection.v4.error.SchemaValidationErrorMessage",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Be,e.hasOwnProperty("location")&&null!==e.location&&void 0!==e.location&&t.setLocation(e.location),e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("attributePath")&&null!==e.attributePath&&void 0!==e.attributePath&&t.setAttributePath(e.attributePath),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLocation(){return this.location}setLocation(e){this.location=e}getMessage(){return this.message}setMessage(e){this.message=e}getAttributePath(){return this.attributePath}setAttributePath(e){this.attributePath=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getLocation()&&null!==this.getLocation()?{location:this.getLocation()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getAttributePath()&&null!==this.getAttributePath()?{attributePath:this.getAttributePath()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"location"!==t||void 0!==this.location&&null!==this.location?"message"!==t||void 0!==this.message&&null!==this.message?"attributePath"!==t||void 0!==this.attributePath&&null!==this.attributePath?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("attributePath","undefined or null"):new E("message","undefined or null"):new E("location","undefined or null")}}function qe(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Be.prototype.location=void 0,Be.prototype.message=void 0,Be.prototype.attributePath=void 0,Be.prototype.$reserved=void 0,Be.prototype.$objectType=void 0,Be.prototype.$unknownFields=void 0;var ze=new WeakSet;class Ke{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ze),t.add(e),this.$objectType="dataprotection.v4.error.SchemaValidationError",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Ke,e.hasOwnProperty("timestamp")&&null!==e.timestamp&&void 0!==e.timestamp&&t.setTimestamp(e.timestamp),e.hasOwnProperty("statusCode")&&null!==e.statusCode&&void 0!==e.statusCode&&t.setStatusCode(e.statusCode),e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error&&t.setError(e.error),e.hasOwnProperty("path")&&null!==e.path&&void 0!==e.path&&t.setPath(e.path),e.hasOwnProperty("validationErrorMessages")&&null!==e.validationErrorMessages&&void 0!==e.validationErrorMessages){for(r=[],i=e.validationErrorMessages,s=0;s<i.length;s++)o=Be.constructFromObject(i[s],void 0),r.push(o);t.setValidationErrorMessages(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTimestamp(){return this.timestamp}setTimestamp(e){this.timestamp=e}getStatusCode(){return this.statusCode}setStatusCode(e){this.statusCode=e}getError(){return this.error}setError(e){this.error=e}getPath(){return this.path}setPath(e){this.path=e}getValidationErrorMessages(){return this.validationErrorMessages}setValidationErrorMessages(e){this.validationErrorMessages=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getTimestamp()&&null!==this.getTimestamp()?{timestamp:qe(ze,this,Ye).call(this,this.getTimestamp(),!1)}:{},...void 0!==this.getStatusCode()&&null!==this.getStatusCode()?{statusCode:this.getStatusCode()}:{},...void 0!==this.getError()&&null!==this.getError()?{error:this.getError()}:{},...void 0!==this.getPath()&&null!==this.getPath()?{path:this.getPath()}:{},...void 0!==this.getValidationErrorMessages()&&null!==this.getValidationErrorMessages()?{validationErrorMessages:this.getValidationErrorMessages().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"timestamp"!==t||void 0!==this.timestamp&&null!==this.timestamp?"statusCode"!==t||void 0!==this.statusCode&&null!==this.statusCode?"error"!==t||void 0!==this.error&&null!==this.error?"path"!==t||void 0!==this.path&&null!==this.path?"validationErrorMessages"!==t||void 0!==this.validationErrorMessages&&null!==this.validationErrorMessages?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("validationErrorMessages","undefined or null"):new E("path","undefined or null"):new E("error","undefined or null"):new E("statusCode","undefined or null"):new E("timestamp","undefined or null")}}function Ye(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function He(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ke.prototype.timestamp=void 0,Ke.prototype.statusCode=void 0,Ke.prototype.error=void 0,Ke.prototype.path=void 0,Ke.prototype.validationErrorMessages=void 0,Ke.prototype.$reserved=void 0,Ke.prototype.$objectType=void 0,Ke.prototype.$unknownFields=void 0;var Xe=new WeakSet;class Ze{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Xe),t.add(e),this.$objectType="dataprotection.v4.error.ErrorResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r,a;if(e){if(t=t||new Ze,e.hasOwnProperty("error")&&null!==e.error&&void 0!==e.error)if(Array.isArray(e.error))if(0===e.error.length)t.setError([]);else{for(r=[],i=e.error,a=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],s=0;s<i.length;s++){if("dataprotection.v4.error.AppMessage"!==a)throw"Unknown list of type "+a+" in data";o=Ve.constructFromObject(i[s],void 0),r.push(o)}t.setError(r)}else{if(a=e.error.hasOwnProperty("$objectType")?e.error.$objectType:typeof e.error,"dataprotection.v4.error.SchemaValidationError"!==a)throw"Unknown datatype "+a+" in data";t.setError(Ke.constructFromObject(e.error,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getError(){return this.error}setError(e){this.error=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getError()&&null!==this.getError()?{error:void 0!==this.getError().toJson?this.getError().toJson(!1):Array.isArray(this.getError())?this.getError().map(e=>void 0!==e.toJson?e.toJson(!1):e):He(Xe,this,Qe).call(this,this.getError(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getError()&&null!==this.getError()?{error:void 0!==this.getError().toJson?this.getError().toJson():Array.isArray(this.getError())?this.getError().map(e=>void 0!==e.toJson?e.toJson():e):He(Xe,this,Qe).call(this,this.getError())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"error"!==t||void 0!==this.error&&null!==this.error?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("error","undefined or null")}}function Qe(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function et(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ze.prototype.error=void 0,Ze.prototype.$reserved=void 0,Ze.prototype.$objectType=void 0,Ze.prototype.$unknownFields=void 0;var tt=new WeakSet;class nt extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=tt),t.add(e),this.$objectType="dataprotection.v4.config.ListDPClusterCapabilitiesApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,r,a,l;if(e){if(t=t||new nt,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"dataprotection.v4.config.DataProtectionClusterCapability":o=Me.constructFromObject(i[r],void 0),a.push(o);break;case"dataprotection.v4.config.DataProtectionClusterCapabilityProjection":o=Je.constructFromObject(i[r],void 0),a.push(o);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"dataprotection.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Ze.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):et(tt,this,it).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):et(tt,this,it).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function it(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}nt.prototype.metadata=void 0,nt.prototype.data=void 0,nt.prototype.$reserved=void 0,nt.prototype.$objectType=void 0,nt.prototype.$unknownFields=void 0;var ot=new WeakSet;class st{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=ot),n.add(t),this.domainManagerExtId=e,this.$objectType="dataprotection.v4.config.DataProtectionSiteReference",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new st,e.hasOwnProperty("domainManagerExtId")&&null!==e.domainManagerExtId&&void 0!==e.domainManagerExtId&&t.setDomainManagerExtId(e.domainManagerExtId),e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDomainManagerExtId(){return this.domainManagerExtId}setDomainManagerExtId(e){this.domainManagerExtId=e}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getDomainManagerExtId()&&null!==this.getDomainManagerExtId()?{domainManagerExtId:this.getDomainManagerExtId()}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["domainManagerExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("domainManagerExtId"===t){if(void 0===this.domainManagerExtId||null===this.domainManagerExtId)return new E("domainManagerExtId","undefined or null");if(!F.validatePattern(this.domainManagerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("domainManagerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new E("clusterExtId","undefined or null");if(!F.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}st.prototype.domainManagerExtId=void 0,st.prototype.clusterExtId=void 0,st.prototype.$reserved=void 0,st.prototype.$objectType=void 0,st.prototype.$unknownFields=void 0;const rt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VM:"VM",VOLUME_GROUP:"VOLUME_GROUP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(rt).find(t=>rt[t]===e);return null==t?rt.$UNKNOWN:rt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case rt.$UNKNOWN:case rt.$REDACTED:case rt.VM:case rt.VOLUME_GROUP:return;default:throw new Error("Invalid : must be ProtectedEntityType.{ $UNKNOWN|$REDACTED|VM|VOLUME_GROUP }")}}};Object.freeze(rt);const at=rt,lt={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",IN_SYNC:"IN_SYNC",SYNCING:"SYNCING",OUT_OF_SYNC:"OUT_OF_SYNC",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(lt).find(t=>lt[t]===e);return null==t?lt.$UNKNOWN:lt[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case lt.$UNKNOWN:case lt.$REDACTED:case lt.IN_SYNC:case lt.SYNCING:case lt.OUT_OF_SYNC:return;default:throw new Error("Invalid : must be ProtectedResourceReplicationStatus.{ $UNKNOWN|$REDACTED|IN_SYNC|SYNCING|OUT_OF_SYNC }")}}};Object.freeze(lt);const dt=lt;var ut=new WeakSet;class ct{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ut),t.add(e),this.$objectType="dataprotection.v4.config.ReplicationState",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ct,e.hasOwnProperty("protectionPolicyExtId")&&null!==e.protectionPolicyExtId&&void 0!==e.protectionPolicyExtId&&t.setProtectionPolicyExtId(e.protectionPolicyExtId),e.hasOwnProperty("recoveryPointObjectiveSeconds")&&null!==e.recoveryPointObjectiveSeconds&&void 0!==e.recoveryPointObjectiveSeconds&&t.setRecoveryPointObjectiveSeconds(e.recoveryPointObjectiveSeconds),e.hasOwnProperty("replicationStatus")&&null!==e.replicationStatus&&void 0!==e.replicationStatus&&t.setReplicationStatus(dt.constructFromObject(e.replicationStatus)),e.hasOwnProperty("targetSiteReference")&&null!==e.targetSiteReference&&void 0!==e.targetSiteReference&&t.setTargetSiteReference(st.constructFromObject(e.targetSiteReference)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getProtectionPolicyExtId(){return this.protectionPolicyExtId}setProtectionPolicyExtId(e){this.protectionPolicyExtId=e}getRecoveryPointObjectiveSeconds(){return this.recoveryPointObjectiveSeconds}setRecoveryPointObjectiveSeconds(e){this.recoveryPointObjectiveSeconds=e}getReplicationStatus(){return this.replicationStatus}setReplicationStatus(e){this.replicationStatus=e}getTargetSiteReference(){return this.targetSiteReference}setTargetSiteReference(e){this.targetSiteReference=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getProtectionPolicyExtId()&&null!==this.getProtectionPolicyExtId()?{protectionPolicyExtId:this.getProtectionPolicyExtId()}:{},...void 0!==this.getRecoveryPointObjectiveSeconds()&&null!==this.getRecoveryPointObjectiveSeconds()?{recoveryPointObjectiveSeconds:this.getRecoveryPointObjectiveSeconds()}:{},...void 0!==this.getReplicationStatus()&&null!==this.getReplicationStatus()?{replicationStatus:this.getReplicationStatus()}:{},...void 0!==this.getTargetSiteReference()&&null!==this.getTargetSiteReference()?{targetSiteReference:this.getTargetSiteReference().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("protectionPolicyExtId"===t){if(void 0===this.protectionPolicyExtId||null===this.protectionPolicyExtId)return new E("protectionPolicyExtId","undefined or null");if(!F.validatePattern(this.protectionPolicyExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("protectionPolicyExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("recoveryPointObjectiveSeconds"===t){if(void 0===this.recoveryPointObjectiveSeconds||null===this.recoveryPointObjectiveSeconds)return new E("recoveryPointObjectiveSeconds","undefined or null");if(!F.validateMaximum(this.recoveryPointObjectiveSeconds,2419200))return new E("recoveryPointObjectiveSeconds","does not satisfy required maximum constraint: 2419200");if(!F.validateMinimum(this.recoveryPointObjectiveSeconds,0))return new E("recoveryPointObjectiveSeconds","does not satisfy required minimum constraint: 0")}return"replicationStatus"!==t||void 0!==this.replicationStatus&&null!==this.replicationStatus?"targetSiteReference"!==t||void 0!==this.targetSiteReference&&null!==this.targetSiteReference?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("targetSiteReference","undefined or null"):new E("replicationStatus","undefined or null")}}function ht(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ct.prototype.protectionPolicyExtId=void 0,ct.prototype.recoveryPointObjectiveSeconds=void 0,ct.prototype.replicationStatus=void 0,ct.prototype.targetSiteReference=void 0,ct.prototype.$reserved=void 0,ct.prototype.$objectType=void 0,ct.prototype.$unknownFields=void 0;var pt=new WeakSet;class vt{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=pt),t.add(e),this.$objectType="dataprotection.v4.config.RestorableTimeRange",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new vt,e.hasOwnProperty("startTime")&&null!==e.startTime&&void 0!==e.startTime&&t.setStartTime(e.startTime),e.hasOwnProperty("endTime")&&null!==e.endTime&&void 0!==e.endTime&&t.setEndTime(e.endTime),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getStartTime(){return this.startTime}setStartTime(e){this.startTime=e}getEndTime(){return this.endTime}setEndTime(e){this.endTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getStartTime()&&null!==this.getStartTime()?{startTime:ht(pt,this,yt).call(this,this.getStartTime(),!1)}:{},...void 0!==this.getEndTime()&&null!==this.getEndTime()?{endTime:ht(pt,this,yt).call(this,this.getEndTime(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"startTime"!==t||void 0!==this.startTime&&null!==this.startTime?"endTime"!==t||void 0!==this.endTime&&null!==this.endTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("endTime","undefined or null"):new E("startTime","undefined or null")}}function yt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}vt.prototype.startTime=void 0,vt.prototype.endTime=void 0,vt.prototype.$reserved=void 0,vt.prototype.$objectType=void 0,vt.prototype.$unknownFields=void 0;var gt=new WeakSet;class ft{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=gt),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryInfo",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new ft,e.hasOwnProperty("restorableTimeRanges")&&null!==e.restorableTimeRanges&&void 0!==e.restorableTimeRanges){for(r=[],i=e.restorableTimeRanges,s=0;s<i.length;s++)o=vt.constructFromObject(i[s],void 0),r.push(o);t.setRestorableTimeRanges(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRestorableTimeRanges(){return this.restorableTimeRanges}setRestorableTimeRanges(e){this.restorableTimeRanges=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRestorableTimeRanges()&&null!==this.getRestorableTimeRanges()?{restorableTimeRanges:this.getRestorableTimeRanges().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("restorableTimeRanges"===t){if(void 0===this.restorableTimeRanges||null===this.restorableTimeRanges)return new E("restorableTimeRanges","undefined or null");if(!F.validateMaxItems(this.restorableTimeRanges,30))return new E("restorableTimeRanges","does not satisfy required maxItems constraint: 30")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}ft.prototype.restorableTimeRanges=void 0,ft.prototype.$reserved=void 0,ft.prototype.$objectType=void 0,ft.prototype.$unknownFields=void 0;const $t={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRIMARY:"PRIMARY",SECONDARY:"SECONDARY",INDEPENDENT:"INDEPENDENT",DECOUPLED:"DECOUPLED",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys($t).find(t=>$t[t]===e);return null==t?$t.$UNKNOWN:$t[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case $t.$UNKNOWN:case $t.$REDACTED:case $t.PRIMARY:case $t.SECONDARY:case $t.INDEPENDENT:case $t.DECOUPLED:return;default:throw new Error("Invalid : must be SynchronousReplicationRole.{ $UNKNOWN|$REDACTED|PRIMARY|SECONDARY|INDEPENDENT|DECOUPLED }")}}};Object.freeze($t);const wt=$t;var mt=new WeakSet;class Tt{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=mt),t.add(e),this.$objectType="dataprotection.v4.config.SiteProtectionInfo",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Tt,e.hasOwnProperty("recoveryInfo")&&null!==e.recoveryInfo&&void 0!==e.recoveryInfo&&t.setRecoveryInfo(ft.constructFromObject(e.recoveryInfo)),e.hasOwnProperty("locationReference")&&null!==e.locationReference&&void 0!==e.locationReference&&t.setLocationReference(st.constructFromObject(e.locationReference)),e.hasOwnProperty("synchronousReplicationRole")&&null!==e.synchronousReplicationRole&&void 0!==e.synchronousReplicationRole&&t.setSynchronousReplicationRole(wt.constructFromObject(e.synchronousReplicationRole)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRecoveryInfo(){return this.recoveryInfo}setRecoveryInfo(e){this.recoveryInfo=e}getLocationReference(){return this.locationReference}setLocationReference(e){this.locationReference=e}getSynchronousReplicationRole(){return this.synchronousReplicationRole}setSynchronousReplicationRole(e){this.synchronousReplicationRole=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRecoveryInfo()&&null!==this.getRecoveryInfo()?{recoveryInfo:this.getRecoveryInfo().toJson(!1)}:{},...void 0!==this.getLocationReference()&&null!==this.getLocationReference()?{locationReference:this.getLocationReference().toJson(!1)}:{},...void 0!==this.getSynchronousReplicationRole()&&null!==this.getSynchronousReplicationRole()?{synchronousReplicationRole:this.getSynchronousReplicationRole()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"recoveryInfo"!==t||void 0!==this.recoveryInfo&&null!==this.recoveryInfo?"locationReference"!==t||void 0!==this.locationReference&&null!==this.locationReference?"synchronousReplicationRole"!==t||void 0!==this.synchronousReplicationRole&&null!==this.synchronousReplicationRole?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("synchronousReplicationRole","undefined or null"):new E("locationReference","undefined or null"):new E("recoveryInfo","undefined or null")}}Tt.prototype.recoveryInfo=void 0,Tt.prototype.locationReference=void 0,Tt.prototype.synchronousReplicationRole=void 0,Tt.prototype.$reserved=void 0,Tt.prototype.$objectType=void 0,Tt.prototype.$unknownFields=void 0;var kt=new WeakSet;class bt extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=kt),t.add(e),this.$objectType="dataprotection.v4.config.ProtectedResource",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new bt,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("entityExtId")&&null!==e.entityExtId&&void 0!==e.entityExtId&&t.setEntityExtId(e.entityExtId),e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(at.constructFromObject(e.entityType)),e.hasOwnProperty("sourceSiteReference")&&null!==e.sourceSiteReference&&void 0!==e.sourceSiteReference&&t.setSourceSiteReference(st.constructFromObject(e.sourceSiteReference)),e.hasOwnProperty("siteProtectionInfo")&&null!==e.siteProtectionInfo&&void 0!==e.siteProtectionInfo){for(r=[],i=e.siteProtectionInfo,s=0;s<i.length;s++)o=Tt.constructFromObject(i[s],void 0),r.push(o);t.setSiteProtectionInfo(r)}if(e.hasOwnProperty("replicationStates")&&null!==e.replicationStates&&void 0!==e.replicationStates){for(r=[],i=e.replicationStates,s=0;s<i.length;s++)o=ct.constructFromObject(i[s],void 0),r.push(o);t.setReplicationStates(r)}if(e.hasOwnProperty("consistencyGroupExtId")&&null!==e.consistencyGroupExtId&&void 0!==e.consistencyGroupExtId&&t.setConsistencyGroupExtId(e.consistencyGroupExtId),e.hasOwnProperty("categoryFqNames")&&null!==e.categoryFqNames&&void 0!==e.categoryFqNames){for(r=[],i=e.categoryFqNames,s=0;s<i.length;s++)r.push(i[s]);t.setCategoryFqNames(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntityExtId(){return this.entityExtId}setEntityExtId(e){this.entityExtId=e}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}getSourceSiteReference(){return this.sourceSiteReference}setSourceSiteReference(e){this.sourceSiteReference=e}getSiteProtectionInfo(){return this.siteProtectionInfo}setSiteProtectionInfo(e){this.siteProtectionInfo=e}getReplicationStates(){return this.replicationStates}setReplicationStates(e){this.replicationStates=e}getConsistencyGroupExtId(){return this.consistencyGroupExtId}setConsistencyGroupExtId(e){this.consistencyGroupExtId=e}getCategoryFqNames(){return this.categoryFqNames}setCategoryFqNames(e){this.categoryFqNames=e}toJson(e){return!1===e?{...void 0!==this.getEntityExtId()&&null!==this.getEntityExtId()?{entityExtId:this.getEntityExtId()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getSourceSiteReference()&&null!==this.getSourceSiteReference()?{sourceSiteReference:this.getSourceSiteReference().toJson(!1)}:{},...void 0!==this.getSiteProtectionInfo()&&null!==this.getSiteProtectionInfo()?{siteProtectionInfo:this.getSiteProtectionInfo().map(e=>e.toJson(!1))}:{},...void 0!==this.getReplicationStates()&&null!==this.getReplicationStates()?{replicationStates:this.getReplicationStates().map(e=>e.toJson(!1))}:{},...void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{},...void 0!==this.getCategoryFqNames()&&null!==this.getCategoryFqNames()?{categoryFqNames:this.getCategoryFqNames()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getEntityExtId()&&null!==this.getEntityExtId()?{entityExtId:this.getEntityExtId()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},...void 0!==this.getSourceSiteReference()&&null!==this.getSourceSiteReference()?{sourceSiteReference:this.getSourceSiteReference().toJson(!1)}:{},...void 0!==this.getSiteProtectionInfo()&&null!==this.getSiteProtectionInfo()?{siteProtectionInfo:this.getSiteProtectionInfo().map(e=>e.toJson(!1))}:{},...void 0!==this.getReplicationStates()&&null!==this.getReplicationStates()?{replicationStates:this.getReplicationStates().map(e=>e.toJson(!1))}:{},...void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{},...void 0!==this.getCategoryFqNames()&&null!==this.getCategoryFqNames()?{categoryFqNames:this.getCategoryFqNames()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("entityExtId"===t){if(void 0===this.entityExtId||null===this.entityExtId)return new E("entityExtId","undefined or null");if(!F.validatePattern(this.entityExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("entityExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("entityType"===t&&(void 0===this.entityType||null===this.entityType))return new E("entityType","undefined or null");if("sourceSiteReference"===t&&(void 0===this.sourceSiteReference||null===this.sourceSiteReference))return new E("sourceSiteReference","undefined or null");if("siteProtectionInfo"===t){if(void 0===this.siteProtectionInfo||null===this.siteProtectionInfo)return new E("siteProtectionInfo","undefined or null");if(!F.validateMaxItems(this.siteProtectionInfo,20))return new E("siteProtectionInfo","does not satisfy required maxItems constraint: 20")}if("replicationStates"===t){if(void 0===this.replicationStates||null===this.replicationStates)return new E("replicationStates","undefined or null");if(!F.validateMaxItems(this.replicationStates,20))return new E("replicationStates","does not satisfy required maxItems constraint: 20")}if("consistencyGroupExtId"===t){if(void 0===this.consistencyGroupExtId||null===this.consistencyGroupExtId)return new E("consistencyGroupExtId","undefined or null");if(!F.validatePattern(this.consistencyGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("consistencyGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("categoryFqNames"===t){if(void 0===this.categoryFqNames||null===this.categoryFqNames)return new E("categoryFqNames","undefined or null");if(!F.validateMaxItems(this.categoryFqNames,1200))return new E("categoryFqNames","does not satisfy required maxItems constraint: 1200")}return new E(t,"no such property exists")}}function Ft(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}bt.prototype.entityExtId=void 0,bt.prototype.entityType=void 0,bt.prototype.sourceSiteReference=void 0,bt.prototype.siteProtectionInfo=void 0,bt.prototype.replicationStates=void 0,bt.prototype.consistencyGroupExtId=void 0,bt.prototype.categoryFqNames=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var Et=new WeakSet;class It extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Et),t.add(e),this.$objectType="dataprotection.v4.config.GetProtectedResourceApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new It,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"dataprotection.v4.config.ProtectedResource":t.setData(bt.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ft(Et,this,Ot).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Ft(Et,this,Ot).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Ot(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}It.prototype.metadata=void 0,It.prototype.data=void 0,It.prototype.$reserved=void 0,It.prototype.$objectType=void 0,It.prototype.$unknownFields=void 0;var jt=new WeakSet;class Pt{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=jt),t.add(e),this.$objectType="prism.v4.config.TaskReference",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Pt,e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new E("extId","undefined or null");if(!F.validatePattern(this.extId,/^[a-zA-Z0-9\/+]*={0,2}:[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/))return new E("extId","does not satisfy required pattern: /^[a-zA-Z0-9/+]*={0,2}:[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}function Rt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Pt.prototype.extId=void 0,Pt.prototype.$reserved=void 0,Pt.prototype.$objectType=void 0,Pt.prototype.$unknownFields=void 0;var xt=new WeakSet;class At extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=xt),t.add(e),this.$objectType="dataprotection.v4.config.ProtectedResourceRestoreApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new At,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(Pt.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Rt(xt,this,Ct).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Rt(xt,this,Ct).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Ct(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function St(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}At.prototype.metadata=void 0,At.prototype.data=void 0,At.prototype.$reserved=void 0,At.prototype.$objectType=void 0,At.prototype.$unknownFields=void 0;var Nt=new WeakSet;class Dt extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Nt),t.add(e),this.$objectType="dataprotection.v4.config.ProtectedResourcePromoteApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Dt,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(Pt.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):St(Nt,this,Ut).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):St(Nt,this,Ut).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Ut(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Mt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Dt.prototype.metadata=void 0,Dt.prototype.data=void 0,Dt.prototype.$reserved=void 0,Dt.prototype.$objectType=void 0,Dt.prototype.$unknownFields=void 0;var Jt=new WeakSet;class _t{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Jt),n.add(t),this.clusterExtId=e,this.$objectType="dataprotection.v4.config.ProtectedResourceRestoreSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _t,e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("restoreTime")&&null!==e.restoreTime&&void 0!==e.restoreTime&&t.setRestoreTime(e.restoreTime),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getRestoreTime(){return this.restoreTime}setRestoreTime(e){this.restoreTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getRestoreTime()&&null!==this.getRestoreTime()?{restoreTime:Mt(Jt,this,Lt).call(this,this.getRestoreTime(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["clusterExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new E("clusterExtId","undefined or null");if(!F.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"restoreTime"!==t||void 0!==this.restoreTime&&null!==this.restoreTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("restoreTime","undefined or null")}}function Lt(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Vt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}_t.prototype.clusterExtId=void 0,_t.prototype.restoreTime=void 0,_t.prototype.$reserved=void 0,_t.prototype.$objectType=void 0,_t.prototype.$unknownFields=void 0;var Gt=new WeakSet;class Wt extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Gt),t.add(e),this.$objectType="dataprotection.v4.operations.UnplannedFailoverRecoveryPlanApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Wt,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(Pt.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Vt(Gt,this,Bt).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Vt(Gt,this,Bt).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Bt(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Wt.prototype.metadata=void 0,Wt.prototype.data=void 0,Wt.prototype.$reserved=void 0,Wt.prototype.$objectType=void 0,Wt.prototype.$unknownFields=void 0;var qt=new WeakSet;class zt{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=qt),n.add(t),this.extId=e,this.$objectType="dataprotection.v4.config.EntityReference",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new zt,e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["extId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new E("extId","undefined or null");if(!F.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}zt.prototype.extId=void 0,zt.prototype.$reserved=void 0,zt.prototype.$objectType=void 0,zt.prototype.$unknownFields=void 0;var Kt=new WeakSet;class Yt{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Kt),i.add(n),this.sourceDomainManagerExtId=e,this.targetDomainManagerExtId=t,this.$objectType="dataprotection.v4.config.FailoverDirection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Yt,e.hasOwnProperty("sourceDomainManagerExtId")&&null!==e.sourceDomainManagerExtId&&void 0!==e.sourceDomainManagerExtId&&t.setSourceDomainManagerExtId(e.sourceDomainManagerExtId),e.hasOwnProperty("sourceCluster")&&null!==e.sourceCluster&&void 0!==e.sourceCluster&&t.setSourceCluster(zt.constructFromObject(e.sourceCluster)),e.hasOwnProperty("targetDomainManagerExtId")&&null!==e.targetDomainManagerExtId&&void 0!==e.targetDomainManagerExtId&&t.setTargetDomainManagerExtId(e.targetDomainManagerExtId),e.hasOwnProperty("targetCluster")&&null!==e.targetCluster&&void 0!==e.targetCluster&&t.setTargetCluster(zt.constructFromObject(e.targetCluster)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSourceDomainManagerExtId(){return this.sourceDomainManagerExtId}setSourceDomainManagerExtId(e){this.sourceDomainManagerExtId=e}getSourceCluster(){return this.sourceCluster}setSourceCluster(e){this.sourceCluster=e}getTargetDomainManagerExtId(){return this.targetDomainManagerExtId}setTargetDomainManagerExtId(e){this.targetDomainManagerExtId=e}getTargetCluster(){return this.targetCluster}setTargetCluster(e){this.targetCluster=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getSourceDomainManagerExtId()&&null!==this.getSourceDomainManagerExtId()?{sourceDomainManagerExtId:this.getSourceDomainManagerExtId()}:{},...void 0!==this.getSourceCluster()&&null!==this.getSourceCluster()?{sourceCluster:this.getSourceCluster().toJson(!1)}:{},...void 0!==this.getTargetDomainManagerExtId()&&null!==this.getTargetDomainManagerExtId()?{targetDomainManagerExtId:this.getTargetDomainManagerExtId()}:{},...void 0!==this.getTargetCluster()&&null!==this.getTargetCluster()?{targetCluster:this.getTargetCluster().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["sourceDomainManagerExtId","targetDomainManagerExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("sourceDomainManagerExtId"===t){if(void 0===this.sourceDomainManagerExtId||null===this.sourceDomainManagerExtId)return new E("sourceDomainManagerExtId","undefined or null");if(!F.validatePattern(this.sourceDomainManagerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("sourceDomainManagerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("sourceCluster"===t&&(void 0===this.sourceCluster||null===this.sourceCluster))return new E("sourceCluster","undefined or null");if("targetDomainManagerExtId"===t){if(void 0===this.targetDomainManagerExtId||null===this.targetDomainManagerExtId)return new E("targetDomainManagerExtId","undefined or null");if(!F.validatePattern(this.targetDomainManagerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("targetDomainManagerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"targetCluster"!==t||void 0!==this.targetCluster&&null!==this.targetCluster?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("targetCluster","undefined or null")}}Yt.prototype.sourceDomainManagerExtId=void 0,Yt.prototype.sourceCluster=void 0,Yt.prototype.targetDomainManagerExtId=void 0,Yt.prototype.targetCluster=void 0,Yt.prototype.$reserved=void 0,Yt.prototype.$objectType=void 0,Yt.prototype.$unknownFields=void 0;var Ht=new WeakSet;class Xt{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Ht),i.add(n),this.name=e,this.failoverDirections=t,this.$objectType="dataprotection.v4.operations.BaseRecoveryPlanActionSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Xt,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("failoverDirections")&&null!==e.failoverDirections&&void 0!==e.failoverDirections){for(r=[],i=e.failoverDirections,s=0;s<i.length;s++)o=Yt.constructFromObject(i[s],void 0),r.push(o);t.setFailoverDirections(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getFailoverDirections(){return this.failoverDirections}setFailoverDirections(e){this.failoverDirections=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getFailoverDirections()&&null!==this.getFailoverDirections()?{failoverDirections:this.getFailoverDirections().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["name","failoverDirections"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}if("failoverDirections"===t){if(void 0===this.failoverDirections||null===this.failoverDirections)return new E("failoverDirections","undefined or null");if(!F.validateMaxItems(this.failoverDirections,50))return new E("failoverDirections","does not satisfy required maxItems constraint: 50");if(!F.validateMinItems(this.failoverDirections,1))return new E("failoverDirections","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Xt.prototype.name=void 0,Xt.prototype.failoverDirections=void 0,Xt.prototype.$reserved=void 0,Xt.prototype.$objectType=void 0,Xt.prototype.$unknownFields=void 0;var Zt=new WeakSet;class Qt extends Xt{constructor(e,t){var n,i;super(e,t),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=Zt),i.add(n),this.$objectType="dataprotection.v4.operations.PlannedFailoverSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Qt,Xt.constructFromObject(e,t,!0),e.hasOwnProperty("shouldIgnoreWarnings")&&null!==e.shouldIgnoreWarnings&&void 0!==e.shouldIgnoreWarnings&&t.setShouldIgnoreWarnings(e.shouldIgnoreWarnings),e.hasOwnProperty("shouldLiveMigrateVMs")&&null!==e.shouldLiveMigrateVMs&&void 0!==e.shouldLiveMigrateVMs&&t.setShouldLiveMigrateVMs(e.shouldLiveMigrateVMs),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getShouldIgnoreWarnings(){return this.shouldIgnoreWarnings}setShouldIgnoreWarnings(e){this.shouldIgnoreWarnings=e}getShouldLiveMigrateVMs(){return this.shouldLiveMigrateVMs}setShouldLiveMigrateVMs(e){this.shouldLiveMigrateVMs=e}toJson(e){return{...void 0!==this.getShouldIgnoreWarnings()&&null!==this.getShouldIgnoreWarnings()?{shouldIgnoreWarnings:this.getShouldIgnoreWarnings()}:{},...void 0!==this.getShouldLiveMigrateVMs()&&null!==this.getShouldLiveMigrateVMs()?{shouldLiveMigrateVMs:this.getShouldLiveMigrateVMs()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getFailoverDirections()&&null!==this.getFailoverDirections()?{failoverDirections:this.getFailoverDirections().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["name","failoverDirections"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"shouldIgnoreWarnings"!==t||void 0!==this.shouldIgnoreWarnings&&null!==this.shouldIgnoreWarnings?"shouldLiveMigrateVMs"!==t||void 0!==this.shouldLiveMigrateVMs&&null!==this.shouldLiveMigrateVMs?new E(t,"no such property exists"):new E("shouldLiveMigrateVMs","undefined or null"):new E("shouldIgnoreWarnings","undefined or null")}}Qt.prototype.shouldIgnoreWarnings=!1,Qt.prototype.shouldLiveMigrateVMs=!1,Xt.prototype.name=void 0,Xt.prototype.failoverDirections=void 0;var en=new WeakSet;class tn extends Xt{constructor(e,t){var n,i;super(e,t),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=en),i.add(n),this.$objectType="dataprotection.v4.operations.TestFailoverSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new tn,Xt.constructFromObject(e,t,!0),e.hasOwnProperty("shouldIgnoreWarnings")&&null!==e.shouldIgnoreWarnings&&void 0!==e.shouldIgnoreWarnings&&t.setShouldIgnoreWarnings(e.shouldIgnoreWarnings),e.hasOwnProperty("isInstantRestore")&&null!==e.isInstantRestore&&void 0!==e.isInstantRestore&&t.setIsInstantRestore(e.isInstantRestore),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getShouldIgnoreWarnings(){return this.shouldIgnoreWarnings}setShouldIgnoreWarnings(e){this.shouldIgnoreWarnings=e}getIsInstantRestore(){return this.isInstantRestore}setIsInstantRestore(e){this.isInstantRestore=e}toJson(e){return{...void 0!==this.getShouldIgnoreWarnings()&&null!==this.getShouldIgnoreWarnings()?{shouldIgnoreWarnings:this.getShouldIgnoreWarnings()}:{},...void 0!==this.getIsInstantRestore()&&null!==this.getIsInstantRestore()?{isInstantRestore:this.getIsInstantRestore()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getFailoverDirections()&&null!==this.getFailoverDirections()?{failoverDirections:this.getFailoverDirections().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["name","failoverDirections"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"shouldIgnoreWarnings"!==t||void 0!==this.shouldIgnoreWarnings&&null!==this.shouldIgnoreWarnings?"isInstantRestore"!==t||void 0!==this.isInstantRestore&&null!==this.isInstantRestore?new E(t,"no such property exists"):new E("isInstantRestore","undefined or null"):new E("shouldIgnoreWarnings","undefined or null")}}function nn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}tn.prototype.shouldIgnoreWarnings=!1,tn.prototype.isInstantRestore=!1,Xt.prototype.name=void 0,Xt.prototype.failoverDirections=void 0;var on=new WeakSet;class sn extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=on),t.add(e),this.$objectType="dataprotection.v4.operations.ValidateRecoveryPlanApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new sn,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(Pt.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):nn(on,this,rn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):nn(on,this,rn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function rn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function an(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}sn.prototype.metadata=void 0,sn.prototype.data=void 0,sn.prototype.$reserved=void 0,sn.prototype.$objectType=void 0,sn.prototype.$unknownFields=void 0;var ln=new WeakSet;class dn extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ln),t.add(e),this.$objectType="dataprotection.v4.operations.CleanupRecoveryPlanResourcesApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new dn,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(Pt.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):an(ln,this,un).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):an(ln,this,un).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function un(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function cn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}dn.prototype.metadata=void 0,dn.prototype.data=void 0,dn.prototype.$reserved=void 0,dn.prototype.$objectType=void 0,dn.prototype.$unknownFields=void 0;var hn=new WeakSet;class pn extends Xt{constructor(e,t){var n,i;super(e,t),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=hn),i.add(n),this.$objectType="dataprotection.v4.operations.UnplannedFailoverSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new pn,Xt.constructFromObject(e,t,!0),e.hasOwnProperty("recoveryReferenceTime")&&null!==e.recoveryReferenceTime&&void 0!==e.recoveryReferenceTime&&t.setRecoveryReferenceTime(e.recoveryReferenceTime),e.hasOwnProperty("shouldIgnoreWarnings")&&null!==e.shouldIgnoreWarnings&&void 0!==e.shouldIgnoreWarnings&&t.setShouldIgnoreWarnings(e.shouldIgnoreWarnings),e.hasOwnProperty("isInstantRestore")&&null!==e.isInstantRestore&&void 0!==e.isInstantRestore&&t.setIsInstantRestore(e.isInstantRestore),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRecoveryReferenceTime(){return this.recoveryReferenceTime}setRecoveryReferenceTime(e){this.recoveryReferenceTime=e}getShouldIgnoreWarnings(){return this.shouldIgnoreWarnings}setShouldIgnoreWarnings(e){this.shouldIgnoreWarnings=e}getIsInstantRestore(){return this.isInstantRestore}setIsInstantRestore(e){this.isInstantRestore=e}toJson(e){return{...void 0!==this.getRecoveryReferenceTime()&&null!==this.getRecoveryReferenceTime()?{recoveryReferenceTime:cn(hn,this,vn).call(this,this.getRecoveryReferenceTime(),!1)}:{},...void 0!==this.getShouldIgnoreWarnings()&&null!==this.getShouldIgnoreWarnings()?{shouldIgnoreWarnings:this.getShouldIgnoreWarnings()}:{},...void 0!==this.getIsInstantRestore()&&null!==this.getIsInstantRestore()?{isInstantRestore:this.getIsInstantRestore()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getFailoverDirections()&&null!==this.getFailoverDirections()?{failoverDirections:this.getFailoverDirections().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["name","failoverDirections"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"recoveryReferenceTime"!==t||void 0!==this.recoveryReferenceTime&&null!==this.recoveryReferenceTime?"shouldIgnoreWarnings"!==t||void 0!==this.shouldIgnoreWarnings&&null!==this.shouldIgnoreWarnings?"isInstantRestore"!==t||void 0!==this.isInstantRestore&&null!==this.isInstantRestore?new E(t,"no such property exists"):new E("isInstantRestore","undefined or null"):new E("shouldIgnoreWarnings","undefined or null"):new E("recoveryReferenceTime","undefined or null")}}function vn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function yn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}pn.prototype.recoveryReferenceTime=void 0,pn.prototype.shouldIgnoreWarnings=!1,pn.prototype.isInstantRestore=!1,Xt.prototype.name=void 0,Xt.prototype.failoverDirections=void 0;var gn=new WeakSet;class fn extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=gn),t.add(e),this.$objectType="dataprotection.v4.operations.TestFailoverRecoveryPlanApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new fn,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(Pt.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):yn(gn,this,$n).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):yn(gn,this,$n).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function $n(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function wn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}fn.prototype.metadata=void 0,fn.prototype.data=void 0,fn.prototype.$reserved=void 0,fn.prototype.$objectType=void 0,fn.prototype.$unknownFields=void 0;var mn=new WeakSet;class Tn extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=mn),t.add(e),this.$objectType="dataprotection.v4.operations.PlannedFailoverRecoveryPlanApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Tn,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(Pt.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):wn(mn,this,kn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):wn(mn,this,kn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function kn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Tn.prototype.metadata=void 0,Tn.prototype.data=void 0,Tn.prototype.$reserved=void 0,Tn.prototype.$objectType=void 0,Tn.prototype.$unknownFields=void 0;const bn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",SUCCEEDED:"SUCCEEDED",RUNNING:"RUNNING",ABORTED:"ABORTED",FAILED:"FAILED",QUEUED:"QUEUED",SUCCEEDED_WITH_VALIDATION_WARNING:"SUCCEEDED_WITH_VALIDATION_WARNING",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(bn).find(t=>bn[t]===e);return null==t?bn.$UNKNOWN:bn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case bn.$UNKNOWN:case bn.$REDACTED:case bn.SUCCEEDED:case bn.RUNNING:case bn.ABORTED:case bn.FAILED:case bn.QUEUED:case bn.SUCCEEDED_WITH_VALIDATION_WARNING:return;default:throw new Error("Invalid : must be RecoveryPlanJobExecutionStatus.{ $UNKNOWN|$REDACTED|SUCCEEDED|RUNNING|ABORTED|FAILED|QUEUED|SUCCEEDED_WITH_VALIDATION_WARNING }")}}};Object.freeze(bn);const Fn=bn,En={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRE_PROCESSING:"PRE_PROCESSING",ENTITY_RECOVERY:"ENTITY_RECOVERY",POST_PROCESSING:"POST_PROCESSING",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(En).find(t=>En[t]===e);return null==t?En.$UNKNOWN:En[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case En.$UNKNOWN:case En.$REDACTED:case En.PRE_PROCESSING:case En.ENTITY_RECOVERY:case En.POST_PROCESSING:return;default:throw new Error("Invalid : must be RecoveryPlanJobPhaseType.{ $UNKNOWN|$REDACTED|PRE_PROCESSING|ENTITY_RECOVERY|POST_PROCESSING }")}}};Object.freeze(En);const In=En;var On=new WeakSet;class jn{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=On),t.add(e),this.$objectType="dataprotection.v4.config.Summary",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new jn,e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Fn.constructFromObject(e.status)),e.hasOwnProperty("percentageComplete")&&null!==e.percentageComplete&&void 0!==e.percentageComplete&&t.setPercentageComplete(e.percentageComplete),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getStatus(){return this.status}setStatus(e){this.status=e}getPercentageComplete(){return this.percentageComplete}setPercentageComplete(e){this.percentageComplete=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getPercentageComplete()&&null!==this.getPercentageComplete()?{percentageComplete:this.getPercentageComplete()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("status"===t&&(void 0===this.status||null===this.status))return new E("status","undefined or null");if("percentageComplete"===t){if(void 0===this.percentageComplete||null===this.percentageComplete)return new E("percentageComplete","undefined or null");if(!F.validateMaximum(this.percentageComplete,100))return new E("percentageComplete","does not satisfy required maximum constraint: 100");if(!F.validateMinimum(this.percentageComplete,0))return new E("percentageComplete","does not satisfy required minimum constraint: 0")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}jn.prototype.status=void 0,jn.prototype.percentageComplete=void 0,jn.prototype.$reserved=void 0,jn.prototype.$objectType=void 0,jn.prototype.$unknownFields=void 0;var Pn=new WeakSet;class Rn extends jn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Pn),t.add(e),this.$objectType="dataprotection.v4.config.StageSummary",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Rn,jn.constructFromObject(e,t,!0),e.hasOwnProperty("stageExtId")&&null!==e.stageExtId&&void 0!==e.stageExtId&&t.setStageExtId(e.stageExtId),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getStageExtId(){return this.stageExtId}setStageExtId(e){this.stageExtId=e}toJson(e){return{...void 0!==this.getStageExtId()&&null!==this.getStageExtId()?{stageExtId:this.getStageExtId()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getPercentageComplete()&&null!==this.getPercentageComplete()?{percentageComplete:this.getPercentageComplete()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("stageExtId"===t){if(void 0===this.stageExtId||null===this.stageExtId)return new E("stageExtId","undefined or null");if(!F.validatePattern(this.stageExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("stageExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new E(t,"no such property exists")}}Rn.prototype.stageExtId=void 0,jn.prototype.status=void 0,jn.prototype.percentageComplete=void 0;var xn=new WeakSet;class An extends jn{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=xn),t.add(e),this.$objectType="dataprotection.v4.config.PhaseSummary",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new An,jn.constructFromObject(e,t,!0),e.hasOwnProperty("phaseType")&&null!==e.phaseType&&void 0!==e.phaseType&&t.setPhaseType(In.constructFromObject(e.phaseType)),e.hasOwnProperty("stages")&&null!==e.stages&&void 0!==e.stages){for(r=[],i=e.stages,s=0;s<i.length;s++)o=Rn.constructFromObject(i[s],void 0),r.push(o);t.setStages(r)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getPhaseType(){return this.phaseType}setPhaseType(e){this.phaseType=e}getStages(){return this.stages}setStages(e){this.stages=e}toJson(e){return{...void 0!==this.getPhaseType()&&null!==this.getPhaseType()?{phaseType:this.getPhaseType()}:{},...void 0!==this.getStages()&&null!==this.getStages()?{stages:this.getStages().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getPercentageComplete()&&null!==this.getPercentageComplete()?{percentageComplete:this.getPercentageComplete()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("phaseType"===t&&(void 0===this.phaseType||null===this.phaseType))return new E("phaseType","undefined or null");if("stages"===t){if(void 0===this.stages||null===this.stages)return new E("stages","undefined or null");if(!F.validateMaxItems(this.stages,100))return new E("stages","does not satisfy required maxItems constraint: 100");if(!F.validateMinItems(this.stages,1))return new E("stages","does not satisfy required minItems constraint: 1")}return new E(t,"no such property exists")}}An.prototype.phaseType=void 0,An.prototype.stages=void 0,jn.prototype.status=void 0,jn.prototype.percentageComplete=void 0;const Cn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VALIDATE:"VALIDATE",PLANNED_FAILOVER:"PLANNED_FAILOVER",UNPLANNED_FAILOVER:"UNPLANNED_FAILOVER",TEST_FAILOVER:"TEST_FAILOVER",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Cn).find(t=>Cn[t]===e);return null==t?Cn.$UNKNOWN:Cn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Cn.$UNKNOWN:case Cn.$REDACTED:case Cn.VALIDATE:case Cn.PLANNED_FAILOVER:case Cn.UNPLANNED_FAILOVER:case Cn.TEST_FAILOVER:return;default:throw new Error("Invalid : must be RecoveryPlanActionType.{ $UNKNOWN|$REDACTED|VALIDATE|PLANNED_FAILOVER|UNPLANNED_FAILOVER|TEST_FAILOVER }")}}};Object.freeze(Cn);const Sn=Cn;function Nn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Dn=new WeakSet;class Un extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Dn),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPlanJob",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Un,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("recoveryPlanExtId")&&null!==e.recoveryPlanExtId&&void 0!==e.recoveryPlanExtId&&t.setRecoveryPlanExtId(e.recoveryPlanExtId),e.hasOwnProperty("failoverDirections")&&null!==e.failoverDirections&&void 0!==e.failoverDirections){for(r=[],i=e.failoverDirections,s=0;s<i.length;s++)o=Yt.constructFromObject(i[s],void 0),r.push(o);t.setFailoverDirections(r)}if(e.hasOwnProperty("actionType")&&null!==e.actionType&&void 0!==e.actionType&&t.setActionType(Sn.constructFromObject(e.actionType)),e.hasOwnProperty("recoveryReferenceTime")&&null!==e.recoveryReferenceTime&&void 0!==e.recoveryReferenceTime&&t.setRecoveryReferenceTime(e.recoveryReferenceTime),e.hasOwnProperty("isLiveMigrateVMs")&&null!==e.isLiveMigrateVMs&&void 0!==e.isLiveMigrateVMs&&t.setIsLiveMigrateVMs(e.isLiveMigrateVMs),e.hasOwnProperty("startTime")&&null!==e.startTime&&void 0!==e.startTime&&t.setStartTime(e.startTime),e.hasOwnProperty("endTime")&&null!==e.endTime&&void 0!==e.endTime&&t.setEndTime(e.endTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Fn.constructFromObject(e.status)),e.hasOwnProperty("percentageComplete")&&null!==e.percentageComplete&&void 0!==e.percentageComplete&&t.setPercentageComplete(e.percentageComplete),e.hasOwnProperty("validationStatus")&&null!==e.validationStatus&&void 0!==e.validationStatus&&t.setValidationStatus(jn.constructFromObject(e.validationStatus)),e.hasOwnProperty("executionPhases")&&null!==e.executionPhases&&void 0!==e.executionPhases){for(r=[],i=e.executionPhases,s=0;s<i.length;s++)o=An.constructFromObject(i[s],void 0),r.push(o);t.setExecutionPhases(r)}if(e.hasOwnProperty("isInitiatedByWitness")&&null!==e.isInitiatedByWitness&&void 0!==e.isInitiatedByWitness&&t.setIsInitiatedByWitness(e.isInitiatedByWitness),e.hasOwnProperty("ownerExtId")&&null!==e.ownerExtId&&void 0!==e.ownerExtId&&t.setOwnerExtId(e.ownerExtId),e.hasOwnProperty("isInstantRestore")&&null!==e.isInstantRestore&&void 0!==e.isInstantRestore&&t.setIsInstantRestore(e.isInstantRestore),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getRecoveryPlanExtId(){return this.recoveryPlanExtId}setRecoveryPlanExtId(e){this.recoveryPlanExtId=e}getFailoverDirections(){return this.failoverDirections}setFailoverDirections(e){this.failoverDirections=e}getActionType(){return this.actionType}setActionType(e){this.actionType=e}getRecoveryReferenceTime(){return this.recoveryReferenceTime}setRecoveryReferenceTime(e){this.recoveryReferenceTime=e}getIsLiveMigrateVMs(){return this.isLiveMigrateVMs}setIsLiveMigrateVMs(e){this.isLiveMigrateVMs=e}getStartTime(){return this.startTime}setStartTime(e){this.startTime=e}getEndTime(){return this.endTime}setEndTime(e){this.endTime=e}getStatus(){return this.status}setStatus(e){this.status=e}getPercentageComplete(){return this.percentageComplete}setPercentageComplete(e){this.percentageComplete=e}getValidationStatus(){return this.validationStatus}setValidationStatus(e){this.validationStatus=e}getExecutionPhases(){return this.executionPhases}setExecutionPhases(e){this.executionPhases=e}getIsInitiatedByWitness(){return this.isInitiatedByWitness}setIsInitiatedByWitness(e){this.isInitiatedByWitness=e}getOwnerExtId(){return this.ownerExtId}setOwnerExtId(e){this.ownerExtId=e}getIsInstantRestore(){return this.isInstantRestore}setIsInstantRestore(e){this.isInstantRestore=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getRecoveryPlanExtId()&&null!==this.getRecoveryPlanExtId()?{recoveryPlanExtId:this.getRecoveryPlanExtId()}:{},...void 0!==this.getFailoverDirections()&&null!==this.getFailoverDirections()?{failoverDirections:this.getFailoverDirections().map(e=>e.toJson(!1))}:{},...void 0!==this.getActionType()&&null!==this.getActionType()?{actionType:this.getActionType()}:{},...void 0!==this.getRecoveryReferenceTime()&&null!==this.getRecoveryReferenceTime()?{recoveryReferenceTime:Nn(Dn,this,Mn).call(this,this.getRecoveryReferenceTime(),!1)}:{},...void 0!==this.getIsLiveMigrateVMs()&&null!==this.getIsLiveMigrateVMs()?{isLiveMigrateVMs:this.getIsLiveMigrateVMs()}:{},...void 0!==this.getStartTime()&&null!==this.getStartTime()?{startTime:Nn(Dn,this,Mn).call(this,this.getStartTime(),!1)}:{},...void 0!==this.getEndTime()&&null!==this.getEndTime()?{endTime:Nn(Dn,this,Mn).call(this,this.getEndTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getPercentageComplete()&&null!==this.getPercentageComplete()?{percentageComplete:this.getPercentageComplete()}:{},...void 0!==this.getValidationStatus()&&null!==this.getValidationStatus()?{validationStatus:this.getValidationStatus().toJson(!1)}:{},...void 0!==this.getExecutionPhases()&&null!==this.getExecutionPhases()?{executionPhases:this.getExecutionPhases().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsInitiatedByWitness()&&null!==this.getIsInitiatedByWitness()?{isInitiatedByWitness:this.getIsInitiatedByWitness()}:{},...void 0!==this.getOwnerExtId()&&null!==this.getOwnerExtId()?{ownerExtId:this.getOwnerExtId()}:{},...void 0!==this.getIsInstantRestore()&&null!==this.getIsInstantRestore()?{isInstantRestore:this.getIsInstantRestore()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getRecoveryPlanExtId()&&null!==this.getRecoveryPlanExtId()?{recoveryPlanExtId:this.getRecoveryPlanExtId()}:{},...void 0!==this.getFailoverDirections()&&null!==this.getFailoverDirections()?{failoverDirections:this.getFailoverDirections().map(e=>e.toJson(!1))}:{},...void 0!==this.getActionType()&&null!==this.getActionType()?{actionType:this.getActionType()}:{},...void 0!==this.getRecoveryReferenceTime()&&null!==this.getRecoveryReferenceTime()?{recoveryReferenceTime:Nn(Dn,this,Mn).call(this,this.getRecoveryReferenceTime(),!1)}:{},...void 0!==this.getIsLiveMigrateVMs()&&null!==this.getIsLiveMigrateVMs()?{isLiveMigrateVMs:this.getIsLiveMigrateVMs()}:{},...void 0!==this.getStartTime()&&null!==this.getStartTime()?{startTime:Nn(Dn,this,Mn).call(this,this.getStartTime(),!1)}:{},...void 0!==this.getEndTime()&&null!==this.getEndTime()?{endTime:Nn(Dn,this,Mn).call(this,this.getEndTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getPercentageComplete()&&null!==this.getPercentageComplete()?{percentageComplete:this.getPercentageComplete()}:{},...void 0!==this.getValidationStatus()&&null!==this.getValidationStatus()?{validationStatus:this.getValidationStatus().toJson(!1)}:{},...void 0!==this.getExecutionPhases()&&null!==this.getExecutionPhases()?{executionPhases:this.getExecutionPhases().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsInitiatedByWitness()&&null!==this.getIsInitiatedByWitness()?{isInitiatedByWitness:this.getIsInitiatedByWitness()}:{},...void 0!==this.getOwnerExtId()&&null!==this.getOwnerExtId()?{ownerExtId:this.getOwnerExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}if("recoveryPlanExtId"===t){if(void 0===this.recoveryPlanExtId||null===this.recoveryPlanExtId)return new E("recoveryPlanExtId","undefined or null");if(!F.validatePattern(this.recoveryPlanExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("recoveryPlanExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("failoverDirections"===t){if(void 0===this.failoverDirections||null===this.failoverDirections)return new E("failoverDirections","undefined or null");if(!F.validateMaxItems(this.failoverDirections,50))return new E("failoverDirections","does not satisfy required maxItems constraint: 50");if(!F.validateMinItems(this.failoverDirections,1))return new E("failoverDirections","does not satisfy required minItems constraint: 1")}if("actionType"===t&&(void 0===this.actionType||null===this.actionType))return new E("actionType","undefined or null");if("recoveryReferenceTime"===t&&(void 0===this.recoveryReferenceTime||null===this.recoveryReferenceTime))return new E("recoveryReferenceTime","undefined or null");if("isLiveMigrateVMs"===t&&(void 0===this.isLiveMigrateVMs||null===this.isLiveMigrateVMs))return new E("isLiveMigrateVMs","undefined or null");if("startTime"===t&&(void 0===this.startTime||null===this.startTime))return new E("startTime","undefined or null");if("endTime"===t&&(void 0===this.endTime||null===this.endTime))return new E("endTime","undefined or null");if("status"===t&&(void 0===this.status||null===this.status))return new E("status","undefined or null");if("percentageComplete"===t){if(void 0===this.percentageComplete||null===this.percentageComplete)return new E("percentageComplete","undefined or null");if(!F.validateMaximum(this.percentageComplete,100))return new E("percentageComplete","does not satisfy required maximum constraint: 100");if(!F.validateMinimum(this.percentageComplete,0))return new E("percentageComplete","does not satisfy required minimum constraint: 0")}if("validationStatus"===t&&(void 0===this.validationStatus||null===this.validationStatus))return new E("validationStatus","undefined or null");if("executionPhases"===t){if(void 0===this.executionPhases||null===this.executionPhases)return new E("executionPhases","undefined or null");if(!F.validateMaxItems(this.executionPhases,5))return new E("executionPhases","does not satisfy required maxItems constraint: 5");if(!F.validateMinItems(this.executionPhases,1))return new E("executionPhases","does not satisfy required minItems constraint: 1")}if("isInitiatedByWitness"===t&&(void 0===this.isInitiatedByWitness||null===this.isInitiatedByWitness))return new E("isInitiatedByWitness","undefined or null");if("ownerExtId"===t){if(void 0===this.ownerExtId||null===this.ownerExtId)return new E("ownerExtId","undefined or null");if(!F.validatePattern(this.ownerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("ownerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"isInstantRestore"!==t||void 0!==this.isInstantRestore&&null!==this.isInstantRestore?new E(t,"no such property exists"):new E("isInstantRestore","undefined or null")}}function Mn(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Jn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Un.prototype.name=void 0,Un.prototype.recoveryPlanExtId=void 0,Un.prototype.failoverDirections=void 0,Un.prototype.actionType=void 0,Un.prototype.recoveryReferenceTime=void 0,Un.prototype.isLiveMigrateVMs=void 0,Un.prototype.startTime=void 0,Un.prototype.endTime=void 0,Un.prototype.status=void 0,Un.prototype.percentageComplete=void 0,Un.prototype.validationStatus=void 0,Un.prototype.executionPhases=void 0,Un.prototype.isInitiatedByWitness=void 0,Un.prototype.ownerExtId=void 0,Un.prototype.isInstantRestore=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var _n=new WeakSet;class Ln extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=_n),t.add(e),this.$objectType="dataprotection.v4.config.GetRecoveryPlanJobApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ln,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"dataprotection.v4.config.RecoveryPlanJob":t.setData(Un.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Jn(_n,this,Vn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Jn(_n,this,Vn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Vn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Gn(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Ln.prototype.metadata=void 0,Ln.prototype.data=void 0,Ln.prototype.$reserved=void 0,Ln.prototype.$objectType=void 0,Ln.prototype.$unknownFields=void 0;var Wn=new WeakSet;class Bn extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Wn),t.add(e),this.$objectType="dataprotection.v4.config.DeleteRecoveryPlanJobApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Bn,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(Pt.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Gn(Wn,this,qn).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Gn(Wn,this,qn).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function qn(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Bn.prototype.metadata=void 0,Bn.prototype.data=void 0,Bn.prototype.$reserved=void 0,Bn.prototype.$objectType=void 0,Bn.prototype.$unknownFields=void 0;const zn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CLUSTER:"CLUSTER",VM:"VM",STORAGE_CONTAINER:"STORAGE_CONTAINER",VOLUME_GROUP:"VOLUME_GROUP",TASK:"TASK",IMAGE:"IMAGE",CATEGORY:"CATEGORY",NODE:"NODE",VPC:"VPC",SUBNET:"SUBNET",ROUTING_POLICY:"ROUTING_POLICY",FLOATING_IP:"FLOATING_IP",VPN_GATEWAY:"VPN_GATEWAY",VPN_CONNECTION:"VPN_CONNECTION",DIRECT_CONNECT:"DIRECT_CONNECT",DIRECT_CONNECT_VIF:"DIRECT_CONNECT_VIF",VIRTUAL_NIC:"VIRTUAL_NIC",VIRTUAL_SWITCH:"VIRTUAL_SWITCH",VM_DISK:"VM_DISK",VOLUME_DISK:"VOLUME_DISK",DISK_RECOVERY_POINT:"DISK_RECOVERY_POINT",VTEP_GATEWAY:"VTEP_GATEWAY",RECOVERY_PLAN:"RECOVERY_PLAN",RECOVERY_PLAN_JOB:"RECOVERY_PLAN_JOB",AVAILABILITY_ZONE:"AVAILABILITY_ZONE",VIRTUAL_NETWORK:"VIRTUAL_NETWORK",CONSISTENCY_GROUP:"CONSISTENCY_GROUP",SUBNET_EXTENSION:"SUBNET_EXTENSION",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(zn).find(t=>zn[t]===e);return null==t?zn.$UNKNOWN:zn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case zn.$UNKNOWN:case zn.$REDACTED:case zn.CLUSTER:case zn.VM:case zn.STORAGE_CONTAINER:case zn.VOLUME_GROUP:case zn.TASK:case zn.IMAGE:case zn.CATEGORY:case zn.NODE:case zn.VPC:case zn.SUBNET:case zn.ROUTING_POLICY:case zn.FLOATING_IP:case zn.VPN_GATEWAY:case zn.VPN_CONNECTION:case zn.DIRECT_CONNECT:case zn.DIRECT_CONNECT_VIF:case zn.VIRTUAL_NIC:case zn.VIRTUAL_SWITCH:case zn.VM_DISK:case zn.VOLUME_DISK:case zn.DISK_RECOVERY_POINT:case zn.VTEP_GATEWAY:case zn.RECOVERY_PLAN:case zn.RECOVERY_PLAN_JOB:case zn.AVAILABILITY_ZONE:case zn.VIRTUAL_NETWORK:case zn.CONSISTENCY_GROUP:case zn.SUBNET_EXTENSION:return;default:throw new Error("Invalid : must be EntityType.{ $UNKNOWN|$REDACTED|CLUSTER|VM|STORAGE_CONTAINER|VOLUME_GROUP|TASK|IMAGE|CATEGORY|NODE|VPC|SUBNET|ROUTING_POLICY|FLOATING_IP|VPN_GATEWAY|VPN_CONNECTION|DIRECT_CONNECT|DIRECT_CONNECT_VIF|VIRTUAL_NIC|VIRTUAL_SWITCH|VM_DISK|VOLUME_DISK|DISK_RECOVERY_POINT|VTEP_GATEWAY|RECOVERY_PLAN|RECOVERY_PLAN_JOB|AVAILABILITY_ZONE|VIRTUAL_NETWORK|CONSISTENCY_GROUP|SUBNET_EXTENSION }")}}};Object.freeze(zn);const Kn=zn;var Yn=new WeakSet;class Hn{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Yn),t.add(e),this.$objectType="common.v1.config.EntityReference",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s;if(e){if(t=t||new Hn,e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("uris")&&null!==e.uris&&void 0!==e.uris){for(s=[],i=e.uris,o=0;o<i.length;o++)s.push(i[o]);t.setUris(s)}if(e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(Kn.constructFromObject(e.entityType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}getName(){return this.name}setName(e){this.name=e}getUris(){return this.uris}setUris(e){this.uris=e}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getUris()&&null!==this.getUris()?{uris:this.getUris()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new E("extId","undefined or null");if(!F.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}if("uris"===t){if(void 0===this.uris||null===this.uris)return new E("uris","undefined or null");if(!F.validateMaxItems(this.uris,100))return new E("uris","does not satisfy required maxItems constraint: 100")}return"entityType"!==t||void 0!==this.entityType&&null!==this.entityType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("entityType","undefined or null")}}Hn.prototype.extId=void 0,Hn.prototype.name=void 0,Hn.prototype.uris=void 0,Hn.prototype.entityType=void 0,Hn.prototype.$reserved=void 0,Hn.prototype.$objectType=void 0,Hn.prototype.$unknownFields=void 0;const Xn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ENTITY:"ENTITY",NETWORK:"NETWORK",RECOVERY_POINT:"RECOVERY_POINT",CATEGORY:"CATEGORY",CONNECTIVITY:"CONNECTIVITY",INFRASTRUCTURE:"INFRASTRUCTURE",CLUSTER_LICENSE:"CLUSTER_LICENSE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Xn).find(t=>Xn[t]===e);return null==t?Xn.$UNKNOWN:Xn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Xn.$UNKNOWN:case Xn.$REDACTED:case Xn.ENTITY:case Xn.NETWORK:case Xn.RECOVERY_POINT:case Xn.CATEGORY:case Xn.CONNECTIVITY:case Xn.INFRASTRUCTURE:case Xn.CLUSTER_LICENSE:return;default:throw new Error("Invalid : must be ErrorGroup.{ $UNKNOWN|$REDACTED|ENTITY|NETWORK|RECOVERY_POINT|CATEGORY|CONNECTIVITY|INFRASTRUCTURE|CLUSTER_LICENSE }")}}};Object.freeze(Xn);const Zn=Xn,Qn={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ERROR:"ERROR",WARNING:"WARNING",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Qn).find(t=>Qn[t]===e);return null==t?Qn.$UNKNOWN:Qn[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Qn.$UNKNOWN:case Qn.$REDACTED:case Qn.ERROR:case Qn.WARNING:return;default:throw new Error("Invalid : must be Severity.{ $UNKNOWN|$REDACTED|ERROR|WARNING }")}}};Object.freeze(Qn);const ei=Qn;var ti=new WeakSet;class ni extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ti),t.add(e),this.$objectType="dataprotection.v4.config.ErrorMessage",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ni,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("errorCode")&&null!==e.errorCode&&void 0!==e.errorCode&&t.setErrorCode(e.errorCode),e.hasOwnProperty("errorGroup")&&null!==e.errorGroup&&void 0!==e.errorGroup&&t.setErrorGroup(Zn.constructFromObject(e.errorGroup)),e.hasOwnProperty("message")&&null!==e.message&&void 0!==e.message&&t.setMessage(e.message),e.hasOwnProperty("severity")&&null!==e.severity&&void 0!==e.severity&&t.setSeverity(ei.constructFromObject(e.severity)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getErrorCode(){return this.errorCode}setErrorCode(e){this.errorCode=e}getErrorGroup(){return this.errorGroup}setErrorGroup(e){this.errorGroup=e}getMessage(){return this.message}setMessage(e){this.message=e}getSeverity(){return this.severity}setSeverity(e){this.severity=e}toJson(e){return!1===e?{...void 0!==this.getErrorCode()&&null!==this.getErrorCode()?{errorCode:this.getErrorCode()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getErrorCode()&&null!==this.getErrorCode()?{errorCode:this.getErrorCode()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"errorCode"!==t||void 0!==this.errorCode&&null!==this.errorCode?"errorGroup"!==t||void 0!==this.errorGroup&&null!==this.errorGroup?"message"!==t||void 0!==this.message&&null!==this.message?"severity"!==t||void 0!==this.severity&&null!==this.severity?new E(t,"no such property exists"):new E("severity","undefined or null"):new E("message","undefined or null"):new E("errorGroup","undefined or null"):new E("errorCode","undefined or null")}}ni.prototype.errorCode=void 0,ni.prototype.errorGroup=void 0,ni.prototype.message=void 0,ni.prototype.severity=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var ii=new WeakSet;class oi{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ii),t.add(e),this.$objectType="dataprotection.v4.config.RootCauseAnalysis",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s;if(e){if(t=t||new oi,e.hasOwnProperty("cause")&&null!==e.cause&&void 0!==e.cause&&t.setCause(e.cause),e.hasOwnProperty("resolutions")&&null!==e.resolutions&&void 0!==e.resolutions){for(s=[],i=e.resolutions,o=0;o<i.length;o++)s.push(i[o]);t.setResolutions(s)}if(e.hasOwnProperty("impacts")&&null!==e.impacts&&void 0!==e.impacts){for(s=[],i=e.impacts,o=0;o<i.length;o++)s.push(i[o]);t.setImpacts(s)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getCause(){return this.cause}setCause(e){this.cause=e}getResolutions(){return this.resolutions}setResolutions(e){this.resolutions=e}getImpacts(){return this.impacts}setImpacts(e){this.impacts=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getCause()&&null!==this.getCause()?{cause:this.getCause()}:{},...void 0!==this.getResolutions()&&null!==this.getResolutions()?{resolutions:this.getResolutions()}:{},...void 0!==this.getImpacts()&&null!==this.getImpacts()?{impacts:this.getImpacts()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("cause"===t&&(void 0===this.cause||null===this.cause))return new E("cause","undefined or null");if("resolutions"===t){if(void 0===this.resolutions||null===this.resolutions)return new E("resolutions","undefined or null");if(!F.validateMaxItems(this.resolutions,5))return new E("resolutions","does not satisfy required maxItems constraint: 5");if(!F.validateMinItems(this.resolutions,1))return new E("resolutions","does not satisfy required minItems constraint: 1")}if("impacts"===t){if(void 0===this.impacts||null===this.impacts)return new E("impacts","undefined or null");if(!F.validateMaxItems(this.impacts,5))return new E("impacts","does not satisfy required maxItems constraint: 5");if(!F.validateMinItems(this.impacts,1))return new E("impacts","does not satisfy required minItems constraint: 1")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}oi.prototype.cause=void 0,oi.prototype.resolutions=void 0,oi.prototype.impacts=void 0,oi.prototype.$reserved=void 0,oi.prototype.$objectType=void 0,oi.prototype.$unknownFields=void 0;var si=new WeakSet;class ri extends ni{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=si),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPlanValidationError",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new ri,ni.constructFromObject(e,t,!0),e.hasOwnProperty("affectedEntities")&&null!==e.affectedEntities&&void 0!==e.affectedEntities){for(r=[],i=e.affectedEntities,s=0;s<i.length;s++)o=Hn.constructFromObject(i[s],void 0),r.push(o);t.setAffectedEntities(r)}if(e.hasOwnProperty("rootCauseAnalysis")&&null!==e.rootCauseAnalysis&&void 0!==e.rootCauseAnalysis&&t.setRootCauseAnalysis(oi.constructFromObject(e.rootCauseAnalysis)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAffectedEntities(){return this.affectedEntities}setAffectedEntities(e){this.affectedEntities=e}getRootCauseAnalysis(){return this.rootCauseAnalysis}setRootCauseAnalysis(e){this.rootCauseAnalysis=e}toJson(e){return!1===e?{...void 0!==this.getAffectedEntities()&&null!==this.getAffectedEntities()?{affectedEntities:this.getAffectedEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRootCauseAnalysis()&&null!==this.getRootCauseAnalysis()?{rootCauseAnalysis:this.getRootCauseAnalysis().toJson(!1)}:{},...void 0!==this.getErrorCode()&&null!==this.getErrorCode()?{errorCode:this.getErrorCode()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getAffectedEntities()&&null!==this.getAffectedEntities()?{affectedEntities:this.getAffectedEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getRootCauseAnalysis()&&null!==this.getRootCauseAnalysis()?{rootCauseAnalysis:this.getRootCauseAnalysis().toJson(!1)}:{},...void 0!==this.getErrorCode()&&null!==this.getErrorCode()?{errorCode:this.getErrorCode()}:{},...void 0!==this.getErrorGroup()&&null!==this.getErrorGroup()?{errorGroup:this.getErrorGroup()}:{},...void 0!==this.getMessage()&&null!==this.getMessage()?{message:this.getMessage()}:{},...void 0!==this.getSeverity()&&null!==this.getSeverity()?{severity:this.getSeverity()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("affectedEntities"===t){if(void 0===this.affectedEntities||null===this.affectedEntities)return new E("affectedEntities","undefined or null");if(!F.validateMaxItems(this.affectedEntities,100))return new E("affectedEntities","does not satisfy required maxItems constraint: 100");if(!F.validateMinItems(this.affectedEntities,1))return new E("affectedEntities","does not satisfy required minItems constraint: 1")}return"rootCauseAnalysis"!==t||void 0!==this.rootCauseAnalysis&&null!==this.rootCauseAnalysis?new E(t,"no such property exists"):new E("rootCauseAnalysis","undefined or null")}}ri.prototype.affectedEntities=void 0,ri.prototype.rootCauseAnalysis=void 0,ni.prototype.errorCode=void 0,ni.prototype.errorGroup=void 0,ni.prototype.message=void 0,ni.prototype.severity=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;class ai extends ri{constructor(){super(),this.$objectType="dataprotection.v4.config.RecoveryPlanValidationErrorProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ai,ri.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}function li(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var di=new WeakSet;class ui extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=di),t.add(e),this.$objectType="dataprotection.v4.config.ListRecoveryPlanJobValidationErrorsApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,r,a,l;if(e){if(t=t||new ui,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"dataprotection.v4.config.RecoveryPlanValidationError":o=ri.constructFromObject(i[r],void 0),a.push(o);break;case"dataprotection.v4.config.RecoveryPlanValidationErrorProjection":o=ai.constructFromObject(i[r],void 0),a.push(o);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"dataprotection.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Ze.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):li(di,this,ci).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):li(di,this,ci).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function ci(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}ui.prototype.metadata=void 0,ui.prototype.data=void 0,ui.prototype.$reserved=void 0,ui.prototype.$objectType=void 0,ui.prototype.$unknownFields=void 0;class hi extends Un{constructor(){super(),this.$objectType="dataprotection.v4.config.RecoveryPlanJobProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new hi,Un.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}function pi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var vi=new WeakSet;class yi extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=vi),t.add(e),this.$objectType="dataprotection.v4.config.ListRecoveryPlanJobsApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,r,a,l;if(e){if(t=t||new yi,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"dataprotection.v4.config.RecoveryPlanJob":o=Un.constructFromObject(i[r],void 0),a.push(o);break;case"dataprotection.v4.config.RecoveryPlanJobProjection":o=hi.constructFromObject(i[r],void 0),a.push(o);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"dataprotection.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Ze.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):pi(vi,this,gi).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):pi(vi,this,gi).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function gi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}yi.prototype.metadata=void 0,yi.prototype.data=void 0,yi.prototype.$reserved=void 0,yi.prototype.$objectType=void 0,yi.prototype.$unknownFields=void 0;const fi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VM:"VM",SUBNET:"SUBNET",AVAILABILITY_ZONE:"AVAILABILITY_ZONE",RECOVERY_PLAN:"RECOVERY_PLAN",VIRTUAL_NETWORK:"VIRTUAL_NETWORK",VOLUME_GROUP:"VOLUME_GROUP",CONSISTENCY_GROUP:"CONSISTENCY_GROUP",CATEGORY:"CATEGORY",VPN_GATEWAY:"VPN_GATEWAY",SUBNET_EXTENSION:"SUBNET_EXTENSION",VPC:"VPC",RECOVERY_PLAN_JOB:"RECOVERY_PLAN_JOB",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(fi).find(t=>fi[t]===e);return null==t?fi.$UNKNOWN:fi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case fi.$UNKNOWN:case fi.$REDACTED:case fi.VM:case fi.SUBNET:case fi.AVAILABILITY_ZONE:case fi.RECOVERY_PLAN:case fi.VIRTUAL_NETWORK:case fi.VOLUME_GROUP:case fi.CONSISTENCY_GROUP:case fi.CATEGORY:case fi.VPN_GATEWAY:case fi.SUBNET_EXTENSION:case fi.VPC:case fi.RECOVERY_PLAN_JOB:return;default:throw new Error("Invalid : must be ExecutionStepEntityType.{ $UNKNOWN|$REDACTED|VM|SUBNET|AVAILABILITY_ZONE|RECOVERY_PLAN|VIRTUAL_NETWORK|VOLUME_GROUP|CONSISTENCY_GROUP|CATEGORY|VPN_GATEWAY|SUBNET_EXTENSION|VPC|RECOVERY_PLAN_JOB }")}}};Object.freeze(fi);const $i=fi;var wi=new WeakSet;class mi{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=wi),t.add(e),this.$objectType="dataprotection.v4.config.ExecutionStepEntityReference",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new mi,e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType($i.constructFromObject(e.entityType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}getName(){return this.name}setName(e){this.name=e}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new E("extId","undefined or null");if(!F.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}return"entityType"!==t||void 0!==this.entityType&&null!==this.entityType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("entityType","undefined or null")}}mi.prototype.extId=void 0,mi.prototype.name=void 0,mi.prototype.entityType=void 0,mi.prototype.$reserved=void 0,mi.prototype.$objectType=void 0,mi.prototype.$unknownFields=void 0;var Ti=new WeakSet;class ki{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ti),t.add(e),this.$objectType="dataprotection.v4.config.EntityRecoveryResult",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ki,e.hasOwnProperty("sourceEntityExtId")&&null!==e.sourceEntityExtId&&void 0!==e.sourceEntityExtId&&t.setSourceEntityExtId(e.sourceEntityExtId),e.hasOwnProperty("recoveredEntityExtId")&&null!==e.recoveredEntityExtId&&void 0!==e.recoveredEntityExtId&&t.setRecoveredEntityExtId(e.recoveredEntityExtId),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(Kn.constructFromObject(e.entityType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSourceEntityExtId(){return this.sourceEntityExtId}setSourceEntityExtId(e){this.sourceEntityExtId=e}getRecoveredEntityExtId(){return this.recoveredEntityExtId}setRecoveredEntityExtId(e){this.recoveredEntityExtId=e}getName(){return this.name}setName(e){this.name=e}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getSourceEntityExtId()&&null!==this.getSourceEntityExtId()?{sourceEntityExtId:this.getSourceEntityExtId()}:{},...void 0!==this.getRecoveredEntityExtId()&&null!==this.getRecoveredEntityExtId()?{recoveredEntityExtId:this.getRecoveredEntityExtId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("sourceEntityExtId"===t){if(void 0===this.sourceEntityExtId||null===this.sourceEntityExtId)return new E("sourceEntityExtId","undefined or null");if(!F.validatePattern(this.sourceEntityExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("sourceEntityExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("recoveredEntityExtId"===t){if(void 0===this.recoveredEntityExtId||null===this.recoveredEntityExtId)return new E("recoveredEntityExtId","undefined or null");if(!F.validatePattern(this.recoveredEntityExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("recoveredEntityExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}return"entityType"!==t||void 0!==this.entityType&&null!==this.entityType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("entityType","undefined or null")}}function bi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ki.prototype.sourceEntityExtId=void 0,ki.prototype.recoveredEntityExtId=void 0,ki.prototype.name=void 0,ki.prototype.entityType=void 0,ki.prototype.$reserved=void 0,ki.prototype.$objectType=void 0,ki.prototype.$unknownFields=void 0;var Fi=new WeakSet;class Ei{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Fi),n.add(t),this.result=e,this.$objectType="dataprotection.v4.config.ExecutionStepResult",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ei,e.hasOwnProperty("result")&&null!==e.result&&void 0!==e.result){if(i=e.result.hasOwnProperty("$objectType")?e.result.$objectType:typeof e.result,"dataprotection.v4.config.EntityRecoveryResult"!==i)throw"Unknown datatype "+i+" in data";t.setResult(ki.constructFromObject(e.result,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getResult(){return this.result}setResult(e){this.result=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getResult()&&null!==this.getResult()?{result:void 0!==this.getResult().toJson?this.getResult().toJson(!1):Array.isArray(this.getResult())?this.getResult().map(e=>void 0!==e.toJson?e.toJson(!1):e):bi(Fi,this,Ii).call(this,this.getResult(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getResult()&&null!==this.getResult()?{result:void 0!==this.getResult().toJson?this.getResult().toJson():Array.isArray(this.getResult())?this.getResult().map(e=>void 0!==e.toJson?e.toJson():e):bi(Fi,this,Ii).call(this,this.getResult())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["result"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"result"!==t||void 0!==this.result&&null!==this.result?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("result","undefined or null")}}function Ii(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ei.prototype.result=void 0,Ei.prototype.$reserved=void 0,Ei.prototype.$objectType=void 0,Ei.prototype.$unknownFields=void 0;const Oi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",NETWORK_CREATION:"NETWORK_CREATION",SUBNET_EXTENSION_CREATION:"SUBNET_EXTENSION_CREATION",NETWORK_GATEWAY_CREATION:"NETWORK_GATEWAY_CREATION",VPC_UPDATION:"VPC_UPDATION",SYNC_RECOVERY_POINTS:"SYNC_RECOVERY_POINTS",FLOATING_IP_CREATION:"FLOATING_IP_CREATION",RESOURCE_RESERVATION:"RESOURCE_RESERVATION",NOTIFY_WITNESS:"NOTIFY_WITNESS",VPC_CREATION:"VPC_CREATION",CONFIGURE_MANUAL_PROTECTION:"CONFIGURE_MANUAL_PROTECTION",DELAY:"DELAY",ENTITY_MIGRATION:"ENTITY_MIGRATION",ENTITY_RESTORATION:"ENTITY_RESTORATION",ENTITY_LIVE_MIGRATION:"ENTITY_LIVE_MIGRATION",VM_POWER_ON:"VM_POWER_ON",ASSIGN_FLOATING_IP:"ASSIGN_FLOATING_IP",STATIC_IP_VALIDATION:"STATIC_IP_VALIDATION",SCRIPT_EXECUTION:"SCRIPT_EXECUTION",VM_VOLUME_IQN_ATTACHMENT:"VM_VOLUME_IQN_ATTACHMENT",VM_VOLUME_ATTACHMENT:"VM_VOLUME_ATTACHMENT",ENTITY_SNAPSHOT_SYNC:"ENTITY_SNAPSHOT_SYNC",AUDIT:"AUDIT",NETWORK_DELETION:"NETWORK_DELETION",CONSISTENCY_GROUP_CREATE:"CONSISTENCY_GROUP_CREATE",SUBNET_EXTENSION_DELETION:"SUBNET_EXTENSION_DELETION",NETWORK_GATEWAY_DELETION:"NETWORK_GATEWAY_DELETION",STAGE_RECOVERY:"STAGE_RECOVERY",ENTITY_RECOVERY:"ENTITY_RECOVERY",IP_CUSTOMIZATION:"IP_CUSTOMIZATION",ENTITIES_CLEANUP:"ENTITIES_CLEANUP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Oi).find(t=>Oi[t]===e);return null==t?Oi.$UNKNOWN:Oi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Oi.$UNKNOWN:case Oi.$REDACTED:case Oi.NETWORK_CREATION:case Oi.SUBNET_EXTENSION_CREATION:case Oi.NETWORK_GATEWAY_CREATION:case Oi.VPC_UPDATION:case Oi.SYNC_RECOVERY_POINTS:case Oi.FLOATING_IP_CREATION:case Oi.RESOURCE_RESERVATION:case Oi.NOTIFY_WITNESS:case Oi.VPC_CREATION:case Oi.CONFIGURE_MANUAL_PROTECTION:case Oi.DELAY:case Oi.ENTITY_MIGRATION:case Oi.ENTITY_RESTORATION:case Oi.ENTITY_LIVE_MIGRATION:case Oi.VM_POWER_ON:case Oi.ASSIGN_FLOATING_IP:case Oi.STATIC_IP_VALIDATION:case Oi.SCRIPT_EXECUTION:case Oi.VM_VOLUME_IQN_ATTACHMENT:case Oi.VM_VOLUME_ATTACHMENT:case Oi.ENTITY_SNAPSHOT_SYNC:case Oi.AUDIT:case Oi.NETWORK_DELETION:case Oi.CONSISTENCY_GROUP_CREATE:case Oi.SUBNET_EXTENSION_DELETION:case Oi.NETWORK_GATEWAY_DELETION:case Oi.STAGE_RECOVERY:case Oi.ENTITY_RECOVERY:case Oi.IP_CUSTOMIZATION:case Oi.ENTITIES_CLEANUP:return;default:throw new Error("Invalid : must be OperationType.{ $UNKNOWN|$REDACTED|NETWORK_CREATION|SUBNET_EXTENSION_CREATION|NETWORK_GATEWAY_CREATION|VPC_UPDATION|SYNC_RECOVERY_POINTS|FLOATING_IP_CREATION|RESOURCE_RESERVATION|NOTIFY_WITNESS|VPC_CREATION|CONFIGURE_MANUAL_PROTECTION|DELAY|ENTITY_MIGRATION|ENTITY_RESTORATION|ENTITY_LIVE_MIGRATION|VM_POWER_ON|ASSIGN_FLOATING_IP|STATIC_IP_VALIDATION|SCRIPT_EXECUTION|VM_VOLUME_IQN_ATTACHMENT|VM_VOLUME_ATTACHMENT|ENTITY_SNAPSHOT_SYNC|AUDIT|NETWORK_DELETION|CONSISTENCY_GROUP_CREATE|SUBNET_EXTENSION_DELETION|NETWORK_GATEWAY_DELETION|STAGE_RECOVERY|ENTITY_RECOVERY|IP_CUSTOMIZATION|ENTITIES_CLEANUP }")}}};Object.freeze(Oi);const ji=Oi;function Pi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Ri=new WeakSet;class xi extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ri),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPlanJobExecutionStep",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new xi,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("errorMessage")&&null!==e.errorMessage&&void 0!==e.errorMessage&&t.setErrorMessage(Ve.constructFromObject(e.errorMessage)),e.hasOwnProperty("stageExtId")&&null!==e.stageExtId&&void 0!==e.stageExtId&&t.setStageExtId(e.stageExtId),e.hasOwnProperty("phase")&&null!==e.phase&&void 0!==e.phase&&t.setPhase(In.constructFromObject(e.phase)),e.hasOwnProperty("operationType")&&null!==e.operationType&&void 0!==e.operationType&&t.setOperationType(ji.constructFromObject(e.operationType)),e.hasOwnProperty("stepDescription")&&null!==e.stepDescription&&void 0!==e.stepDescription&&t.setStepDescription(e.stepDescription),e.hasOwnProperty("affectedEntities")&&null!==e.affectedEntities&&void 0!==e.affectedEntities){for(r=[],i=e.affectedEntities,s=0;s<i.length;s++)o=mi.constructFromObject(i[s],void 0),r.push(o);t.setAffectedEntities(r)}if(e.hasOwnProperty("executionStepResults")&&null!==e.executionStepResults&&void 0!==e.executionStepResults){for(r=[],i=e.executionStepResults,s=0;s<i.length;s++)o=Ei.constructFromObject(i[s],void 0),r.push(o);t.setExecutionStepResults(r)}if(e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Fn.constructFromObject(e.status)),e.hasOwnProperty("startTime")&&null!==e.startTime&&void 0!==e.startTime&&t.setStartTime(e.startTime),e.hasOwnProperty("endTime")&&null!==e.endTime&&void 0!==e.endTime&&t.setEndTime(e.endTime),e.hasOwnProperty("percentageComplete")&&null!==e.percentageComplete&&void 0!==e.percentageComplete&&t.setPercentageComplete(e.percentageComplete),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getErrorMessage(){return this.errorMessage}setErrorMessage(e){this.errorMessage=e}getStageExtId(){return this.stageExtId}setStageExtId(e){this.stageExtId=e}getPhase(){return this.phase}setPhase(e){this.phase=e}getOperationType(){return this.operationType}setOperationType(e){this.operationType=e}getStepDescription(){return this.stepDescription}setStepDescription(e){this.stepDescription=e}getAffectedEntities(){return this.affectedEntities}setAffectedEntities(e){this.affectedEntities=e}getExecutionStepResults(){return this.executionStepResults}setExecutionStepResults(e){this.executionStepResults=e}getStatus(){return this.status}setStatus(e){this.status=e}getStartTime(){return this.startTime}setStartTime(e){this.startTime=e}getEndTime(){return this.endTime}setEndTime(e){this.endTime=e}getPercentageComplete(){return this.percentageComplete}setPercentageComplete(e){this.percentageComplete=e}toJson(e){return!1===e?{...void 0!==this.getErrorMessage()&&null!==this.getErrorMessage()?{errorMessage:this.getErrorMessage().toJson(!1)}:{},...void 0!==this.getStageExtId()&&null!==this.getStageExtId()?{stageExtId:this.getStageExtId()}:{},...void 0!==this.getPhase()&&null!==this.getPhase()?{phase:this.getPhase()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getStepDescription()&&null!==this.getStepDescription()?{stepDescription:this.getStepDescription()}:{},...void 0!==this.getAffectedEntities()&&null!==this.getAffectedEntities()?{affectedEntities:this.getAffectedEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getExecutionStepResults()&&null!==this.getExecutionStepResults()?{executionStepResults:this.getExecutionStepResults().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getStartTime()&&null!==this.getStartTime()?{startTime:Pi(Ri,this,Ai).call(this,this.getStartTime(),!1)}:{},...void 0!==this.getEndTime()&&null!==this.getEndTime()?{endTime:Pi(Ri,this,Ai).call(this,this.getEndTime(),!1)}:{},...void 0!==this.getPercentageComplete()&&null!==this.getPercentageComplete()?{percentageComplete:this.getPercentageComplete()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getErrorMessage()&&null!==this.getErrorMessage()?{errorMessage:this.getErrorMessage().toJson(!1)}:{},...void 0!==this.getStageExtId()&&null!==this.getStageExtId()?{stageExtId:this.getStageExtId()}:{},...void 0!==this.getPhase()&&null!==this.getPhase()?{phase:this.getPhase()}:{},...void 0!==this.getOperationType()&&null!==this.getOperationType()?{operationType:this.getOperationType()}:{},...void 0!==this.getStepDescription()&&null!==this.getStepDescription()?{stepDescription:this.getStepDescription()}:{},...void 0!==this.getAffectedEntities()&&null!==this.getAffectedEntities()?{affectedEntities:this.getAffectedEntities().map(e=>e.toJson(!1))}:{},...void 0!==this.getExecutionStepResults()&&null!==this.getExecutionStepResults()?{executionStepResults:this.getExecutionStepResults().map(e=>e.toJson(!1))}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getStartTime()&&null!==this.getStartTime()?{startTime:Pi(Ri,this,Ai).call(this,this.getStartTime(),!1)}:{},...void 0!==this.getEndTime()&&null!==this.getEndTime()?{endTime:Pi(Ri,this,Ai).call(this,this.getEndTime(),!1)}:{},...void 0!==this.getPercentageComplete()&&null!==this.getPercentageComplete()?{percentageComplete:this.getPercentageComplete()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("errorMessage"===t&&(void 0===this.errorMessage||null===this.errorMessage))return new E("errorMessage","undefined or null");if("stageExtId"===t){if(void 0===this.stageExtId||null===this.stageExtId)return new E("stageExtId","undefined or null");if(!F.validatePattern(this.stageExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("stageExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("phase"===t&&(void 0===this.phase||null===this.phase))return new E("phase","undefined or null");if("operationType"===t&&(void 0===this.operationType||null===this.operationType))return new E("operationType","undefined or null");if("stepDescription"===t){if(void 0===this.stepDescription||null===this.stepDescription)return new E("stepDescription","undefined or null");if(!F.validateMaxLength(this.stepDescription,1e3))return new E("stepDescription","does not satisfy required maxLength constraint: 1000")}if("affectedEntities"===t){if(void 0===this.affectedEntities||null===this.affectedEntities)return new E("affectedEntities","undefined or null");if(!F.validateMaxItems(this.affectedEntities,100))return new E("affectedEntities","does not satisfy required maxItems constraint: 100");if(!F.validateMinItems(this.affectedEntities,1))return new E("affectedEntities","does not satisfy required minItems constraint: 1")}if("executionStepResults"===t){if(void 0===this.executionStepResults||null===this.executionStepResults)return new E("executionStepResults","undefined or null");if(!F.validateMaxItems(this.executionStepResults,1))return new E("executionStepResults","does not satisfy required maxItems constraint: 1");if(!F.validateMinItems(this.executionStepResults,1))return new E("executionStepResults","does not satisfy required minItems constraint: 1")}if("status"===t&&(void 0===this.status||null===this.status))return new E("status","undefined or null");if("startTime"===t&&(void 0===this.startTime||null===this.startTime))return new E("startTime","undefined or null");if("endTime"===t&&(void 0===this.endTime||null===this.endTime))return new E("endTime","undefined or null");if("percentageComplete"===t){if(void 0===this.percentageComplete||null===this.percentageComplete)return new E("percentageComplete","undefined or null");if(!F.validateMaximum(this.percentageComplete,100))return new E("percentageComplete","does not satisfy required maximum constraint: 100");if(!F.validateMinimum(this.percentageComplete,0))return new E("percentageComplete","does not satisfy required minimum constraint: 0")}return new E(t,"no such property exists")}}function Ai(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}xi.prototype.errorMessage=void 0,xi.prototype.stageExtId=void 0,xi.prototype.phase=void 0,xi.prototype.operationType=void 0,xi.prototype.stepDescription=void 0,xi.prototype.affectedEntities=void 0,xi.prototype.executionStepResults=void 0,xi.prototype.status=void 0,xi.prototype.startTime=void 0,xi.prototype.endTime=void 0,xi.prototype.percentageComplete=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;class Ci extends xi{constructor(){super(),this.$objectType="dataprotection.v4.config.RecoveryPlanJobExecutionStepProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ci,xi.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}function Si(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Ni=new WeakSet;class Di extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ni),t.add(e),this.$objectType="dataprotection.v4.config.ListRecoveryPlanJobExecutionStepsApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,r,a,l;if(e){if(t=t||new Di,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"dataprotection.v4.config.RecoveryPlanJobExecutionStep":o=xi.constructFromObject(i[r],void 0),a.push(o);break;case"dataprotection.v4.config.RecoveryPlanJobExecutionStepProjection":o=Ci.constructFromObject(i[r],void 0),a.push(o);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"dataprotection.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Ze.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Si(Ni,this,Ui).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Si(Ni,this,Ui).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Ui(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Mi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Di.prototype.metadata=void 0,Di.prototype.data=void 0,Di.prototype.$reserved=void 0,Di.prototype.$objectType=void 0,Di.prototype.$unknownFields=void 0;var Ji=new WeakSet;class _i extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ji),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPointReplicateApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new _i,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(Pt.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Mi(Ji,this,Li).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Mi(Ji,this,Li).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Li(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}_i.prototype.metadata=void 0,_i.prototype.data=void 0,_i.prototype.$reserved=void 0,_i.prototype.$objectType=void 0,_i.prototype.$unknownFields=void 0;const Vi={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",GET_VSS_METADATA:"GET_VSS_METADATA",COMPUTE_CHANGED_REGIONS:"COMPUTE_CHANGED_REGIONS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Vi).find(t=>Vi[t]===e);return null==t?Vi.$UNKNOWN:Vi[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Vi.$UNKNOWN:case Vi.$REDACTED:case Vi.GET_VSS_METADATA:case Vi.COMPUTE_CHANGED_REGIONS:return;default:throw new Error("Invalid : must be ClusterDiscoverOperation.{ $UNKNOWN|$REDACTED|GET_VSS_METADATA|COMPUTE_CHANGED_REGIONS }")}}};Object.freeze(Vi);const Gi=Vi;var Wi=new WeakSet;class Bi{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Wi),t.add(e),this.$objectType="dataprotection.v4.content.DiskRecoveryPointReference",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Bi,e.hasOwnProperty("recoveryPointExtId")&&null!==e.recoveryPointExtId&&void 0!==e.recoveryPointExtId&&t.setRecoveryPointExtId(e.recoveryPointExtId),e.hasOwnProperty("diskRecoveryPointExtId")&&null!==e.diskRecoveryPointExtId&&void 0!==e.diskRecoveryPointExtId&&t.setDiskRecoveryPointExtId(e.diskRecoveryPointExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getRecoveryPointExtId(){return this.recoveryPointExtId}setRecoveryPointExtId(e){this.recoveryPointExtId=e}getDiskRecoveryPointExtId(){return this.diskRecoveryPointExtId}setDiskRecoveryPointExtId(e){this.diskRecoveryPointExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getRecoveryPointExtId()&&null!==this.getRecoveryPointExtId()?{recoveryPointExtId:this.getRecoveryPointExtId()}:{},...void 0!==this.getDiskRecoveryPointExtId()&&null!==this.getDiskRecoveryPointExtId()?{diskRecoveryPointExtId:this.getDiskRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("recoveryPointExtId"===t){if(void 0===this.recoveryPointExtId||null===this.recoveryPointExtId)return new E("recoveryPointExtId","undefined or null");if(!F.validatePattern(this.recoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("recoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("diskRecoveryPointExtId"===t){if(void 0===this.diskRecoveryPointExtId||null===this.diskRecoveryPointExtId)return new E("diskRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.diskRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("diskRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Bi.prototype.recoveryPointExtId=void 0,Bi.prototype.diskRecoveryPointExtId=void 0,Bi.prototype.$reserved=void 0,Bi.prototype.$objectType=void 0,Bi.prototype.$unknownFields=void 0;var qi=new WeakSet;class zi extends Bi{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=qi),t.add(e),this.$objectType="dataprotection.v4.content.VmDiskRecoveryPointReference",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new zi,Bi.constructFromObject(e,t,!0),e.hasOwnProperty("vmRecoveryPointExtId")&&null!==e.vmRecoveryPointExtId&&void 0!==e.vmRecoveryPointExtId&&t.setVmRecoveryPointExtId(e.vmRecoveryPointExtId),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getVmRecoveryPointExtId(){return this.vmRecoveryPointExtId}setVmRecoveryPointExtId(e){this.vmRecoveryPointExtId=e}toJson(e){return{...void 0!==this.getVmRecoveryPointExtId()&&null!==this.getVmRecoveryPointExtId()?{vmRecoveryPointExtId:this.getVmRecoveryPointExtId()}:{},...void 0!==this.getRecoveryPointExtId()&&null!==this.getRecoveryPointExtId()?{recoveryPointExtId:this.getRecoveryPointExtId()}:{},...void 0!==this.getDiskRecoveryPointExtId()&&null!==this.getDiskRecoveryPointExtId()?{diskRecoveryPointExtId:this.getDiskRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("vmRecoveryPointExtId"===t){if(void 0===this.vmRecoveryPointExtId||null===this.vmRecoveryPointExtId)return new E("vmRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.vmRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("vmRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new E(t,"no such property exists")}}zi.prototype.vmRecoveryPointExtId=void 0,Bi.prototype.recoveryPointExtId=void 0,Bi.prototype.diskRecoveryPointExtId=void 0;var Ki=new WeakSet;class Yi extends Bi{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ki),t.add(e),this.$objectType="dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Yi,Bi.constructFromObject(e,t,!0),e.hasOwnProperty("volumeGroupRecoveryPointExtId")&&null!==e.volumeGroupRecoveryPointExtId&&void 0!==e.volumeGroupRecoveryPointExtId&&t.setVolumeGroupRecoveryPointExtId(e.volumeGroupRecoveryPointExtId),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getVolumeGroupRecoveryPointExtId(){return this.volumeGroupRecoveryPointExtId}setVolumeGroupRecoveryPointExtId(e){this.volumeGroupRecoveryPointExtId=e}toJson(e){return{...void 0!==this.getVolumeGroupRecoveryPointExtId()&&null!==this.getVolumeGroupRecoveryPointExtId()?{volumeGroupRecoveryPointExtId:this.getVolumeGroupRecoveryPointExtId()}:{},...void 0!==this.getRecoveryPointExtId()&&null!==this.getRecoveryPointExtId()?{recoveryPointExtId:this.getRecoveryPointExtId()}:{},...void 0!==this.getDiskRecoveryPointExtId()&&null!==this.getDiskRecoveryPointExtId()?{diskRecoveryPointExtId:this.getDiskRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("volumeGroupRecoveryPointExtId"===t){if(void 0===this.volumeGroupRecoveryPointExtId||null===this.volumeGroupRecoveryPointExtId)return new E("volumeGroupRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.volumeGroupRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("volumeGroupRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new E(t,"no such property exists")}}function Hi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Yi.prototype.volumeGroupRecoveryPointExtId=void 0,Bi.prototype.recoveryPointExtId=void 0,Bi.prototype.diskRecoveryPointExtId=void 0;var Xi=new WeakSet;class Zi{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Xi),n.add(t),this.diskRecoveryPoint=e,this.$objectType="dataprotection.v4.content.ComputeChangedRegionsClusterDiscoverSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Zi,e.hasOwnProperty("diskRecoveryPoint")&&null!==e.diskRecoveryPoint&&void 0!==e.diskRecoveryPoint)switch(i=e.diskRecoveryPoint.hasOwnProperty("$objectType")?e.diskRecoveryPoint.$objectType:typeof e.diskRecoveryPoint,i){case"dataprotection.v4.content.VmDiskRecoveryPointReference":t.setDiskRecoveryPoint(zi.constructFromObject(e.diskRecoveryPoint,void 0));break;case"dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference":t.setDiskRecoveryPoint(Yi.constructFromObject(e.diskRecoveryPoint,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("referenceDiskRecoveryPoint")&&null!==e.referenceDiskRecoveryPoint&&void 0!==e.referenceDiskRecoveryPoint)switch(i=e.referenceDiskRecoveryPoint.hasOwnProperty("$objectType")?e.referenceDiskRecoveryPoint.$objectType:typeof e.referenceDiskRecoveryPoint,i){case"dataprotection.v4.content.VmDiskRecoveryPointReference":t.setReferenceDiskRecoveryPoint(zi.constructFromObject(e.referenceDiskRecoveryPoint,void 0));break;case"dataprotection.v4.content.VolumeGroupDiskRecoveryPointReference":t.setReferenceDiskRecoveryPoint(Yi.constructFromObject(e.referenceDiskRecoveryPoint,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDiskRecoveryPoint(){return this.diskRecoveryPoint}setDiskRecoveryPoint(e){this.diskRecoveryPoint=e}getReferenceDiskRecoveryPoint(){return this.referenceDiskRecoveryPoint}setReferenceDiskRecoveryPoint(e){this.referenceDiskRecoveryPoint=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getDiskRecoveryPoint()&&null!==this.getDiskRecoveryPoint()?{diskRecoveryPoint:void 0!==this.getDiskRecoveryPoint().toJson?this.getDiskRecoveryPoint().toJson(!1):Array.isArray(this.getDiskRecoveryPoint())?this.getDiskRecoveryPoint().map(e=>void 0!==e.toJson?e.toJson(!1):e):Hi(Xi,this,Qi).call(this,this.getDiskRecoveryPoint(),!1)}:{},...void 0!==this.getReferenceDiskRecoveryPoint()&&null!==this.getReferenceDiskRecoveryPoint()?{referenceDiskRecoveryPoint:void 0!==this.getReferenceDiskRecoveryPoint().toJson?this.getReferenceDiskRecoveryPoint().toJson(!1):Array.isArray(this.getReferenceDiskRecoveryPoint())?this.getReferenceDiskRecoveryPoint().map(e=>void 0!==e.toJson?e.toJson(!1):e):Hi(Xi,this,Qi).call(this,this.getReferenceDiskRecoveryPoint(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getDiskRecoveryPoint()&&null!==this.getDiskRecoveryPoint()?{diskRecoveryPoint:void 0!==this.getDiskRecoveryPoint().toJson?this.getDiskRecoveryPoint().toJson():Array.isArray(this.getDiskRecoveryPoint())?this.getDiskRecoveryPoint().map(e=>void 0!==e.toJson?e.toJson():e):Hi(Xi,this,Qi).call(this,this.getDiskRecoveryPoint())}:{},...void 0!==this.getReferenceDiskRecoveryPoint()&&null!==this.getReferenceDiskRecoveryPoint()?{referenceDiskRecoveryPoint:void 0!==this.getReferenceDiskRecoveryPoint().toJson?this.getReferenceDiskRecoveryPoint().toJson():Array.isArray(this.getReferenceDiskRecoveryPoint())?this.getReferenceDiskRecoveryPoint().map(e=>void 0!==e.toJson?e.toJson():e):Hi(Xi,this,Qi).call(this,this.getReferenceDiskRecoveryPoint())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["diskRecoveryPoint"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"diskRecoveryPoint"!==t||void 0!==this.diskRecoveryPoint&&null!==this.diskRecoveryPoint?"referenceDiskRecoveryPoint"!==t||void 0!==this.referenceDiskRecoveryPoint&&null!==this.referenceDiskRecoveryPoint?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("referenceDiskRecoveryPoint","undefined or null"):new E("diskRecoveryPoint","undefined or null")}}function Qi(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Zi.prototype.diskRecoveryPoint=void 0,Zi.prototype.referenceDiskRecoveryPoint=void 0,Zi.prototype.$reserved=void 0,Zi.prototype.$objectType=void 0,Zi.prototype.$unknownFields=void 0;var eo=new WeakSet;class to{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=eo),n.add(t),this.vmRecoveryPointExtId=e,this.$objectType="dataprotection.v4.content.GetVssMetadataClusterDiscoverSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new to,e.hasOwnProperty("vmRecoveryPointExtId")&&null!==e.vmRecoveryPointExtId&&void 0!==e.vmRecoveryPointExtId&&t.setVmRecoveryPointExtId(e.vmRecoveryPointExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getVmRecoveryPointExtId(){return this.vmRecoveryPointExtId}setVmRecoveryPointExtId(e){this.vmRecoveryPointExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getVmRecoveryPointExtId()&&null!==this.getVmRecoveryPointExtId()?{vmRecoveryPointExtId:this.getVmRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["vmRecoveryPointExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("vmRecoveryPointExtId"===t){if(void 0===this.vmRecoveryPointExtId||null===this.vmRecoveryPointExtId)return new E("vmRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.vmRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("vmRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}function no(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}to.prototype.vmRecoveryPointExtId=void 0,to.prototype.$reserved=void 0,to.prototype.$objectType=void 0,to.prototype.$unknownFields=void 0;var io=new WeakSet;class oo{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=io),i.add(n),this.operation=e,this.spec=t,this.$objectType="dataprotection.v4.content.ClusterDiscoverSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new oo,e.hasOwnProperty("operation")&&null!==e.operation&&void 0!==e.operation&&t.setOperation(Gi.constructFromObject(e.operation)),e.hasOwnProperty("spec")&&null!==e.spec&&void 0!==e.spec)switch(i=e.spec.hasOwnProperty("$objectType")?e.spec.$objectType:typeof e.spec,i){case"dataprotection.v4.content.GetVssMetadataClusterDiscoverSpec":t.setSpec(to.constructFromObject(e.spec,void 0));break;case"dataprotection.v4.content.ComputeChangedRegionsClusterDiscoverSpec":t.setSpec(Zi.constructFromObject(e.spec,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOperation(){return this.operation}setOperation(e){this.operation=e}getSpec(){return this.spec}setSpec(e){this.spec=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getOperation()&&null!==this.getOperation()?{operation:this.getOperation()}:{},...void 0!==this.getSpec()&&null!==this.getSpec()?{spec:void 0!==this.getSpec().toJson?this.getSpec().toJson(!1):Array.isArray(this.getSpec())?this.getSpec().map(e=>void 0!==e.toJson?e.toJson(!1):e):no(io,this,so).call(this,this.getSpec(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getOperation()&&null!==this.getOperation()?{operation:this.getOperation()}:{},...void 0!==this.getSpec()&&null!==this.getSpec()?{spec:void 0!==this.getSpec().toJson?this.getSpec().toJson():Array.isArray(this.getSpec())?this.getSpec().map(e=>void 0!==e.toJson?e.toJson():e):no(io,this,so).call(this,this.getSpec())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["operation","spec"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"operation"!==t||void 0!==this.operation&&null!==this.operation?"spec"!==t||void 0!==this.spec&&null!==this.spec?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("spec","undefined or null"):new E("operation","undefined or null")}}function so(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}oo.prototype.operation=void 0,oo.prototype.spec=void 0,oo.prototype.$reserved=void 0,oo.prototype.$objectType=void 0,oo.prototype.$unknownFields=void 0;var ro=new WeakSet;class ao{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ro),t.add(e),this.$objectType="dataprotection.v4.content.BaseRecoveryPointSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ao,e.hasOwnProperty("referenceRecoveryPointExtId")&&null!==e.referenceRecoveryPointExtId&&void 0!==e.referenceRecoveryPointExtId&&t.setReferenceRecoveryPointExtId(e.referenceRecoveryPointExtId),e.hasOwnProperty("referenceDiskRecoveryPointExtId")&&null!==e.referenceDiskRecoveryPointExtId&&void 0!==e.referenceDiskRecoveryPointExtId&&t.setReferenceDiskRecoveryPointExtId(e.referenceDiskRecoveryPointExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getReferenceRecoveryPointExtId(){return this.referenceRecoveryPointExtId}setReferenceRecoveryPointExtId(e){this.referenceRecoveryPointExtId=e}getReferenceDiskRecoveryPointExtId(){return this.referenceDiskRecoveryPointExtId}setReferenceDiskRecoveryPointExtId(e){this.referenceDiskRecoveryPointExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{},...void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("referenceRecoveryPointExtId"===t){if(void 0===this.referenceRecoveryPointExtId||null===this.referenceRecoveryPointExtId)return new E("referenceRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.referenceRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("referenceRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("referenceDiskRecoveryPointExtId"===t){if(void 0===this.referenceDiskRecoveryPointExtId||null===this.referenceDiskRecoveryPointExtId)return new E("referenceDiskRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.referenceDiskRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("referenceDiskRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}ao.prototype.referenceRecoveryPointExtId=void 0,ao.prototype.referenceDiskRecoveryPointExtId=void 0,ao.prototype.$reserved=void 0,ao.prototype.$objectType=void 0,ao.prototype.$unknownFields=void 0;var lo=new WeakSet;class uo extends ao{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=lo),t.add(e),this.$objectType="dataprotection.v4.content.VmDiskRecoveryPointClusterDiscoverSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new uo,ao.constructFromObject(e,t,!0),e.hasOwnProperty("referenceVmRecoveryPointExtId")&&null!==e.referenceVmRecoveryPointExtId&&void 0!==e.referenceVmRecoveryPointExtId&&t.setReferenceVmRecoveryPointExtId(e.referenceVmRecoveryPointExtId),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getReferenceVmRecoveryPointExtId(){return this.referenceVmRecoveryPointExtId}setReferenceVmRecoveryPointExtId(e){this.referenceVmRecoveryPointExtId=e}toJson(e){return{...void 0!==this.getReferenceVmRecoveryPointExtId()&&null!==this.getReferenceVmRecoveryPointExtId()?{referenceVmRecoveryPointExtId:this.getReferenceVmRecoveryPointExtId()}:{},...void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{},...void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("referenceVmRecoveryPointExtId"===t){if(void 0===this.referenceVmRecoveryPointExtId||null===this.referenceVmRecoveryPointExtId)return new E("referenceVmRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.referenceVmRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("referenceVmRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new E(t,"no such property exists")}}uo.prototype.referenceVmRecoveryPointExtId=void 0,ao.prototype.referenceRecoveryPointExtId=void 0,ao.prototype.referenceDiskRecoveryPointExtId=void 0;var co=new WeakSet;class ho extends uo{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=co),t.add(e),this.$objectType="dataprotection.v4.content.VmRecoveryPointChangedRegionsComputeSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ho,uo.constructFromObject(e,t,!0),e.hasOwnProperty("offset")&&null!==e.offset&&void 0!==e.offset&&t.setOffset(e.offset),e.hasOwnProperty("length")&&null!==e.length&&void 0!==e.length&&t.setLength(e.length),e.hasOwnProperty("blockSizeByte")&&null!==e.blockSizeByte&&void 0!==e.blockSizeByte&&t.setBlockSizeByte(e.blockSizeByte),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOffset(){return this.offset}setOffset(e){this.offset=e}getLength(){return this.length}setLength(e){this.length=e}getBlockSizeByte(){return this.blockSizeByte}setBlockSizeByte(e){this.blockSizeByte=e}toJson(e){return{...void 0!==this.getOffset()&&null!==this.getOffset()?{offset:this.getOffset()}:{},...void 0!==this.getLength()&&null!==this.getLength()?{length:this.getLength()}:{},...void 0!==this.getBlockSizeByte()&&null!==this.getBlockSizeByte()?{blockSizeByte:this.getBlockSizeByte()}:{},...void 0!==this.getReferenceVmRecoveryPointExtId()&&null!==this.getReferenceVmRecoveryPointExtId()?{referenceVmRecoveryPointExtId:this.getReferenceVmRecoveryPointExtId()}:{},...void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{},...void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("offset"===t&&(void 0===this.offset||null===this.offset))return new E("offset","undefined or null");if("length"===t&&(void 0===this.length||null===this.length))return new E("length","undefined or null");if("blockSizeByte"===t){if(void 0===this.blockSizeByte||null===this.blockSizeByte)return new E("blockSizeByte","undefined or null");if(!F.validateMaximum(this.blockSizeByte,262144))return new E("blockSizeByte","does not satisfy required maximum constraint: 262144");if(!F.validateMinimum(this.blockSizeByte,32768))return new E("blockSizeByte","does not satisfy required minimum constraint: 32768")}return new E(t,"no such property exists")}}ho.prototype.offset=void 0,ho.prototype.length=void 0,ho.prototype.blockSizeByte=void 0,uo.prototype.referenceVmRecoveryPointExtId=void 0,ao.prototype.referenceRecoveryPointExtId=void 0,ao.prototype.referenceDiskRecoveryPointExtId=void 0;var po=new WeakSet;class vo{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=po),n.add(t),this.value=e,this.$objectType="common.v1.config.IPv4Address",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new vo,e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value&&t.setValue(e.value),e.hasOwnProperty("prefixLength")&&null!==e.prefixLength&&void 0!==e.prefixLength&&t.setPrefixLength(e.prefixLength),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getValue(){return this.value}setValue(e){this.value=e}getPrefixLength(){return this.prefixLength}setPrefixLength(e){this.prefixLength=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{},...void 0!==this.getPrefixLength()&&null!==this.getPrefixLength()?{prefixLength:this.getPrefixLength()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["value"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("value"===t){if(void 0===this.value||null===this.value)return new E("value","undefined or null");if(!F.validatePattern(this.value,/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/))return new E("value","does not satisfy required pattern: /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/")}if("prefixLength"===t){if(void 0===this.prefixLength||null===this.prefixLength)return new E("prefixLength","undefined or null");if(!F.validateMaximum(this.prefixLength,32))return new E("prefixLength","does not satisfy required maximum constraint: 32");if(!F.validateMinimum(this.prefixLength,0))return new E("prefixLength","does not satisfy required minimum constraint: 0")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}vo.prototype.value=void 0,vo.prototype.prefixLength=32,vo.prototype.$reserved=void 0,vo.prototype.$objectType=void 0,vo.prototype.$unknownFields=void 0;var yo=new WeakSet;class go{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=yo),n.add(t),this.value=e,this.$objectType="common.v1.config.IPv6Address",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new go,e.hasOwnProperty("value")&&null!==e.value&&void 0!==e.value&&t.setValue(e.value),e.hasOwnProperty("prefixLength")&&null!==e.prefixLength&&void 0!==e.prefixLength&&t.setPrefixLength(e.prefixLength),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getValue(){return this.value}setValue(e){this.value=e}getPrefixLength(){return this.prefixLength}setPrefixLength(e){this.prefixLength=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getValue()&&null!==this.getValue()?{value:this.getValue()}:{},...void 0!==this.getPrefixLength()&&null!==this.getPrefixLength()?{prefixLength:this.getPrefixLength()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["value"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("value"===t){if(void 0===this.value||null===this.value)return new E("value","undefined or null");if(!F.validatePattern(this.value,/^(?:(?:(?:[A-Fa-f0-9]{1,4}:){6}|(?=(?:[A-Fa-f0-9]{0,4}:){0,6}(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$)(([0-9a-fA-F]{1,4}:){0,5}|:)((:[0-9a-fA-F]{1,4}){1,5}:|:)|::(?:[A-Fa-f0-9]{1,4}:){5})(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])|(?:[A-Fa-f0-9]{1,4}:){7}[A-Fa-f0-9]{1,4}|(?=(?:[A-Fa-f0-9]{0,4}:){0,7}[A-Fa-f0-9]{0,4}$)(([0-9a-fA-F]{1,4}:){1,7}|:)((:[0-9a-fA-F]{1,4}){1,7}|:)|(?:[A-Fa-f0-9]{1,4}:){7}:|:(:[A-Fa-f0-9]{1,4}){7})$/))return new E("value","does not satisfy required pattern: /^(?:(?:(?:[A-Fa-f0-9]{1,4}:){6}|(?=(?:[A-Fa-f0-9]{0,4}:){0,6}(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$)(([0-9a-fA-F]{1,4}:){0,5}|:)((:[0-9a-fA-F]{1,4}){1,5}:|:)|::(?:[A-Fa-f0-9]{1,4}:){5})(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])|(?:[A-Fa-f0-9]{1,4}:){7}[A-Fa-f0-9]{1,4}|(?=(?:[A-Fa-f0-9]{0,4}:){0,7}[A-Fa-f0-9]{0,4}$)(([0-9a-fA-F]{1,4}:){1,7}|:)((:[0-9a-fA-F]{1,4}){1,7}|:)|(?:[A-Fa-f0-9]{1,4}:){7}:|:(:[A-Fa-f0-9]{1,4}){7})$/")}if("prefixLength"===t){if(void 0===this.prefixLength||null===this.prefixLength)return new E("prefixLength","undefined or null");if(!F.validateMaximum(this.prefixLength,128))return new E("prefixLength","does not satisfy required maximum constraint: 128");if(!F.validateMinimum(this.prefixLength,0))return new E("prefixLength","does not satisfy required minimum constraint: 0")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}go.prototype.value=void 0,go.prototype.prefixLength=128,go.prototype.$reserved=void 0,go.prototype.$objectType=void 0,go.prototype.$unknownFields=void 0;var fo=new WeakSet;class $o{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=fo),t.add(e),this.$objectType="common.v1.config.IPAddress",this.$reserved={$fv:"v1.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new $o,e.hasOwnProperty("ipv4")&&null!==e.ipv4&&void 0!==e.ipv4&&t.setIpv4(vo.constructFromObject(e.ipv4)),e.hasOwnProperty("ipv6")&&null!==e.ipv6&&void 0!==e.ipv6&&t.setIpv6(go.constructFromObject(e.ipv6)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIpv4(){return this.ipv4}setIpv4(e){this.ipv4=e}getIpv6(){return this.ipv6}setIpv6(e){this.ipv6=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}hasIpv4(){return!(void 0===this.ipv4||null===this.ipv4)}hasIpv6(){return!(void 0===this.ipv6||null===this.ipv6)}isValid(){return this.hasIpv4()||this.hasIpv6()}toJson(e){return{...void 0!==this.getIpv4()&&null!==this.getIpv4()?{ipv4:this.getIpv4().toJson(!1)}:{},...void 0!==this.getIpv6()&&null!==this.getIpv6()?{ipv6:this.getIpv6().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"ipv4"!==t||void 0!==this.ipv4&&null!==this.ipv4?"ipv6"!==t||void 0!==this.ipv6&&null!==this.ipv6?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("ipv6","undefined or null"):new E("ipv4","undefined or null")}}$o.prototype.ipv4=void 0,$o.prototype.ipv6=void 0,$o.prototype.$reserved=void 0,$o.prototype.$objectType=void 0,$o.prototype.$unknownFields=void 0;var wo=new WeakSet;class mo{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=wo),t.add(e),this.$objectType="dataprotection.v4.common.ClusterInfo",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new mo,e.hasOwnProperty("jwtToken")&&null!==e.jwtToken&&void 0!==e.jwtToken&&t.setJwtToken(e.jwtToken),e.hasOwnProperty("clusterIp")&&null!==e.clusterIp&&void 0!==e.clusterIp&&t.setClusterIp($o.constructFromObject(e.clusterIp)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getJwtToken(){return this.jwtToken}setJwtToken(e){this.jwtToken=e}getClusterIp(){return this.clusterIp}setClusterIp(e){this.clusterIp=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getJwtToken()&&null!==this.getJwtToken()?{jwtToken:this.getJwtToken()}:{},...void 0!==this.getClusterIp()&&null!==this.getClusterIp()?{clusterIp:this.getClusterIp().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"jwtToken"!==t||void 0!==this.jwtToken&&null!==this.jwtToken?"clusterIp"!==t||void 0!==this.clusterIp&&null!==this.clusterIp?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("clusterIp","undefined or null"):new E("jwtToken","undefined or null")}}function To(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}mo.prototype.jwtToken=void 0,mo.prototype.clusterIp=void 0,mo.prototype.$reserved=void 0,mo.prototype.$objectType=void 0,mo.prototype.$unknownFields=void 0;var ko=new WeakSet;class bo extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ko),t.add(e),this.$objectType="dataprotection.v4.config.ClusterInfoApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new bo,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"dataprotection.v4.common.ClusterInfo":t.setData(mo.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):To(ko,this,Fo).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):To(ko,this,Fo).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Fo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}bo.prototype.metadata=void 0,bo.prototype.data=void 0,bo.prototype.$reserved=void 0,bo.prototype.$objectType=void 0,bo.prototype.$unknownFields=void 0;const Eo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",COMPLETE:"COMPLETE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Eo).find(t=>Eo[t]===e);return null==t?Eo.$UNKNOWN:Eo[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Eo.$UNKNOWN:case Eo.$REDACTED:case Eo.COMPLETE:return;default:throw new Error("Invalid : must be RecoveryPointStatus.{ $UNKNOWN|$REDACTED|COMPLETE }")}}};Object.freeze(Eo);const Io=Eo,Oo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",CRASH_CONSISTENT:"CRASH_CONSISTENT",APPLICATION_CONSISTENT:"APPLICATION_CONSISTENT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Oo).find(t=>Oo[t]===e);return null==t?Oo.$UNKNOWN:Oo[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Oo.$UNKNOWN:case Oo.$REDACTED:case Oo.CRASH_CONSISTENT:case Oo.APPLICATION_CONSISTENT:return;default:throw new Error("Invalid : must be RecoveryPointType.{ $UNKNOWN|$REDACTED|CRASH_CONSISTENT|APPLICATION_CONSISTENT }")}}};Object.freeze(Oo);const jo=Oo;function Po(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Ro=new WeakSet;class xo extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ro),t.add(e),this.$objectType="dataprotection.v4.common.BaseRecoveryPoint",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new xo,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("locationAgnosticId")&&null!==e.locationAgnosticId&&void 0!==e.locationAgnosticId&&t.setLocationAgnosticId(e.locationAgnosticId),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("creationTime")&&null!==e.creationTime&&void 0!==e.creationTime&&t.setCreationTime(e.creationTime),e.hasOwnProperty("expirationTime")&&null!==e.expirationTime&&void 0!==e.expirationTime&&t.setExpirationTime(e.expirationTime),e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Io.constructFromObject(e.status)),e.hasOwnProperty("recoveryPointType")&&null!==e.recoveryPointType&&void 0!==e.recoveryPointType&&t.setRecoveryPointType(jo.constructFromObject(e.recoveryPointType)),e.hasOwnProperty("totalExclusiveUsageBytes")&&null!==e.totalExclusiveUsageBytes&&void 0!==e.totalExclusiveUsageBytes&&t.setTotalExclusiveUsageBytes(e.totalExclusiveUsageBytes),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLocationAgnosticId(){return this.locationAgnosticId}setLocationAgnosticId(e){this.locationAgnosticId=e}getName(){return this.name}setName(e){this.name=e}getCreationTime(){return this.creationTime}setCreationTime(e){this.creationTime=e}getExpirationTime(){return this.expirationTime}setExpirationTime(e){this.expirationTime=e}getStatus(){return this.status}setStatus(e){this.status=e}getRecoveryPointType(){return this.recoveryPointType}setRecoveryPointType(e){this.recoveryPointType=e}getTotalExclusiveUsageBytes(){return this.totalExclusiveUsageBytes}setTotalExclusiveUsageBytes(e){this.totalExclusiveUsageBytes=e}toJson(e){return!1===e?{...void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getCreationTime()&&null!==this.getCreationTime()?{creationTime:Po(Ro,this,Ao).call(this,this.getCreationTime(),!1)}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Po(Ro,this,Ao).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{},...void 0!==this.getTotalExclusiveUsageBytes()&&null!==this.getTotalExclusiveUsageBytes()?{totalExclusiveUsageBytes:this.getTotalExclusiveUsageBytes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Po(Ro,this,Ao).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("locationAgnosticId"===t){if(void 0===this.locationAgnosticId||null===this.locationAgnosticId)return new E("locationAgnosticId","undefined or null");if(!F.validatePattern(this.locationAgnosticId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("locationAgnosticId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}return"creationTime"!==t||void 0!==this.creationTime&&null!==this.creationTime?"expirationTime"!==t||void 0!==this.expirationTime&&null!==this.expirationTime?"status"!==t||void 0!==this.status&&null!==this.status?"recoveryPointType"!==t||void 0!==this.recoveryPointType&&null!==this.recoveryPointType?"totalExclusiveUsageBytes"!==t||void 0!==this.totalExclusiveUsageBytes&&null!==this.totalExclusiveUsageBytes?new E(t,"no such property exists"):new E("totalExclusiveUsageBytes","undefined or null"):new E("recoveryPointType","undefined or null"):new E("status","undefined or null"):new E("expirationTime","undefined or null"):new E("creationTime","undefined or null")}}function Ao(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}xo.prototype.locationAgnosticId=void 0,xo.prototype.name=void 0,xo.prototype.creationTime=void 0,xo.prototype.expirationTime=void 0,xo.prototype.status=void 0,xo.prototype.recoveryPointType=void 0,xo.prototype.totalExclusiveUsageBytes=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var Co=new WeakSet;class So{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=Co),i.add(n),this.domainManagerExtId=e,this.clusterExtIds=t,this.$objectType="dataprotection.v4.config.DisasterRecoveryLocation",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s;if(e){if(t=t||new So,e.hasOwnProperty("domainManagerExtId")&&null!==e.domainManagerExtId&&void 0!==e.domainManagerExtId&&t.setDomainManagerExtId(e.domainManagerExtId),e.hasOwnProperty("clusterExtIds")&&null!==e.clusterExtIds&&void 0!==e.clusterExtIds){for(s=[],i=e.clusterExtIds,o=0;o<i.length;o++)s.push(i[o]);t.setClusterExtIds(s)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDomainManagerExtId(){return this.domainManagerExtId}setDomainManagerExtId(e){this.domainManagerExtId=e}getClusterExtIds(){return this.clusterExtIds}setClusterExtIds(e){this.clusterExtIds=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getDomainManagerExtId()&&null!==this.getDomainManagerExtId()?{domainManagerExtId:this.getDomainManagerExtId()}:{},...void 0!==this.getClusterExtIds()&&null!==this.getClusterExtIds()?{clusterExtIds:this.getClusterExtIds()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["domainManagerExtId","clusterExtIds"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("domainManagerExtId"===t){if(void 0===this.domainManagerExtId||null===this.domainManagerExtId)return new E("domainManagerExtId","undefined or null");if(!F.validatePattern(this.domainManagerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("domainManagerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clusterExtIds"===t){if(void 0===this.clusterExtIds||null===this.clusterExtIds)return new E("clusterExtIds","undefined or null");if(!F.validateMaxItems(this.clusterExtIds,100))return new E("clusterExtIds","does not satisfy required maxItems constraint: 100")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}So.prototype.domainManagerExtId=void 0,So.prototype.clusterExtIds=void 0,So.prototype.$reserved=void 0,So.prototype.$objectType=void 0,So.prototype.$unknownFields=void 0;var No=new WeakSet;class Do{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=No),t.add(e),this.$objectType="dataprotection.v4.config.LocationReference",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Do,e.hasOwnProperty("locationExtId")&&null!==e.locationExtId&&void 0!==e.locationExtId&&t.setLocationExtId(e.locationExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getLocationExtId(){return this.locationExtId}setLocationExtId(e){this.locationExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getLocationExtId()&&null!==this.getLocationExtId()?{locationExtId:this.getLocationExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("locationExtId"===t){if(void 0===this.locationExtId||null===this.locationExtId)return new E("locationExtId","undefined or null");if(!F.validatePattern(this.locationExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("locationExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Do.prototype.locationExtId=void 0,Do.prototype.$reserved=void 0,Do.prototype.$objectType=void 0,Do.prototype.$unknownFields=void 0;var Uo=new WeakSet;class Mo{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Uo),t.add(e),this.$objectType="dataprotection.v4.common.DiskRecoveryPoint",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Mo,e.hasOwnProperty("diskRecoveryPointExtId")&&null!==e.diskRecoveryPointExtId&&void 0!==e.diskRecoveryPointExtId&&t.setDiskRecoveryPointExtId(e.diskRecoveryPointExtId),e.hasOwnProperty("diskExtId")&&null!==e.diskExtId&&void 0!==e.diskExtId&&t.setDiskExtId(e.diskExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getDiskRecoveryPointExtId(){return this.diskRecoveryPointExtId}setDiskRecoveryPointExtId(e){this.diskRecoveryPointExtId=e}getDiskExtId(){return this.diskExtId}setDiskExtId(e){this.diskExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getDiskRecoveryPointExtId()&&null!==this.getDiskRecoveryPointExtId()?{diskRecoveryPointExtId:this.getDiskRecoveryPointExtId()}:{},...void 0!==this.getDiskExtId()&&null!==this.getDiskExtId()?{diskExtId:this.getDiskExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("diskRecoveryPointExtId"===t){if(void 0===this.diskRecoveryPointExtId||null===this.diskRecoveryPointExtId)return new E("diskRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.diskRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("diskRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("diskExtId"===t){if(void 0===this.diskExtId||null===this.diskExtId)return new E("diskExtId","undefined or null");if(!F.validatePattern(this.diskExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("diskExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Mo.prototype.diskRecoveryPointExtId=void 0,Mo.prototype.diskExtId=void 0,Mo.prototype.$reserved=void 0,Mo.prototype.$objectType=void 0,Mo.prototype.$unknownFields=void 0;const Jo={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",FULL_BACKUP:"FULL_BACKUP",COPY_BACKUP:"COPY_BACKUP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Jo).find(t=>Jo[t]===e);return null==t?Jo.$UNKNOWN:Jo[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Jo.$UNKNOWN:case Jo.$REDACTED:case Jo.FULL_BACKUP:case Jo.COPY_BACKUP:return;default:throw new Error("Invalid : must be BackupType.{ $UNKNOWN|$REDACTED|FULL_BACKUP|COPY_BACKUP }")}}};Object.freeze(Jo);const _o=Jo;var Lo=new WeakSet;class Vo{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Lo),n.add(t),this.backupType=e,this.$objectType="dataprotection.v4.common.VssProperties",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s;if(e){if(t=t||new Vo,e.hasOwnProperty("backupType")&&null!==e.backupType&&void 0!==e.backupType&&t.setBackupType(_o.constructFromObject(e.backupType)),e.hasOwnProperty("shouldIncludeWriters")&&null!==e.shouldIncludeWriters&&void 0!==e.shouldIncludeWriters&&t.setShouldIncludeWriters(e.shouldIncludeWriters),e.hasOwnProperty("writers")&&null!==e.writers&&void 0!==e.writers){for(s=[],i=e.writers,o=0;o<i.length;o++)s.push(i[o]);t.setWriters(s)}if(e.hasOwnProperty("shouldStoreVssMetadata")&&null!==e.shouldStoreVssMetadata&&void 0!==e.shouldStoreVssMetadata&&t.setShouldStoreVssMetadata(e.shouldStoreVssMetadata),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getBackupType(){return this.backupType}setBackupType(e){this.backupType=e}getShouldIncludeWriters(){return this.shouldIncludeWriters}setShouldIncludeWriters(e){this.shouldIncludeWriters=e}getWriters(){return this.writers}setWriters(e){this.writers=e}getShouldStoreVssMetadata(){return this.shouldStoreVssMetadata}setShouldStoreVssMetadata(e){this.shouldStoreVssMetadata=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getBackupType()&&null!==this.getBackupType()?{backupType:this.getBackupType()}:{},...void 0!==this.getShouldIncludeWriters()&&null!==this.getShouldIncludeWriters()?{shouldIncludeWriters:this.getShouldIncludeWriters()}:{},...void 0!==this.getWriters()&&null!==this.getWriters()?{writers:this.getWriters()}:{},...void 0!==this.getShouldStoreVssMetadata()&&null!==this.getShouldStoreVssMetadata()?{shouldStoreVssMetadata:this.getShouldStoreVssMetadata()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["backupType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("backupType"===t&&(void 0===this.backupType||null===this.backupType))return new E("backupType","undefined or null");if("shouldIncludeWriters"===t&&(void 0===this.shouldIncludeWriters||null===this.shouldIncludeWriters))return new E("shouldIncludeWriters","undefined or null");if("writers"===t){if(void 0===this.writers||null===this.writers)return new E("writers","undefined or null");if(!F.validateMaxItems(this.writers,25))return new E("writers","does not satisfy required maxItems constraint: 25");if(!F.validateMinItems(this.writers,1))return new E("writers","does not satisfy required minItems constraint: 1")}return"shouldStoreVssMetadata"!==t||void 0!==this.shouldStoreVssMetadata&&null!==this.shouldStoreVssMetadata?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("shouldStoreVssMetadata","undefined or null")}}function Go(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Vo.prototype.backupType=void 0,Vo.prototype.shouldIncludeWriters=!1,Vo.prototype.writers=void 0,Vo.prototype.shouldStoreVssMetadata=!1,Vo.prototype.$reserved=void 0,Vo.prototype.$objectType=void 0,Vo.prototype.$unknownFields=void 0;var Wo=new WeakSet;class Bo extends xo{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Wo),t.add(e),this.$objectType="dataprotection.v4.common.BaseVmRecoveryPoint",this.$reserved={$fv:"v4.r0"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r,a;if(e){if(t=t||new Bo,xo.constructFromObject(e,t,!0),e.hasOwnProperty("consistencyGroupExtId")&&null!==e.consistencyGroupExtId&&void 0!==e.consistencyGroupExtId&&t.setConsistencyGroupExtId(e.consistencyGroupExtId),e.hasOwnProperty("diskRecoveryPoints")&&null!==e.diskRecoveryPoints&&void 0!==e.diskRecoveryPoints){for(r=[],i=e.diskRecoveryPoints,s=0;s<i.length;s++)o=Mo.constructFromObject(i[s],void 0),r.push(o);t.setDiskRecoveryPoints(r)}if(e.hasOwnProperty("vmExtId")&&null!==e.vmExtId&&void 0!==e.vmExtId&&t.setVmExtId(e.vmExtId),e.hasOwnProperty("vmCategories")&&null!==e.vmCategories&&void 0!==e.vmCategories){for(r=[],i=e.vmCategories,s=0;s<i.length;s++)r.push(i[s]);t.setVmCategories(r)}if(e.hasOwnProperty("applicationConsistentProperties")&&null!==e.applicationConsistentProperties&&void 0!==e.applicationConsistentProperties){if(a=e.applicationConsistentProperties.hasOwnProperty("$objectType")?e.applicationConsistentProperties.$objectType:typeof e.applicationConsistentProperties,"dataprotection.v4.common.VssProperties"!==a)throw"Unknown datatype "+a+" in data";t.setApplicationConsistentProperties(Vo.constructFromObject(e.applicationConsistentProperties,void 0))}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getConsistencyGroupExtId(){return this.consistencyGroupExtId}setConsistencyGroupExtId(e){this.consistencyGroupExtId=e}getDiskRecoveryPoints(){return this.diskRecoveryPoints}setDiskRecoveryPoints(e){this.diskRecoveryPoints=e}getVmExtId(){return this.vmExtId}setVmExtId(e){this.vmExtId=e}getVmCategories(){return this.vmCategories}setVmCategories(e){this.vmCategories=e}getApplicationConsistentProperties(){return this.applicationConsistentProperties}setApplicationConsistentProperties(e){this.applicationConsistentProperties=e}toJson(e){return!1===e?{...void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{},...void 0!==this.getDiskRecoveryPoints()&&null!==this.getDiskRecoveryPoints()?{diskRecoveryPoints:this.getDiskRecoveryPoints().map(e=>e.toJson(!1))}:{},...void 0!==this.getVmExtId()&&null!==this.getVmExtId()?{vmExtId:this.getVmExtId()}:{},...void 0!==this.getVmCategories()&&null!==this.getVmCategories()?{vmCategories:this.getVmCategories()}:{},...void 0!==this.getApplicationConsistentProperties()&&null!==this.getApplicationConsistentProperties()?{applicationConsistentProperties:void 0!==this.getApplicationConsistentProperties().toJson?this.getApplicationConsistentProperties().toJson(!1):Array.isArray(this.getApplicationConsistentProperties())?this.getApplicationConsistentProperties().map(e=>void 0!==e.toJson?e.toJson(!1):e):Go(Wo,this,qo).call(this,this.getApplicationConsistentProperties(),!1)}:{},...void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getCreationTime()&&null!==this.getCreationTime()?{creationTime:Go(Wo,this,zo).call(this,this.getCreationTime(),!1)}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Go(Wo,this,zo).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{},...void 0!==this.getTotalExclusiveUsageBytes()&&null!==this.getTotalExclusiveUsageBytes()?{totalExclusiveUsageBytes:this.getTotalExclusiveUsageBytes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getVmExtId()&&null!==this.getVmExtId()?{vmExtId:this.getVmExtId()}:{},...void 0!==this.getApplicationConsistentProperties()&&null!==this.getApplicationConsistentProperties()?{applicationConsistentProperties:void 0!==this.getApplicationConsistentProperties().toJson?this.getApplicationConsistentProperties().toJson():Array.isArray(this.getApplicationConsistentProperties())?this.getApplicationConsistentProperties().map(e=>void 0!==e.toJson?e.toJson():e):Go(Wo,this,qo).call(this,this.getApplicationConsistentProperties())}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Go(Wo,this,zo).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("consistencyGroupExtId"===t){if(void 0===this.consistencyGroupExtId||null===this.consistencyGroupExtId)return new E("consistencyGroupExtId","undefined or null");if(!F.validatePattern(this.consistencyGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("consistencyGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("diskRecoveryPoints"===t){if(void 0===this.diskRecoveryPoints||null===this.diskRecoveryPoints)return new E("diskRecoveryPoints","undefined or null");if(!F.validateMaxItems(this.diskRecoveryPoints,1024))return new E("diskRecoveryPoints","does not satisfy required maxItems constraint: 1024");if(!F.validateMinItems(this.diskRecoveryPoints,1))return new E("diskRecoveryPoints","does not satisfy required minItems constraint: 1")}if("vmExtId"===t){if(void 0===this.vmExtId||null===this.vmExtId)return new E("vmExtId","undefined or null");if(!F.validatePattern(this.vmExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("vmExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("vmCategories"===t){if(void 0===this.vmCategories||null===this.vmCategories)return new E("vmCategories","undefined or null");if(!F.validateMaxItems(this.vmCategories,256))return new E("vmCategories","does not satisfy required maxItems constraint: 256");if(!F.validateMinItems(this.vmCategories,1))return new E("vmCategories","does not satisfy required minItems constraint: 1")}return"applicationConsistentProperties"!==t||void 0!==this.applicationConsistentProperties&&null!==this.applicationConsistentProperties?new E(t,"no such property exists"):new E("applicationConsistentProperties","undefined or null")}}function qo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function zo(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Bo.prototype.consistencyGroupExtId=void 0,Bo.prototype.diskRecoveryPoints=void 0,Bo.prototype.vmExtId=void 0,Bo.prototype.vmCategories=void 0,Bo.prototype.applicationConsistentProperties=void 0,xo.prototype.locationAgnosticId=void 0,xo.prototype.name=void 0,xo.prototype.creationTime=void 0,xo.prototype.expirationTime=void 0,xo.prototype.status=void 0,xo.prototype.recoveryPointType=void 0,xo.prototype.totalExclusiveUsageBytes=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;const Ko={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AHV:"AHV",ESXI:"ESXI",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(Ko).find(t=>Ko[t]===e);return null==t?Ko.$UNKNOWN:Ko[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case Ko.$UNKNOWN:case Ko.$REDACTED:case Ko.AHV:case Ko.ESXI:return;default:throw new Error("Invalid : must be HypervisorType.{ $UNKNOWN|$REDACTED|AHV|ESXI }")}}};Object.freeze(Ko);const Yo=Ko;function Ho(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Xo=new WeakSet;class Zo extends Bo{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Xo),t.add(e),this.$objectType="dataprotection.v4.config.VmRecoveryPoint",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Zo,Bo.constructFromObject(e,t,!0),e.hasOwnProperty("hypervisorType")&&null!==e.hypervisorType&&void 0!==e.hypervisorType&&t.setHypervisorType(Yo.constructFromObject(e.hypervisorType)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getHypervisorType(){return this.hypervisorType}setHypervisorType(e){this.hypervisorType=e}toJson(e){return!1===e?{...void 0!==this.getHypervisorType()&&null!==this.getHypervisorType()?{hypervisorType:this.getHypervisorType()}:{},...void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{},...void 0!==this.getDiskRecoveryPoints()&&null!==this.getDiskRecoveryPoints()?{diskRecoveryPoints:this.getDiskRecoveryPoints().map(e=>e.toJson(!1))}:{},...void 0!==this.getVmExtId()&&null!==this.getVmExtId()?{vmExtId:this.getVmExtId()}:{},...void 0!==this.getVmCategories()&&null!==this.getVmCategories()?{vmCategories:this.getVmCategories()}:{},...void 0!==this.getApplicationConsistentProperties()&&null!==this.getApplicationConsistentProperties()?{applicationConsistentProperties:void 0!==this.getApplicationConsistentProperties().toJson?this.getApplicationConsistentProperties().toJson(!1):Array.isArray(this.getApplicationConsistentProperties())?this.getApplicationConsistentProperties().map(e=>void 0!==e.toJson?e.toJson(!1):e):Ho(Xo,this,Qo).call(this,this.getApplicationConsistentProperties(),!1)}:{},...void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getCreationTime()&&null!==this.getCreationTime()?{creationTime:Ho(Xo,this,es).call(this,this.getCreationTime(),!1)}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Ho(Xo,this,es).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{},...void 0!==this.getTotalExclusiveUsageBytes()&&null!==this.getTotalExclusiveUsageBytes()?{totalExclusiveUsageBytes:this.getTotalExclusiveUsageBytes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getHypervisorType()&&null!==this.getHypervisorType()?{hypervisorType:this.getHypervisorType()}:{},...void 0!==this.getVmExtId()&&null!==this.getVmExtId()?{vmExtId:this.getVmExtId()}:{},...void 0!==this.getApplicationConsistentProperties()&&null!==this.getApplicationConsistentProperties()?{applicationConsistentProperties:void 0!==this.getApplicationConsistentProperties().toJson?this.getApplicationConsistentProperties().toJson():Array.isArray(this.getApplicationConsistentProperties())?this.getApplicationConsistentProperties().map(e=>void 0!==e.toJson?e.toJson():e):Ho(Xo,this,Qo).call(this,this.getApplicationConsistentProperties())}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Ho(Xo,this,es).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"hypervisorType"!==t||void 0!==this.hypervisorType&&null!==this.hypervisorType?new E(t,"no such property exists"):new E("hypervisorType","undefined or null")}}function Qo(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function es(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Zo.prototype.hypervisorType=void 0,Bo.prototype.consistencyGroupExtId=void 0,Bo.prototype.diskRecoveryPoints=void 0,Bo.prototype.vmExtId=void 0,Bo.prototype.vmCategories=void 0,Bo.prototype.applicationConsistentProperties=void 0,xo.prototype.locationAgnosticId=void 0,xo.prototype.name=void 0,xo.prototype.creationTime=void 0,xo.prototype.expirationTime=void 0,xo.prototype.status=void 0,xo.prototype.recoveryPointType=void 0,xo.prototype.totalExclusiveUsageBytes=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var ts=new WeakSet;class ns extends Ae{constructor(e){var t,n;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,n=ts),n.add(t),this.volumeGroupExtId=e,this.$objectType="dataprotection.v4.config.VolumeGroupRecoveryPoint",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new ns,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("consistencyGroupExtId")&&null!==e.consistencyGroupExtId&&void 0!==e.consistencyGroupExtId&&t.setConsistencyGroupExtId(e.consistencyGroupExtId),e.hasOwnProperty("locationAgnosticId")&&null!==e.locationAgnosticId&&void 0!==e.locationAgnosticId&&t.setLocationAgnosticId(e.locationAgnosticId),e.hasOwnProperty("volumeGroupExtId")&&null!==e.volumeGroupExtId&&void 0!==e.volumeGroupExtId&&t.setVolumeGroupExtId(e.volumeGroupExtId),e.hasOwnProperty("volumeGroupCategories")&&null!==e.volumeGroupCategories&&void 0!==e.volumeGroupCategories){for(r=[],i=e.volumeGroupCategories,s=0;s<i.length;s++)r.push(i[s]);t.setVolumeGroupCategories(r)}if(e.hasOwnProperty("diskRecoveryPoints")&&null!==e.diskRecoveryPoints&&void 0!==e.diskRecoveryPoints){for(r=[],i=e.diskRecoveryPoints,s=0;s<i.length;s++)o=Mo.constructFromObject(i[s],void 0),r.push(o);t.setDiskRecoveryPoints(r)}if(e.hasOwnProperty("totalExclusiveUsageBytes")&&null!==e.totalExclusiveUsageBytes&&void 0!==e.totalExclusiveUsageBytes&&t.setTotalExclusiveUsageBytes(e.totalExclusiveUsageBytes),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getConsistencyGroupExtId(){return this.consistencyGroupExtId}setConsistencyGroupExtId(e){this.consistencyGroupExtId=e}getLocationAgnosticId(){return this.locationAgnosticId}setLocationAgnosticId(e){this.locationAgnosticId=e}getVolumeGroupExtId(){return this.volumeGroupExtId}setVolumeGroupExtId(e){this.volumeGroupExtId=e}getVolumeGroupCategories(){return this.volumeGroupCategories}setVolumeGroupCategories(e){this.volumeGroupCategories=e}getDiskRecoveryPoints(){return this.diskRecoveryPoints}setDiskRecoveryPoints(e){this.diskRecoveryPoints=e}getTotalExclusiveUsageBytes(){return this.totalExclusiveUsageBytes}setTotalExclusiveUsageBytes(e){this.totalExclusiveUsageBytes=e}toJson(e){return!1===e?{...void 0!==this.getConsistencyGroupExtId()&&null!==this.getConsistencyGroupExtId()?{consistencyGroupExtId:this.getConsistencyGroupExtId()}:{},...void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{},...void 0!==this.getVolumeGroupExtId()&&null!==this.getVolumeGroupExtId()?{volumeGroupExtId:this.getVolumeGroupExtId()}:{},...void 0!==this.getVolumeGroupCategories()&&null!==this.getVolumeGroupCategories()?{volumeGroupCategories:this.getVolumeGroupCategories()}:{},...void 0!==this.getDiskRecoveryPoints()&&null!==this.getDiskRecoveryPoints()?{diskRecoveryPoints:this.getDiskRecoveryPoints().map(e=>e.toJson(!1))}:{},...void 0!==this.getTotalExclusiveUsageBytes()&&null!==this.getTotalExclusiveUsageBytes()?{totalExclusiveUsageBytes:this.getTotalExclusiveUsageBytes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getVolumeGroupExtId()&&null!==this.getVolumeGroupExtId()?{volumeGroupExtId:this.getVolumeGroupExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["volumeGroupExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("consistencyGroupExtId"===t){if(void 0===this.consistencyGroupExtId||null===this.consistencyGroupExtId)return new E("consistencyGroupExtId","undefined or null");if(!F.validatePattern(this.consistencyGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("consistencyGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("locationAgnosticId"===t){if(void 0===this.locationAgnosticId||null===this.locationAgnosticId)return new E("locationAgnosticId","undefined or null");if(!F.validatePattern(this.locationAgnosticId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("locationAgnosticId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("volumeGroupExtId"===t){if(void 0===this.volumeGroupExtId||null===this.volumeGroupExtId)return new E("volumeGroupExtId","undefined or null");if(!F.validatePattern(this.volumeGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("volumeGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("volumeGroupCategories"===t){if(void 0===this.volumeGroupCategories||null===this.volumeGroupCategories)return new E("volumeGroupCategories","undefined or null");if(!F.validateMaxItems(this.volumeGroupCategories,20))return new E("volumeGroupCategories","does not satisfy required maxItems constraint: 20");if(!F.validateMinItems(this.volumeGroupCategories,1))return new E("volumeGroupCategories","does not satisfy required minItems constraint: 1")}if("diskRecoveryPoints"===t){if(void 0===this.diskRecoveryPoints||null===this.diskRecoveryPoints)return new E("diskRecoveryPoints","undefined or null");if(!F.validateMaxItems(this.diskRecoveryPoints,1024))return new E("diskRecoveryPoints","does not satisfy required maxItems constraint: 1024");if(!F.validateMinItems(this.diskRecoveryPoints,1))return new E("diskRecoveryPoints","does not satisfy required minItems constraint: 1")}return"totalExclusiveUsageBytes"!==t||void 0!==this.totalExclusiveUsageBytes&&null!==this.totalExclusiveUsageBytes?new E(t,"no such property exists"):new E("totalExclusiveUsageBytes","undefined or null")}}function is(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}ns.prototype.consistencyGroupExtId=void 0,ns.prototype.locationAgnosticId=void 0,ns.prototype.volumeGroupExtId=void 0,ns.prototype.volumeGroupCategories=void 0,ns.prototype.diskRecoveryPoints=void 0,ns.prototype.totalExclusiveUsageBytes=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var os=new WeakSet;class ss extends xo{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=os),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPoint",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new ss,xo.constructFromObject(e,t,!0),e.hasOwnProperty("ownerExtId")&&null!==e.ownerExtId&&void 0!==e.ownerExtId&&t.setOwnerExtId(e.ownerExtId),e.hasOwnProperty("locationReferences")&&null!==e.locationReferences&&void 0!==e.locationReferences){for(r=[],i=e.locationReferences,s=0;s<i.length;s++)o=Do.constructFromObject(i[s],void 0),r.push(o);t.setLocationReferences(r)}if(e.hasOwnProperty("vmRecoveryPoints")&&null!==e.vmRecoveryPoints&&void 0!==e.vmRecoveryPoints){for(r=[],i=e.vmRecoveryPoints,s=0;s<i.length;s++)o=Zo.constructFromObject(i[s],void 0),r.push(o);t.setVmRecoveryPoints(r)}if(e.hasOwnProperty("volumeGroupRecoveryPoints")&&null!==e.volumeGroupRecoveryPoints&&void 0!==e.volumeGroupRecoveryPoints){for(r=[],i=e.volumeGroupRecoveryPoints,s=0;s<i.length;s++)o=ns.constructFromObject(i[s],void 0),r.push(o);t.setVolumeGroupRecoveryPoints(r)}if(e.hasOwnProperty("isSecure")&&null!==e.isSecure&&void 0!==e.isSecure&&t.setIsSecure(e.isSecure),e.hasOwnProperty("sourceLocation")&&null!==e.sourceLocation&&void 0!==e.sourceLocation&&t.setSourceLocation(So.constructFromObject(e.sourceLocation)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOwnerExtId(){return this.ownerExtId}setOwnerExtId(e){this.ownerExtId=e}getLocationReferences(){return this.locationReferences}setLocationReferences(e){this.locationReferences=e}getVmRecoveryPoints(){return this.vmRecoveryPoints}setVmRecoveryPoints(e){this.vmRecoveryPoints=e}getVolumeGroupRecoveryPoints(){return this.volumeGroupRecoveryPoints}setVolumeGroupRecoveryPoints(e){this.volumeGroupRecoveryPoints=e}getIsSecure(){return this.isSecure}setIsSecure(e){this.isSecure=e}getSourceLocation(){return this.sourceLocation}setSourceLocation(e){this.sourceLocation=e}toJson(e){return!1===e?{...void 0!==this.getOwnerExtId()&&null!==this.getOwnerExtId()?{ownerExtId:this.getOwnerExtId()}:{},...void 0!==this.getLocationReferences()&&null!==this.getLocationReferences()?{locationReferences:this.getLocationReferences().map(e=>e.toJson(!1))}:{},...void 0!==this.getVmRecoveryPoints()&&null!==this.getVmRecoveryPoints()?{vmRecoveryPoints:this.getVmRecoveryPoints().map(e=>e.toJson(!1))}:{},...void 0!==this.getVolumeGroupRecoveryPoints()&&null!==this.getVolumeGroupRecoveryPoints()?{volumeGroupRecoveryPoints:this.getVolumeGroupRecoveryPoints().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsSecure()&&null!==this.getIsSecure()?{isSecure:this.getIsSecure()}:{},...void 0!==this.getSourceLocation()&&null!==this.getSourceLocation()?{sourceLocation:this.getSourceLocation().toJson(!1)}:{},...void 0!==this.getLocationAgnosticId()&&null!==this.getLocationAgnosticId()?{locationAgnosticId:this.getLocationAgnosticId()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getCreationTime()&&null!==this.getCreationTime()?{creationTime:is(os,this,rs).call(this,this.getCreationTime(),!1)}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:is(os,this,rs).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{},...void 0!==this.getTotalExclusiveUsageBytes()&&null!==this.getTotalExclusiveUsageBytes()?{totalExclusiveUsageBytes:this.getTotalExclusiveUsageBytes()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getVmRecoveryPoints()&&null!==this.getVmRecoveryPoints()?{vmRecoveryPoints:this.getVmRecoveryPoints().map(e=>e.toJson(!1))}:{},...void 0!==this.getVolumeGroupRecoveryPoints()&&null!==this.getVolumeGroupRecoveryPoints()?{volumeGroupRecoveryPoints:this.getVolumeGroupRecoveryPoints().map(e=>e.toJson(!1))}:{},...void 0!==this.getSourceLocation()&&null!==this.getSourceLocation()?{sourceLocation:this.getSourceLocation().toJson(!1)}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:is(os,this,rs).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getRecoveryPointType()&&null!==this.getRecoveryPointType()?{recoveryPointType:this.getRecoveryPointType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("ownerExtId"===t){if(void 0===this.ownerExtId||null===this.ownerExtId)return new E("ownerExtId","undefined or null");if(!F.validatePattern(this.ownerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("ownerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("locationReferences"===t){if(void 0===this.locationReferences||null===this.locationReferences)return new E("locationReferences","undefined or null");if(!F.validateMaxItems(this.locationReferences,1))return new E("locationReferences","does not satisfy required maxItems constraint: 1");if(!F.validateMinItems(this.locationReferences,1))return new E("locationReferences","does not satisfy required minItems constraint: 1")}if("vmRecoveryPoints"===t){if(void 0===this.vmRecoveryPoints||null===this.vmRecoveryPoints)return new E("vmRecoveryPoints","undefined or null");if(!F.validateMaxItems(this.vmRecoveryPoints,32))return new E("vmRecoveryPoints","does not satisfy required maxItems constraint: 32");if(!F.validateMinItems(this.vmRecoveryPoints,1))return new E("vmRecoveryPoints","does not satisfy required minItems constraint: 1")}if("volumeGroupRecoveryPoints"===t){if(void 0===this.volumeGroupRecoveryPoints||null===this.volumeGroupRecoveryPoints)return new E("volumeGroupRecoveryPoints","undefined or null");if(!F.validateMaxItems(this.volumeGroupRecoveryPoints,32))return new E("volumeGroupRecoveryPoints","does not satisfy required maxItems constraint: 32");if(!F.validateMinItems(this.volumeGroupRecoveryPoints,1))return new E("volumeGroupRecoveryPoints","does not satisfy required minItems constraint: 1")}return"isSecure"!==t||void 0!==this.isSecure&&null!==this.isSecure?"sourceLocation"!==t||void 0!==this.sourceLocation&&null!==this.sourceLocation?new E(t,"no such property exists"):new E("sourceLocation","undefined or null"):new E("isSecure","undefined or null")}}function rs(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}ss.prototype.ownerExtId=void 0,ss.prototype.locationReferences=void 0,ss.prototype.vmRecoveryPoints=void 0,ss.prototype.volumeGroupRecoveryPoints=void 0,ss.prototype.isSecure=void 0,ss.prototype.sourceLocation=void 0,xo.prototype.locationAgnosticId=void 0,xo.prototype.name=void 0,xo.prototype.creationTime=void 0,xo.prototype.expirationTime=void 0,xo.prototype.status=void 0,xo.prototype.recoveryPointType=void 0,xo.prototype.totalExclusiveUsageBytes=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;class as extends ss{constructor(){super(),this.$objectType="dataprotection.v4.config.RecoveryPointProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new as,ss.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}function ls(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var ds=new WeakSet;class us extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=ds),t.add(e),this.$objectType="dataprotection.v4.config.ListRecoveryPointsApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,r,a,l;if(e){if(t=t||new us,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++)switch(l){case"dataprotection.v4.config.RecoveryPoint":o=ss.constructFromObject(i[r],void 0),a.push(o);break;case"dataprotection.v4.config.RecoveryPointProjection":o=as.constructFromObject(i[r],void 0),a.push(o);break;default:throw"Unknown list of type "+l+" in data"}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"dataprotection.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Ze.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ls(ds,this,cs).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ls(ds,this,cs).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function cs(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}us.prototype.metadata=void 0,us.prototype.data=void 0,us.prototype.$reserved=void 0,us.prototype.$objectType=void 0,us.prototype.$unknownFields=void 0;var hs=new WeakSet;class ps{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=hs),t.add(e),this.$objectType="vmm.v4.ahv.config.CategoryReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ps,e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new E("extId","undefined or null");if(!F.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}ps.prototype.extId=void 0,ps.prototype.$reserved=void 0,ps.prototype.$objectType=void 0,ps.prototype.$unknownFields=void 0;var vs=new WeakSet;class ys{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=vs),t.add(e),this.$objectType="vmm.v4.ahv.config.OwnerReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ys,e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new E("extId","undefined or null");if(!F.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}ys.prototype.extId=void 0,ys.prototype.$reserved=void 0,ys.prototype.$objectType=void 0,ys.prototype.$unknownFields=void 0;var gs=new WeakSet;class fs{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=gs),t.add(e),this.$objectType="vmm.v4.ahv.config.OwnershipInfo",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new fs,e.hasOwnProperty("owner")&&null!==e.owner&&void 0!==e.owner&&t.setOwner(ys.constructFromObject(e.owner)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOwner(){return this.owner}setOwner(e){this.owner=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getOwner()&&null!==this.getOwner()?{owner:this.getOwner().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"owner"!==t||void 0!==this.owner&&null!==this.owner?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("owner","undefined or null")}}fs.prototype.owner=void 0,fs.prototype.$reserved=void 0,fs.prototype.$objectType=void 0,fs.prototype.$unknownFields=void 0;var $s=new WeakSet;class ws{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=$s),t.add(e),this.$objectType="vmm.v4.ahv.config.VmRestoreGuestToolsSpecification",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ws,e.hasOwnProperty("shouldClearInGuestVolumeGroupAttachments")&&null!==e.shouldClearInGuestVolumeGroupAttachments&&void 0!==e.shouldClearInGuestVolumeGroupAttachments&&t.setShouldClearInGuestVolumeGroupAttachments(e.shouldClearInGuestVolumeGroupAttachments),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getShouldClearInGuestVolumeGroupAttachments(){return this.shouldClearInGuestVolumeGroupAttachments}setShouldClearInGuestVolumeGroupAttachments(e){this.shouldClearInGuestVolumeGroupAttachments=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getShouldClearInGuestVolumeGroupAttachments()&&null!==this.getShouldClearInGuestVolumeGroupAttachments()?{shouldClearInGuestVolumeGroupAttachments:this.getShouldClearInGuestVolumeGroupAttachments()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"shouldClearInGuestVolumeGroupAttachments"!==t||void 0!==this.shouldClearInGuestVolumeGroupAttachments&&null!==this.shouldClearInGuestVolumeGroupAttachments?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("shouldClearInGuestVolumeGroupAttachments","undefined or null")}}ws.prototype.shouldClearInGuestVolumeGroupAttachments=!1,ws.prototype.$reserved=void 0,ws.prototype.$objectType=void 0,ws.prototype.$unknownFields=void 0;var ms=new WeakSet;class Ts{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ms),t.add(e),this.$objectType="vmm.v4.ahv.config.GuestStaticIpSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Ts,e.hasOwnProperty("ipv4Address")&&null!==e.ipv4Address&&void 0!==e.ipv4Address&&t.setIpv4Address(vo.constructFromObject(e.ipv4Address)),e.hasOwnProperty("gatewayIpv4AddressList")&&null!==e.gatewayIpv4AddressList&&void 0!==e.gatewayIpv4AddressList){for(r=[],i=e.gatewayIpv4AddressList,s=0;s<i.length;s++)o=vo.constructFromObject(i[s],void 0),r.push(o);t.setGatewayIpv4AddressList(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIpv4Address(){return this.ipv4Address}setIpv4Address(e){this.ipv4Address=e}getGatewayIpv4AddressList(){return this.gatewayIpv4AddressList}setGatewayIpv4AddressList(e){this.gatewayIpv4AddressList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIpv4Address()&&null!==this.getIpv4Address()?{ipv4Address:this.getIpv4Address().toJson(!1)}:{},...void 0!==this.getGatewayIpv4AddressList()&&null!==this.getGatewayIpv4AddressList()?{gatewayIpv4AddressList:this.getGatewayIpv4AddressList().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("ipv4Address"===t&&(void 0===this.ipv4Address||null===this.ipv4Address))return new E("ipv4Address","undefined or null");if("gatewayIpv4AddressList"===t){if(void 0===this.gatewayIpv4AddressList||null===this.gatewayIpv4AddressList)return new E("gatewayIpv4AddressList","undefined or null");if(!F.validateMaxItems(this.gatewayIpv4AddressList,100))return new E("gatewayIpv4AddressList","does not satisfy required maxItems constraint: 100")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Ts.prototype.ipv4Address=void 0,Ts.prototype.gatewayIpv4AddressList=void 0,Ts.prototype.$reserved=void 0,Ts.prototype.$objectType=void 0,Ts.prototype.$unknownFields=void 0;var ks=new WeakSet;class bs{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ks),t.add(e),this.$objectType="vmm.v4.ahv.config.VmRestoreGuestNicInfoOverrideSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new bs,e.hasOwnProperty("guestStaticIpList")&&null!==e.guestStaticIpList&&void 0!==e.guestStaticIpList){for(r=[],i=e.guestStaticIpList,s=0;s<i.length;s++)o=Ts.constructFromObject(i[s],void 0),r.push(o);t.setGuestStaticIpList(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getGuestStaticIpList(){return this.guestStaticIpList}setGuestStaticIpList(e){this.guestStaticIpList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getGuestStaticIpList()&&null!==this.getGuestStaticIpList()?{guestStaticIpList:this.getGuestStaticIpList().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("guestStaticIpList"===t){if(void 0===this.guestStaticIpList||null===this.guestStaticIpList)return new E("guestStaticIpList","undefined or null");if(!F.validateMaxItems(this.guestStaticIpList,100))return new E("guestStaticIpList","does not satisfy required maxItems constraint: 100")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}bs.prototype.guestStaticIpList=void 0,bs.prototype.$reserved=void 0,bs.prototype.$objectType=void 0,bs.prototype.$unknownFields=void 0;var Fs=new WeakSet;class Es{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Fs),t.add(e),this.$objectType="vmm.v4.ahv.config.SubnetReference",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Es,e.hasOwnProperty("extId")&&null!==e.extId&&void 0!==e.extId&&t.setExtId(e.extId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExtId(){return this.extId}setExtId(e){this.extId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("extId"===t){if(void 0===this.extId||null===this.extId)return new E("extId","undefined or null");if(!F.validatePattern(this.extId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("extId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Es.prototype.extId=void 0,Es.prototype.$reserved=void 0,Es.prototype.$objectType=void 0,Es.prototype.$unknownFields=void 0;var Is=new WeakSet;class Os{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Is),t.add(e),this.$objectType="vmm.v4.ahv.config.VmRestoreIpv4ConfigOverrideSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Os,e.hasOwnProperty("ipAddress")&&null!==e.ipAddress&&void 0!==e.ipAddress&&t.setIpAddress(vo.constructFromObject(e.ipAddress)),e.hasOwnProperty("secondaryIpAddressList")&&null!==e.secondaryIpAddressList&&void 0!==e.secondaryIpAddressList){for(r=[],i=e.secondaryIpAddressList,s=0;s<i.length;s++)o=vo.constructFromObject(i[s],void 0),r.push(o);t.setSecondaryIpAddressList(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getIpAddress(){return this.ipAddress}setIpAddress(e){this.ipAddress=e}getSecondaryIpAddressList(){return this.secondaryIpAddressList}setSecondaryIpAddressList(e){this.secondaryIpAddressList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getIpAddress()&&null!==this.getIpAddress()?{ipAddress:this.getIpAddress().toJson(!1)}:{},...void 0!==this.getSecondaryIpAddressList()&&null!==this.getSecondaryIpAddressList()?{secondaryIpAddressList:this.getSecondaryIpAddressList().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("ipAddress"===t&&(void 0===this.ipAddress||null===this.ipAddress))return new E("ipAddress","undefined or null");if("secondaryIpAddressList"===t){if(void 0===this.secondaryIpAddressList||null===this.secondaryIpAddressList)return new E("secondaryIpAddressList","undefined or null");if(!F.validateMaxItems(this.secondaryIpAddressList,100))return new E("secondaryIpAddressList","does not satisfy required maxItems constraint: 100")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Os.prototype.ipAddress=void 0,Os.prototype.secondaryIpAddressList=void 0,Os.prototype.$reserved=void 0,Os.prototype.$objectType=void 0,Os.prototype.$unknownFields=void 0;var js=new WeakSet;class Ps{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=js),t.add(e),this.$objectType="vmm.v4.ahv.config.VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ps,e.hasOwnProperty("subnet")&&null!==e.subnet&&void 0!==e.subnet&&t.setSubnet(Es.constructFromObject(e.subnet)),e.hasOwnProperty("ipv4Config")&&null!==e.ipv4Config&&void 0!==e.ipv4Config&&t.setIpv4Config(Os.constructFromObject(e.ipv4Config)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getSubnet(){return this.subnet}setSubnet(e){this.subnet=e}getIpv4Config(){return this.ipv4Config}setIpv4Config(e){this.ipv4Config=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getSubnet()&&null!==this.getSubnet()?{subnet:this.getSubnet().toJson(!1)}:{},...void 0!==this.getIpv4Config()&&null!==this.getIpv4Config()?{ipv4Config:this.getIpv4Config().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"subnet"!==t||void 0!==this.subnet&&null!==this.subnet?"ipv4Config"!==t||void 0!==this.ipv4Config&&null!==this.ipv4Config?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("ipv4Config","undefined or null"):new E("subnet","undefined or null")}}Ps.prototype.subnet=void 0,Ps.prototype.ipv4Config=void 0,Ps.prototype.$reserved=void 0,Ps.prototype.$objectType=void 0,Ps.prototype.$unknownFields=void 0;var Rs=new WeakSet;class xs{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Rs),t.add(e),this.$objectType="vmm.v4.ahv.config.VmRestoreVirtualEthernetNicOverrideSpec",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new xs,e.hasOwnProperty("macAddress")&&null!==e.macAddress&&void 0!==e.macAddress&&t.setMacAddress(e.macAddress),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMacAddress(){return this.macAddress}setMacAddress(e){this.macAddress=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getMacAddress()&&null!==this.getMacAddress()?{macAddress:this.getMacAddress()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("macAddress"===t){if(void 0===this.macAddress||null===this.macAddress)return new E("macAddress","undefined or null");if(!F.validatePattern(this.macAddress,/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/))return new E("macAddress","does not satisfy required pattern: /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}function As(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}xs.prototype.macAddress=void 0,xs.prototype.$reserved=void 0,xs.prototype.$objectType=void 0,xs.prototype.$unknownFields=void 0;var Cs=new WeakSet;class Ss{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=Cs),n.add(t),this.nicExtId=e,this.$objectType="vmm.v4.ahv.config.VmRestoreNicConfigOverrideParams",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ss,e.hasOwnProperty("nicExtId")&&null!==e.nicExtId&&void 0!==e.nicExtId&&t.setNicExtId(e.nicExtId),e.hasOwnProperty("nicBackingInfo")&&null!==e.nicBackingInfo&&void 0!==e.nicBackingInfo){if(i=e.nicBackingInfo.hasOwnProperty("$objectType")?e.nicBackingInfo.$objectType:typeof e.nicBackingInfo,"vmm.v4.ahv.config.VmRestoreVirtualEthernetNicOverrideSpec"!==i)throw"Unknown datatype "+i+" in data";t.setNicBackingInfo(xs.constructFromObject(e.nicBackingInfo,void 0))}if(e.hasOwnProperty("nicNetworkInfo")&&null!==e.nicNetworkInfo&&void 0!==e.nicNetworkInfo){if(i=e.nicNetworkInfo.hasOwnProperty("$objectType")?e.nicNetworkInfo.$objectType:typeof e.nicNetworkInfo,"vmm.v4.ahv.config.VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec"!==i)throw"Unknown datatype "+i+" in data";t.setNicNetworkInfo(Ps.constructFromObject(e.nicNetworkInfo,void 0))}if(e.hasOwnProperty("guestNicInfo")&&null!==e.guestNicInfo&&void 0!==e.guestNicInfo&&t.setGuestNicInfo(bs.constructFromObject(e.guestNicInfo)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNicExtId(){return this.nicExtId}setNicExtId(e){this.nicExtId=e}getNicBackingInfo(){return this.nicBackingInfo}setNicBackingInfo(e){this.nicBackingInfo=e}getNicNetworkInfo(){return this.nicNetworkInfo}setNicNetworkInfo(e){this.nicNetworkInfo=e}getGuestNicInfo(){return this.guestNicInfo}setGuestNicInfo(e){this.guestNicInfo=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getNicExtId()&&null!==this.getNicExtId()?{nicExtId:this.getNicExtId()}:{},...void 0!==this.getNicBackingInfo()&&null!==this.getNicBackingInfo()?{nicBackingInfo:void 0!==this.getNicBackingInfo().toJson?this.getNicBackingInfo().toJson(!1):Array.isArray(this.getNicBackingInfo())?this.getNicBackingInfo().map(e=>void 0!==e.toJson?e.toJson(!1):e):As(Cs,this,Ns).call(this,this.getNicBackingInfo(),!1)}:{},...void 0!==this.getNicNetworkInfo()&&null!==this.getNicNetworkInfo()?{nicNetworkInfo:void 0!==this.getNicNetworkInfo().toJson?this.getNicNetworkInfo().toJson(!1):Array.isArray(this.getNicNetworkInfo())?this.getNicNetworkInfo().map(e=>void 0!==e.toJson?e.toJson(!1):e):As(Cs,this,Ns).call(this,this.getNicNetworkInfo(),!1)}:{},...void 0!==this.getGuestNicInfo()&&null!==this.getGuestNicInfo()?{guestNicInfo:this.getGuestNicInfo().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getNicExtId()&&null!==this.getNicExtId()?{nicExtId:this.getNicExtId()}:{},...void 0!==this.getNicBackingInfo()&&null!==this.getNicBackingInfo()?{nicBackingInfo:void 0!==this.getNicBackingInfo().toJson?this.getNicBackingInfo().toJson():Array.isArray(this.getNicBackingInfo())?this.getNicBackingInfo().map(e=>void 0!==e.toJson?e.toJson():e):As(Cs,this,Ns).call(this,this.getNicBackingInfo())}:{},...void 0!==this.getNicNetworkInfo()&&null!==this.getNicNetworkInfo()?{nicNetworkInfo:void 0!==this.getNicNetworkInfo().toJson?this.getNicNetworkInfo().toJson():Array.isArray(this.getNicNetworkInfo())?this.getNicNetworkInfo().map(e=>void 0!==e.toJson?e.toJson():e):As(Cs,this,Ns).call(this,this.getNicNetworkInfo())}:{},...void 0!==this.getGuestNicInfo()&&null!==this.getGuestNicInfo()?{guestNicInfo:this.getGuestNicInfo().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["nicExtId"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("nicExtId"===t){if(void 0===this.nicExtId||null===this.nicExtId)return new E("nicExtId","undefined or null");if(!F.validatePattern(this.nicExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("nicExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"nicBackingInfo"!==t||void 0!==this.nicBackingInfo&&null!==this.nicBackingInfo?"nicNetworkInfo"!==t||void 0!==this.nicNetworkInfo&&null!==this.nicNetworkInfo?"guestNicInfo"!==t||void 0!==this.guestNicInfo&&null!==this.guestNicInfo?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("guestNicInfo","undefined or null"):new E("nicNetworkInfo","undefined or null"):new E("nicBackingInfo","undefined or null")}}function Ns(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ss.prototype.nicExtId=void 0,Ss.prototype.nicBackingInfo=void 0,Ss.prototype.nicNetworkInfo=void 0,Ss.prototype.guestNicInfo=void 0,Ss.prototype.$reserved=void 0,Ss.prototype.$objectType=void 0,Ss.prototype.$unknownFields=void 0;var Ds=new WeakSet;class Us{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ds),t.add(e),this.$objectType="vmm.v4.ahv.config.VmRestoreNicConfigSpecification",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Us,e.hasOwnProperty("nicRemoveList")&&null!==e.nicRemoveList&&void 0!==e.nicRemoveList){for(r=[],i=e.nicRemoveList,s=0;s<i.length;s++)r.push(i[s]);t.setNicRemoveList(r)}if(e.hasOwnProperty("nicOverrideList")&&null!==e.nicOverrideList&&void 0!==e.nicOverrideList){for(r=[],i=e.nicOverrideList,s=0;s<i.length;s++)o=Ss.constructFromObject(i[s],void 0),r.push(o);t.setNicOverrideList(r)}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getNicRemoveList(){return this.nicRemoveList}setNicRemoveList(e){this.nicRemoveList=e}getNicOverrideList(){return this.nicOverrideList}setNicOverrideList(e){this.nicOverrideList=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getNicRemoveList()&&null!==this.getNicRemoveList()?{nicRemoveList:this.getNicRemoveList()}:{},...void 0!==this.getNicOverrideList()&&null!==this.getNicOverrideList()?{nicOverrideList:this.getNicOverrideList().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("nicRemoveList"===t){if(void 0===this.nicRemoveList||null===this.nicRemoveList)return new E("nicRemoveList","undefined or null");if(!F.validateMaxItems(this.nicRemoveList,64))return new E("nicRemoveList","does not satisfy required maxItems constraint: 64")}if("nicOverrideList"===t){if(void 0===this.nicOverrideList||null===this.nicOverrideList)return new E("nicOverrideList","undefined or null");if(!F.validateMaxItems(this.nicOverrideList,64))return new E("nicOverrideList","does not satisfy required maxItems constraint: 64")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Us.prototype.nicRemoveList=void 0,Us.prototype.nicOverrideList=void 0,Us.prototype.$reserved=void 0,Us.prototype.$objectType=void 0,Us.prototype.$unknownFields=void 0;var Ms=new WeakSet;class Js{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ms),t.add(e),this.$objectType="vmm.v4.ahv.config.VmConfigOverrideSpecification",this.$reserved={$fv:"v4.r2"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Js,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("description")&&null!==e.description&&void 0!==e.description&&t.setDescription(e.description),e.hasOwnProperty("nicSpec")&&null!==e.nicSpec&&void 0!==e.nicSpec&&t.setNicSpec(Us.constructFromObject(e.nicSpec)),e.hasOwnProperty("categories")&&null!==e.categories&&void 0!==e.categories){for(r=[],i=e.categories,s=0;s<i.length;s++)o=ps.constructFromObject(i[s],void 0),r.push(o);t.setCategories(r)}if(e.hasOwnProperty("ownershipInfo")&&null!==e.ownershipInfo&&void 0!==e.ownershipInfo&&t.setOwnershipInfo(fs.constructFromObject(e.ownershipInfo)),e.hasOwnProperty("guestToolsSpec")&&null!==e.guestToolsSpec&&void 0!==e.guestToolsSpec&&t.setGuestToolsSpec(ws.constructFromObject(e.guestToolsSpec)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getDescription(){return this.description}setDescription(e){this.description=e}getNicSpec(){return this.nicSpec}setNicSpec(e){this.nicSpec=e}getCategories(){return this.categories}setCategories(e){this.categories=e}getOwnershipInfo(){return this.ownershipInfo}setOwnershipInfo(e){this.ownershipInfo=e}getGuestToolsSpec(){return this.guestToolsSpec}setGuestToolsSpec(e){this.guestToolsSpec=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getDescription()&&null!==this.getDescription()?{description:this.getDescription()}:{},...void 0!==this.getNicSpec()&&null!==this.getNicSpec()?{nicSpec:this.getNicSpec().toJson(!1)}:{},...void 0!==this.getCategories()&&null!==this.getCategories()?{categories:this.getCategories().map(e=>e.toJson(!1))}:{},...void 0!==this.getOwnershipInfo()&&null!==this.getOwnershipInfo()?{ownershipInfo:this.getOwnershipInfo().toJson(!1)}:{},...void 0!==this.getGuestToolsSpec()&&null!==this.getGuestToolsSpec()?{guestToolsSpec:this.getGuestToolsSpec().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,80))return new E("name","does not satisfy required maxLength constraint: 80")}if("description"===t&&(void 0===this.description||null===this.description))return new E("description","undefined or null");if("nicSpec"===t&&(void 0===this.nicSpec||null===this.nicSpec))return new E("nicSpec","undefined or null");if("categories"===t){if(void 0===this.categories||null===this.categories)return new E("categories","undefined or null");if(!F.validateMaxItems(this.categories,256))return new E("categories","does not satisfy required maxItems constraint: 256")}return"ownershipInfo"!==t||void 0!==this.ownershipInfo&&null!==this.ownershipInfo?"guestToolsSpec"!==t||void 0!==this.guestToolsSpec&&null!==this.guestToolsSpec?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("guestToolsSpec","undefined or null"):new E("ownershipInfo","undefined or null")}}Js.prototype.name=void 0,Js.prototype.description=void 0,Js.prototype.nicSpec=void 0,Js.prototype.categories=void 0,Js.prototype.ownershipInfo=void 0,Js.prototype.guestToolsSpec=void 0,Js.prototype.$reserved=void 0,Js.prototype.$objectType=void 0,Js.prototype.$unknownFields=void 0;class _s extends Js{constructor(){super(),this.$objectType="dataprotection.v4.config.AhvVmOverrideSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _s,Js.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}var Ls=new WeakSet;class Vs{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ls),t.add(e),this.$objectType="dataprotection.v4.config.EsxiVmOverrideSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Vs,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,80))return new E("name","does not satisfy required maxLength constraint: 80")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}function Gs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Vs.prototype.name=void 0,Vs.prototype.$reserved=void 0,Vs.prototype.$objectType=void 0,Vs.prototype.$unknownFields=void 0;var Ws=new WeakSet;class Bs{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ws),t.add(e),this.$objectType="dataprotection.v4.config.VmRecoveryPointRestoreOverride",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Bs,e.hasOwnProperty("vmRecoveryPointExtId")&&null!==e.vmRecoveryPointExtId&&void 0!==e.vmRecoveryPointExtId&&t.setVmRecoveryPointExtId(e.vmRecoveryPointExtId),e.hasOwnProperty("isStrictMode")&&null!==e.isStrictMode&&void 0!==e.isStrictMode&&t.setIsStrictMode(e.isStrictMode),e.hasOwnProperty("vmOverrideSpec")&&null!==e.vmOverrideSpec&&void 0!==e.vmOverrideSpec)switch(i=e.vmOverrideSpec.hasOwnProperty("$objectType")?e.vmOverrideSpec.$objectType:typeof e.vmOverrideSpec,i){case"dataprotection.v4.config.AhvVmOverrideSpec":t.setVmOverrideSpec(_s.constructFromObject(e.vmOverrideSpec,void 0));break;case"dataprotection.v4.config.EsxiVmOverrideSpec":t.setVmOverrideSpec(Vs.constructFromObject(e.vmOverrideSpec,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getVmRecoveryPointExtId(){return this.vmRecoveryPointExtId}setVmRecoveryPointExtId(e){this.vmRecoveryPointExtId=e}getIsStrictMode(){return this.isStrictMode}setIsStrictMode(e){this.isStrictMode=e}getVmOverrideSpec(){return this.vmOverrideSpec}setVmOverrideSpec(e){this.vmOverrideSpec=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getVmRecoveryPointExtId()&&null!==this.getVmRecoveryPointExtId()?{vmRecoveryPointExtId:this.getVmRecoveryPointExtId()}:{},...void 0!==this.getIsStrictMode()&&null!==this.getIsStrictMode()?{isStrictMode:this.getIsStrictMode()}:{},...void 0!==this.getVmOverrideSpec()&&null!==this.getVmOverrideSpec()?{vmOverrideSpec:void 0!==this.getVmOverrideSpec().toJson?this.getVmOverrideSpec().toJson(!1):Array.isArray(this.getVmOverrideSpec())?this.getVmOverrideSpec().map(e=>void 0!==e.toJson?e.toJson(!1):e):Gs(Ws,this,qs).call(this,this.getVmOverrideSpec(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getVmRecoveryPointExtId()&&null!==this.getVmRecoveryPointExtId()?{vmRecoveryPointExtId:this.getVmRecoveryPointExtId()}:{},...void 0!==this.getIsStrictMode()&&null!==this.getIsStrictMode()?{isStrictMode:this.getIsStrictMode()}:{},...void 0!==this.getVmOverrideSpec()&&null!==this.getVmOverrideSpec()?{vmOverrideSpec:void 0!==this.getVmOverrideSpec().toJson?this.getVmOverrideSpec().toJson():Array.isArray(this.getVmOverrideSpec())?this.getVmOverrideSpec().map(e=>void 0!==e.toJson?e.toJson():e):Gs(Ws,this,qs).call(this,this.getVmOverrideSpec())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("vmRecoveryPointExtId"===t){if(void 0===this.vmRecoveryPointExtId||null===this.vmRecoveryPointExtId)return new E("vmRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.vmRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("vmRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"isStrictMode"!==t||void 0!==this.isStrictMode&&null!==this.isStrictMode?"vmOverrideSpec"!==t||void 0!==this.vmOverrideSpec&&null!==this.vmOverrideSpec?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("vmOverrideSpec","undefined or null"):new E("isStrictMode","undefined or null")}}function qs(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Bs.prototype.vmRecoveryPointExtId=void 0,Bs.prototype.isStrictMode=!1,Bs.prototype.vmOverrideSpec=void 0,Bs.prototype.$reserved=void 0,Bs.prototype.$objectType=void 0,Bs.prototype.$unknownFields=void 0;var zs=new WeakSet;class Ks{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=zs),t.add(e),this.$objectType="dataprotection.v4.config.VolumeGroupOverrideSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ks,e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Ks.prototype.name=void 0,Ks.prototype.$reserved=void 0,Ks.prototype.$objectType=void 0,Ks.prototype.$unknownFields=void 0;var Ys=new WeakSet;class Hs{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ys),t.add(e),this.$objectType="dataprotection.v4.config.VolumeGroupRecoveryPointRestoreOverride",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Hs,e.hasOwnProperty("volumeGroupRecoveryPointExtId")&&null!==e.volumeGroupRecoveryPointExtId&&void 0!==e.volumeGroupRecoveryPointExtId&&t.setVolumeGroupRecoveryPointExtId(e.volumeGroupRecoveryPointExtId),e.hasOwnProperty("volumeGroupOverrideSpec")&&null!==e.volumeGroupOverrideSpec&&void 0!==e.volumeGroupOverrideSpec&&t.setVolumeGroupOverrideSpec(Ks.constructFromObject(e.volumeGroupOverrideSpec)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getVolumeGroupRecoveryPointExtId(){return this.volumeGroupRecoveryPointExtId}setVolumeGroupRecoveryPointExtId(e){this.volumeGroupRecoveryPointExtId=e}getVolumeGroupOverrideSpec(){return this.volumeGroupOverrideSpec}setVolumeGroupOverrideSpec(e){this.volumeGroupOverrideSpec=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getVolumeGroupRecoveryPointExtId()&&null!==this.getVolumeGroupRecoveryPointExtId()?{volumeGroupRecoveryPointExtId:this.getVolumeGroupRecoveryPointExtId()}:{},...void 0!==this.getVolumeGroupOverrideSpec()&&null!==this.getVolumeGroupOverrideSpec()?{volumeGroupOverrideSpec:this.getVolumeGroupOverrideSpec().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("volumeGroupRecoveryPointExtId"===t){if(void 0===this.volumeGroupRecoveryPointExtId||null===this.volumeGroupRecoveryPointExtId)return new E("volumeGroupRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.volumeGroupRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("volumeGroupRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"volumeGroupOverrideSpec"!==t||void 0!==this.volumeGroupOverrideSpec&&null!==this.volumeGroupOverrideSpec?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("volumeGroupOverrideSpec","undefined or null")}}Hs.prototype.volumeGroupRecoveryPointExtId=void 0,Hs.prototype.volumeGroupOverrideSpec=void 0,Hs.prototype.$reserved=void 0,Hs.prototype.$objectType=void 0,Hs.prototype.$unknownFields=void 0;var Xs=new WeakSet;class Zs{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Xs),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPointRestorationSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Zs,e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("vmRecoveryPointRestoreOverrides")&&null!==e.vmRecoveryPointRestoreOverrides&&void 0!==e.vmRecoveryPointRestoreOverrides){for(r=[],i=e.vmRecoveryPointRestoreOverrides,s=0;s<i.length;s++)o=Bs.constructFromObject(i[s],void 0),r.push(o);t.setVmRecoveryPointRestoreOverrides(r)}if(e.hasOwnProperty("volumeGroupRecoveryPointRestoreOverrides")&&null!==e.volumeGroupRecoveryPointRestoreOverrides&&void 0!==e.volumeGroupRecoveryPointRestoreOverrides){for(r=[],i=e.volumeGroupRecoveryPointRestoreOverrides,s=0;s<i.length;s++)o=Hs.constructFromObject(i[s],void 0),r.push(o);t.setVolumeGroupRecoveryPointRestoreOverrides(r)}if(e.hasOwnProperty("isInstantRestore")&&null!==e.isInstantRestore&&void 0!==e.isInstantRestore&&t.setIsInstantRestore(e.isInstantRestore),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getVmRecoveryPointRestoreOverrides(){return this.vmRecoveryPointRestoreOverrides}setVmRecoveryPointRestoreOverrides(e){this.vmRecoveryPointRestoreOverrides=e}getVolumeGroupRecoveryPointRestoreOverrides(){return this.volumeGroupRecoveryPointRestoreOverrides}setVolumeGroupRecoveryPointRestoreOverrides(e){this.volumeGroupRecoveryPointRestoreOverrides=e}getIsInstantRestore(){return this.isInstantRestore}setIsInstantRestore(e){this.isInstantRestore=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getVmRecoveryPointRestoreOverrides()&&null!==this.getVmRecoveryPointRestoreOverrides()?{vmRecoveryPointRestoreOverrides:this.getVmRecoveryPointRestoreOverrides().map(e=>e.toJson(!1))}:{},...void 0!==this.getVolumeGroupRecoveryPointRestoreOverrides()&&null!==this.getVolumeGroupRecoveryPointRestoreOverrides()?{volumeGroupRecoveryPointRestoreOverrides:this.getVolumeGroupRecoveryPointRestoreOverrides().map(e=>e.toJson(!1))}:{},...void 0!==this.getIsInstantRestore()&&null!==this.getIsInstantRestore()?{isInstantRestore:this.getIsInstantRestore()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new E("clusterExtId","undefined or null");if(!F.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("vmRecoveryPointRestoreOverrides"===t){if(void 0===this.vmRecoveryPointRestoreOverrides||null===this.vmRecoveryPointRestoreOverrides)return new E("vmRecoveryPointRestoreOverrides","undefined or null");if(!F.validateMaxItems(this.vmRecoveryPointRestoreOverrides,32))return new E("vmRecoveryPointRestoreOverrides","does not satisfy required maxItems constraint: 32");if(!F.validateMinItems(this.vmRecoveryPointRestoreOverrides,1))return new E("vmRecoveryPointRestoreOverrides","does not satisfy required minItems constraint: 1")}if("volumeGroupRecoveryPointRestoreOverrides"===t){if(void 0===this.volumeGroupRecoveryPointRestoreOverrides||null===this.volumeGroupRecoveryPointRestoreOverrides)return new E("volumeGroupRecoveryPointRestoreOverrides","undefined or null");if(!F.validateMaxItems(this.volumeGroupRecoveryPointRestoreOverrides,32))return new E("volumeGroupRecoveryPointRestoreOverrides","does not satisfy required maxItems constraint: 32");if(!F.validateMinItems(this.volumeGroupRecoveryPointRestoreOverrides,1))return new E("volumeGroupRecoveryPointRestoreOverrides","does not satisfy required minItems constraint: 1")}return"isInstantRestore"!==t||void 0!==this.isInstantRestore&&null!==this.isInstantRestore?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("isInstantRestore","undefined or null")}}function Qs(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Zs.prototype.clusterExtId=void 0,Zs.prototype.vmRecoveryPointRestoreOverrides=void 0,Zs.prototype.volumeGroupRecoveryPointRestoreOverrides=void 0,Zs.prototype.isInstantRestore=!1,Zs.prototype.$reserved=void 0,Zs.prototype.$objectType=void 0,Zs.prototype.$unknownFields=void 0;var er=new WeakSet;class tr extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=er),t.add(e),this.$objectType="dataprotection.v4.config.GetRecoveryPointApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new tr,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"dataprotection.v4.config.RecoveryPoint":t.setData(ss.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Qs(er,this,nr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Qs(er,this,nr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function nr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}tr.prototype.metadata=void 0,tr.prototype.data=void 0,tr.prototype.$reserved=void 0,tr.prototype.$objectType=void 0,tr.prototype.$unknownFields=void 0;const ir={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",ZEROED:"ZEROED",REGULAR:"REGULAR",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ir).find(t=>ir[t]===e);return null==t?ir.$UNKNOWN:ir[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ir.$UNKNOWN:case ir.$REDACTED:case ir.ZEROED:case ir.REGULAR:return;default:throw new Error("Invalid : must be RegionType.{ $UNKNOWN|$REDACTED|ZEROED|REGULAR }")}}};Object.freeze(ir);const or=ir;var sr=new WeakSet;class rr{constructor(e,t,n){var i,o;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(i=this,o=sr),o.add(i),this.offset=e,this.length=t,this.regionType=n,this.$objectType="dataprotection.v4.content.ChangedRegion",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new rr,e.hasOwnProperty("offset")&&null!==e.offset&&void 0!==e.offset&&t.setOffset(e.offset),e.hasOwnProperty("length")&&null!==e.length&&void 0!==e.length&&t.setLength(e.length),e.hasOwnProperty("regionType")&&null!==e.regionType&&void 0!==e.regionType&&t.setRegionType(or.constructFromObject(e.regionType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOffset(){return this.offset}setOffset(e){this.offset=e}getLength(){return this.length}setLength(e){this.length=e}getRegionType(){return this.regionType}setRegionType(e){this.regionType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getOffset()&&null!==this.getOffset()?{offset:this.getOffset()}:{},...void 0!==this.getLength()&&null!==this.getLength()?{length:this.getLength()}:{},...void 0!==this.getRegionType()&&null!==this.getRegionType()?{regionType:this.getRegionType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["offset","length","regionType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"offset"!==t||void 0!==this.offset&&null!==this.offset?"length"!==t||void 0!==this.length&&null!==this.length?"regionType"!==t||void 0!==this.regionType&&null!==this.regionType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("regionType","undefined or null"):new E("length","undefined or null"):new E("offset","undefined or null")}}function ar(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}rr.prototype.offset=void 0,rr.prototype.length=void 0,rr.prototype.regionType=void 0,rr.prototype.$reserved=void 0,rr.prototype.$objectType=void 0,rr.prototype.$unknownFields=void 0;var lr=new WeakSet;class dr extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=lr),t.add(e),this.$objectType="dataprotection.v4.content.ChangedVmRegionsApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,r,a,l;if(e){if(t=t||new dr,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("dataprotection.v4.content.ChangedRegion"!==l)throw"Unknown list of type "+l+" in data";o=rr.constructFromObject(i[r],void 0),a.push(o)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"dataprotection.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Ze.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):ar(lr,this,ur).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):ar(lr,this,ur).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function ur(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function cr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}dr.prototype.metadata=void 0,dr.prototype.data=void 0,dr.prototype.$reserved=void 0,dr.prototype.$objectType=void 0,dr.prototype.$unknownFields=void 0;var hr=new WeakSet;class pr{constructor(e){var t,n;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(t=this,n=hr),n.add(t),this.expirationTime=e,this.$objectType="dataprotection.v4.config.ExpirationTimeSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new pr,e.hasOwnProperty("expirationTime")&&null!==e.expirationTime&&void 0!==e.expirationTime&&t.setExpirationTime(e.expirationTime),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExpirationTime(){return this.expirationTime}setExpirationTime(e){this.expirationTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:cr(hr,this,vr).call(this,this.getExpirationTime(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["expirationTime"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"expirationTime"!==t||void 0!==this.expirationTime&&null!==this.expirationTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("expirationTime","undefined or null")}}function vr(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function yr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}pr.prototype.expirationTime=void 0,pr.prototype.$reserved=void 0,pr.prototype.$objectType=void 0,pr.prototype.$unknownFields=void 0;var gr=new WeakSet;class fr extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=gr),t.add(e),this.$objectType="dataprotection.v4.config.CreateRecoveryPointApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new fr,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(Pt.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):yr(gr,this,$r).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):yr(gr,this,$r).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function $r(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}fr.prototype.metadata=void 0,fr.prototype.data=void 0,fr.prototype.$reserved=void 0,fr.prototype.$objectType=void 0,fr.prototype.$unknownFields=void 0;var wr=new WeakSet;class mr{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=wr),t.add(e),this.$objectType="dataprotection.v4.content.FileWrapper",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new mr,e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}get$Reserved(){return this.$reserved}get$UnknownFields(){return this.$unknownFields}get$ObjectType(){return this.$objectType}toJson(e){return{$reserved:this.get$Reserved(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{},$objectType:this.get$ObjectType()}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?new E(t,"no such property exists"):new E("$objectType","undefined or null"):new E("$unknownFields","undefined or null"):new E("$reserved","undefined or null")}}function Tr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}mr.prototype.$reserved=void 0,mr.prototype.$unknownFields=void 0,mr.prototype.$objectType=void 0;var kr=new WeakSet;class br extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=kr),t.add(e),this.$objectType="dataprotection.v4.content.GetVssMetadataApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new br,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"dataprotection.v4.content.FileWrapper":t.setData(mr.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Tr(kr,this,Fr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Tr(kr,this,Fr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Fr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Er(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}br.prototype.metadata=void 0,br.prototype.data=void 0,br.prototype.$reserved=void 0,br.prototype.$objectType=void 0,br.prototype.$unknownFields=void 0;var Ir=new WeakSet;class Or extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ir),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPointRestoreApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Or,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(Pt.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Er(Ir,this,jr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Er(Ir,this,jr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function jr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Pr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Or.prototype.metadata=void 0,Or.prototype.data=void 0,Or.prototype.$reserved=void 0,Or.prototype.$objectType=void 0,Or.prototype.$unknownFields=void 0;var Rr=new WeakSet;class xr extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Rr),t.add(e),this.$objectType="dataprotection.v4.config.DeleteRecoveryPointApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new xr,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(Pt.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Pr(Rr,this,Ar).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Pr(Rr,this,Ar).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Ar(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}function Cr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}xr.prototype.metadata=void 0,xr.prototype.data=void 0,xr.prototype.$reserved=void 0,xr.prototype.$objectType=void 0,xr.prototype.$unknownFields=void 0;var Sr=new WeakSet;class Nr extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Sr),t.add(e),this.$objectType="dataprotection.v4.config.GetVmRecoveryPointApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Nr,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"dataprotection.v4.config.VmRecoveryPoint":t.setData(Zo.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Cr(Sr,this,Dr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Cr(Sr,this,Dr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Dr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Nr.prototype.metadata=void 0,Nr.prototype.data=void 0,Nr.prototype.$reserved=void 0,Nr.prototype.$objectType=void 0,Nr.prototype.$unknownFields=void 0;var Ur=new WeakSet;class Mr extends ao{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ur),t.add(e),this.$objectType="dataprotection.v4.content.VolumeGroupDiskRecoveryPointClusterDiscoverSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Mr,ao.constructFromObject(e,t,!0),e.hasOwnProperty("referenceVolumeGroupRecoveryPointExtId")&&null!==e.referenceVolumeGroupRecoveryPointExtId&&void 0!==e.referenceVolumeGroupRecoveryPointExtId&&t.setReferenceVolumeGroupRecoveryPointExtId(e.referenceVolumeGroupRecoveryPointExtId),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getReferenceVolumeGroupRecoveryPointExtId(){return this.referenceVolumeGroupRecoveryPointExtId}setReferenceVolumeGroupRecoveryPointExtId(e){this.referenceVolumeGroupRecoveryPointExtId=e}toJson(e){return{...void 0!==this.getReferenceVolumeGroupRecoveryPointExtId()&&null!==this.getReferenceVolumeGroupRecoveryPointExtId()?{referenceVolumeGroupRecoveryPointExtId:this.getReferenceVolumeGroupRecoveryPointExtId()}:{},...void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{},...void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("referenceVolumeGroupRecoveryPointExtId"===t){if(void 0===this.referenceVolumeGroupRecoveryPointExtId||null===this.referenceVolumeGroupRecoveryPointExtId)return new E("referenceVolumeGroupRecoveryPointExtId","undefined or null");if(!F.validatePattern(this.referenceVolumeGroupRecoveryPointExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("referenceVolumeGroupRecoveryPointExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new E(t,"no such property exists")}}Mr.prototype.referenceVolumeGroupRecoveryPointExtId=void 0,ao.prototype.referenceRecoveryPointExtId=void 0,ao.prototype.referenceDiskRecoveryPointExtId=void 0;var Jr=new WeakSet;class _r extends Mr{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Jr),t.add(e),this.$objectType="dataprotection.v4.content.VolumeGroupRecoveryPointChangedRegionsComputeSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _r,Mr.constructFromObject(e,t,!0),e.hasOwnProperty("offset")&&null!==e.offset&&void 0!==e.offset&&t.setOffset(e.offset),e.hasOwnProperty("length")&&null!==e.length&&void 0!==e.length&&t.setLength(e.length),e.hasOwnProperty("blockSizeByte")&&null!==e.blockSizeByte&&void 0!==e.blockSizeByte&&t.setBlockSizeByte(e.blockSizeByte),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getOffset(){return this.offset}setOffset(e){this.offset=e}getLength(){return this.length}setLength(e){this.length=e}getBlockSizeByte(){return this.blockSizeByte}setBlockSizeByte(e){this.blockSizeByte=e}toJson(e){return{...void 0!==this.getOffset()&&null!==this.getOffset()?{offset:this.getOffset()}:{},...void 0!==this.getLength()&&null!==this.getLength()?{length:this.getLength()}:{},...void 0!==this.getBlockSizeByte()&&null!==this.getBlockSizeByte()?{blockSizeByte:this.getBlockSizeByte()}:{},...void 0!==this.getReferenceVolumeGroupRecoveryPointExtId()&&null!==this.getReferenceVolumeGroupRecoveryPointExtId()?{referenceVolumeGroupRecoveryPointExtId:this.getReferenceVolumeGroupRecoveryPointExtId()}:{},...void 0!==this.getReferenceRecoveryPointExtId()&&null!==this.getReferenceRecoveryPointExtId()?{referenceRecoveryPointExtId:this.getReferenceRecoveryPointExtId()}:{},...void 0!==this.getReferenceDiskRecoveryPointExtId()&&null!==this.getReferenceDiskRecoveryPointExtId()?{referenceDiskRecoveryPointExtId:this.getReferenceDiskRecoveryPointExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("offset"===t&&(void 0===this.offset||null===this.offset))return new E("offset","undefined or null");if("length"===t&&(void 0===this.length||null===this.length))return new E("length","undefined or null");if("blockSizeByte"===t){if(void 0===this.blockSizeByte||null===this.blockSizeByte)return new E("blockSizeByte","undefined or null");if(!F.validateMaximum(this.blockSizeByte,262144))return new E("blockSizeByte","does not satisfy required maximum constraint: 262144");if(!F.validateMinimum(this.blockSizeByte,32768))return new E("blockSizeByte","does not satisfy required minimum constraint: 32768")}return new E(t,"no such property exists")}}function Lr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}_r.prototype.offset=void 0,_r.prototype.length=void 0,_r.prototype.blockSizeByte=void 0,Mr.prototype.referenceVolumeGroupRecoveryPointExtId=void 0,ao.prototype.referenceRecoveryPointExtId=void 0,ao.prototype.referenceDiskRecoveryPointExtId=void 0;var Vr=new WeakSet;class Gr extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Vr),t.add(e),this.$objectType="dataprotection.v4.content.ChangedVolumeGroupRegionsApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,r,a,l;if(e){if(t=t||new Gr,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)if(Array.isArray(e.data))if(0===e.data.length)t.setData([]);else{for(a=[],i=e.data,l=i[0].hasOwnProperty("$objectType")?i[0].$objectType:typeof i[0],r=0;r<i.length;r++){if("dataprotection.v4.content.ChangedRegion"!==l)throw"Unknown list of type "+l+" in data";o=rr.constructFromObject(i[r],void 0),a.push(o)}t.setData(a)}else{if(l=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,"dataprotection.v4.error.ErrorResponse"!==l)throw"Unknown datatype "+l+" in data";t.setData(Ze.constructFromObject(e.data,void 0))}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):Lr(Vr,this,Wr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):Lr(Vr,this,Wr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Wr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Gr.prototype.metadata=void 0,Gr.prototype.data=void 0,Gr.prototype.$reserved=void 0,Gr.prototype.$objectType=void 0,Gr.prototype.$unknownFields=void 0;var Br=new WeakSet;class qr{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Br),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPointReplicationSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new qr,e.hasOwnProperty("pcExtId")&&null!==e.pcExtId&&void 0!==e.pcExtId&&t.setPcExtId(e.pcExtId),e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getPcExtId(){return this.pcExtId}setPcExtId(e){this.pcExtId=e}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getPcExtId()&&null!==this.getPcExtId()?{pcExtId:this.getPcExtId()}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("pcExtId"===t){if(void 0===this.pcExtId||null===this.pcExtId)return new E("pcExtId","undefined or null");if(!F.validatePattern(this.pcExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("pcExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new E("clusterExtId","undefined or null");if(!F.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}function zr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}qr.prototype.pcExtId=void 0,qr.prototype.clusterExtId=void 0,qr.prototype.$reserved=void 0,qr.prototype.$objectType=void 0,qr.prototype.$unknownFields=void 0;var Kr=new WeakSet;class Yr extends s{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Kr),t.add(e),this.$objectType="dataprotection.v4.config.UpdateRecoveryPointExpirationTimeApiResponse",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Yr,e.hasOwnProperty("metadata")&&s.constructFromObject(e.metadata,t),e.hasOwnProperty("metadata")&&null!==e.metadata&&void 0!==e.metadata&&t.setMetadata(W.constructFromObject(e.metadata)),e.hasOwnProperty("data")&&null!==e.data&&void 0!==e.data)switch(i=e.data.hasOwnProperty("$objectType")?e.data.$objectType:typeof e.data,i){case"prism.v4.config.TaskReference":t.setData(Pt.constructFromObject(e.data,void 0));break;case"dataprotection.v4.error.ErrorResponse":t.setData(Ze.constructFromObject(e.data,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getMetadata(){return this.metadata}setMetadata(e){this.metadata=e}getData(){return this.data}setData(e){this.data=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return!1===e?{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson(!1):Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson(!1):e):zr(Kr,this,Hr).call(this,this.getData(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getMetadata()&&null!==this.getMetadata()?{metadata:this.getMetadata().toJson(!1)}:{},...void 0!==this.getData()&&null!==this.getData()?{data:void 0!==this.getData().toJson?this.getData().toJson():Array.isArray(this.getData())?this.getData().map(e=>void 0!==e.toJson?e.toJson():e):zr(Kr,this,Hr).call(this,this.getData())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"metadata"!==t||void 0!==this.metadata&&null!==this.metadata?"data"!==t||void 0!==this.data&&null!==this.data?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("data","undefined or null"):new E("metadata","undefined or null")}}function Hr(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Yr.prototype.metadata=void 0,Yr.prototype.data=void 0,Yr.prototype.$reserved=void 0,Yr.prototype.$objectType=void 0,Yr.prototype.$unknownFields=void 0;var Xr=new WeakSet;class Zr{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Xr),t.add(e),this.$objectType="dataprotection.v4.config.AmazonS3Bucket",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Zr,e.hasOwnProperty("bucketName")&&null!==e.bucketName&&void 0!==e.bucketName&&t.setBucketName(e.bucketName),e.hasOwnProperty("regionName")&&null!==e.regionName&&void 0!==e.regionName&&t.setRegionName(e.regionName),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getBucketName(){return this.bucketName}setBucketName(e){this.bucketName=e}getRegionName(){return this.regionName}setRegionName(e){this.regionName=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getBucketName()&&null!==this.getBucketName()?{bucketName:this.getBucketName()}:{},...void 0!==this.getRegionName()&&null!==this.getRegionName()?{regionName:this.getRegionName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("bucketName"===t){if(void 0===this.bucketName||null===this.bucketName)return new E("bucketName","undefined or null");if(!F.validateMaxLength(this.bucketName,256))return new E("bucketName","does not satisfy required maxLength constraint: 256")}if("regionName"===t){if(void 0===this.regionName||null===this.regionName)return new E("regionName","undefined or null");if(!F.validateMaxLength(this.regionName,256))return new E("regionName","does not satisfy required maxLength constraint: 256")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Zr.prototype.bucketName=void 0,Zr.prototype.regionName=void 0,Zr.prototype.$reserved=void 0,Zr.prototype.$objectType=void 0,Zr.prototype.$unknownFields=void 0;var Qr=new WeakSet;class ea{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Qr),t.add(e),this.$objectType="dataprotection.v4.config.AzureBlobStorageContainer",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ea,e.hasOwnProperty("storageAccountName")&&null!==e.storageAccountName&&void 0!==e.storageAccountName&&t.setStorageAccountName(e.storageAccountName),e.hasOwnProperty("containerName")&&null!==e.containerName&&void 0!==e.containerName&&t.setContainerName(e.containerName),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getStorageAccountName(){return this.storageAccountName}setStorageAccountName(e){this.storageAccountName=e}getContainerName(){return this.containerName}setContainerName(e){this.containerName=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getStorageAccountName()&&null!==this.getStorageAccountName()?{storageAccountName:this.getStorageAccountName()}:{},...void 0!==this.getContainerName()&&null!==this.getContainerName()?{containerName:this.getContainerName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("storageAccountName"===t){if(void 0===this.storageAccountName||null===this.storageAccountName)return new E("storageAccountName","undefined or null");if(!F.validateMaxLength(this.storageAccountName,256))return new E("storageAccountName","does not satisfy required maxLength constraint: 256")}if("containerName"===t){if(void 0===this.containerName||null===this.containerName)return new E("containerName","undefined or null");if(!F.validateMaxLength(this.containerName,256))return new E("containerName","does not satisfy required maxLength constraint: 256")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}ea.prototype.storageAccountName=void 0,ea.prototype.containerName=void 0,ea.prototype.$reserved=void 0,ea.prototype.$objectType=void 0,ea.prototype.$unknownFields=void 0;const ta={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",VM:"VM",VOLUME_GROUP:"VOLUME_GROUP",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ta).find(t=>ta[t]===e);return null==t?ta.$UNKNOWN:ta[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ta.$UNKNOWN:case ta.$REDACTED:case ta.VM:case ta.VOLUME_GROUP:return;default:throw new Error("Invalid : must be ConsistencyGroupMemberType.{ $UNKNOWN|$REDACTED|VM|VOLUME_GROUP }")}}};Object.freeze(ta);const na=ta;var ia=new WeakSet;class oa{constructor(e,t){var n,i;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(n=this,i=ia),i.add(n),this.entityExtId=e,this.entityType=t,this.$objectType="dataprotection.v4.config.ConsistencyGroupMember",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new oa,e.hasOwnProperty("entityExtId")&&null!==e.entityExtId&&void 0!==e.entityExtId&&t.setEntityExtId(e.entityExtId),e.hasOwnProperty("entityType")&&null!==e.entityType&&void 0!==e.entityType&&t.setEntityType(na.constructFromObject(e.entityType)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEntityExtId(){return this.entityExtId}setEntityExtId(e){this.entityExtId=e}getEntityType(){return this.entityType}setEntityType(e){this.entityType=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEntityExtId()&&null!==this.getEntityExtId()?{entityExtId:this.getEntityExtId()}:{},...void 0!==this.getEntityType()&&null!==this.getEntityType()?{entityType:this.getEntityType()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["entityExtId","entityType"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("entityExtId"===t){if(void 0===this.entityExtId||null===this.entityExtId)return new E("entityExtId","undefined or null");if(!F.validatePattern(this.entityExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("entityExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"entityType"!==t||void 0!==this.entityType&&null!==this.entityType?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("entityType","undefined or null")}}oa.prototype.entityExtId=void 0,oa.prototype.entityType=void 0,oa.prototype.$reserved=void 0,oa.prototype.$objectType=void 0,oa.prototype.$unknownFields=void 0;var sa=new WeakSet;class ra extends Ae{constructor(e,t){var n,i;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(n=this,i=sa),i.add(n),this.name=e,this.members=t,this.$objectType="dataprotection.v4.config.ConsistencyGroup",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new ra,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("ownerExtId")&&null!==e.ownerExtId&&void 0!==e.ownerExtId&&t.setOwnerExtId(e.ownerExtId),e.hasOwnProperty("members")&&null!==e.members&&void 0!==e.members){for(r=[],i=e.members,s=0;s<i.length;s++)o=oa.constructFromObject(i[s],void 0),r.push(o);t.setMembers(r)}if(e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("protectionPolicyExtId")&&null!==e.protectionPolicyExtId&&void 0!==e.protectionPolicyExtId&&t.setProtectionPolicyExtId(e.protectionPolicyExtId),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getOwnerExtId(){return this.ownerExtId}setOwnerExtId(e){this.ownerExtId=e}getMembers(){return this.members}setMembers(e){this.members=e}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getProtectionPolicyExtId(){return this.protectionPolicyExtId}setProtectionPolicyExtId(e){this.protectionPolicyExtId=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getOwnerExtId()&&null!==this.getOwnerExtId()?{ownerExtId:this.getOwnerExtId()}:{},...void 0!==this.getMembers()&&null!==this.getMembers()?{members:this.getMembers().map(e=>e.toJson(!1))}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getProtectionPolicyExtId()&&null!==this.getProtectionPolicyExtId()?{protectionPolicyExtId:this.getProtectionPolicyExtId()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getMembers()&&null!==this.getMembers()?{members:this.getMembers().map(e=>e.toJson(!1))}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["name","members"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}if("ownerExtId"===t){if(void 0===this.ownerExtId||null===this.ownerExtId)return new E("ownerExtId","undefined or null");if(!F.validatePattern(this.ownerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("ownerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("members"===t){if(void 0===this.members||null===this.members)return new E("members","undefined or null");if(!F.validateMaxItems(this.members,30))return new E("members","does not satisfy required maxItems constraint: 30");if(!F.validateMinItems(this.members,1))return new E("members","does not satisfy required minItems constraint: 1")}if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new E("clusterExtId","undefined or null");if(!F.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("protectionPolicyExtId"===t){if(void 0===this.protectionPolicyExtId||null===this.protectionPolicyExtId)return new E("protectionPolicyExtId","undefined or null");if(!F.validatePattern(this.protectionPolicyExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("protectionPolicyExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return new E(t,"no such property exists")}}ra.prototype.name=void 0,ra.prototype.ownerExtId=void 0,ra.prototype.members=void 0,ra.prototype.clusterExtId=void 0,ra.prototype.protectionPolicyExtId=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var aa=new WeakSet;class la{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=aa),t.add(e),this.$objectType="dataprotection.v4.config.ConsistencyGroupMigrationSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new la,e.hasOwnProperty("targetPcExtId")&&null!==e.targetPcExtId&&void 0!==e.targetPcExtId&&t.setTargetPcExtId(e.targetPcExtId),e.hasOwnProperty("targetClusterExtId")&&null!==e.targetClusterExtId&&void 0!==e.targetClusterExtId&&t.setTargetClusterExtId(e.targetClusterExtId),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getTargetPcExtId(){return this.targetPcExtId}setTargetPcExtId(e){this.targetPcExtId=e}getTargetClusterExtId(){return this.targetClusterExtId}setTargetClusterExtId(e){this.targetClusterExtId=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getTargetPcExtId()&&null!==this.getTargetPcExtId()?{targetPcExtId:this.getTargetPcExtId()}:{},...void 0!==this.getTargetClusterExtId()&&null!==this.getTargetClusterExtId()?{targetClusterExtId:this.getTargetClusterExtId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("targetPcExtId"===t){if(void 0===this.targetPcExtId||null===this.targetPcExtId)return new E("targetPcExtId","undefined or null");if(!F.validatePattern(this.targetPcExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("targetPcExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("targetClusterExtId"===t){if(void 0===this.targetClusterExtId||null===this.targetClusterExtId)return new E("targetClusterExtId","undefined or null");if(!F.validatePattern(this.targetClusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("targetClusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}la.prototype.targetPcExtId=void 0,la.prototype.targetClusterExtId=void 0,la.prototype.$reserved=void 0,la.prototype.$objectType=void 0,la.prototype.$unknownFields=void 0;class da extends ra{constructor(e,t){super(e,t),this.$objectType="dataprotection.v4.config.ConsistencyGroupProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new da,ra.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=["name","members"]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}function ua(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var ca=new WeakSet;class ha{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ca),t.add(e),this.$objectType="dataprotection.v4.config.CreationTimeRange",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ha,e.hasOwnProperty("firstCreationTime")&&null!==e.firstCreationTime&&void 0!==e.firstCreationTime&&t.setFirstCreationTime(e.firstCreationTime),e.hasOwnProperty("lastCreationTime")&&null!==e.lastCreationTime&&void 0!==e.lastCreationTime&&t.setLastCreationTime(e.lastCreationTime),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getFirstCreationTime(){return this.firstCreationTime}setFirstCreationTime(e){this.firstCreationTime=e}getLastCreationTime(){return this.lastCreationTime}setLastCreationTime(e){this.lastCreationTime=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getFirstCreationTime()&&null!==this.getFirstCreationTime()?{firstCreationTime:ua(ca,this,pa).call(this,this.getFirstCreationTime(),!1)}:{},...void 0!==this.getLastCreationTime()&&null!==this.getLastCreationTime()?{lastCreationTime:ua(ca,this,pa).call(this,this.getLastCreationTime(),!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"firstCreationTime"!==t||void 0!==this.firstCreationTime&&null!==this.firstCreationTime?"lastCreationTime"!==t||void 0!==this.lastCreationTime&&null!==this.lastCreationTime?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("lastCreationTime","undefined or null"):new E("firstCreationTime","undefined or null")}}function pa(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}ha.prototype.firstCreationTime=void 0,ha.prototype.lastCreationTime=void 0,ha.prototype.$reserved=void 0,ha.prototype.$objectType=void 0,ha.prototype.$unknownFields=void 0;var va=new WeakSet;class ya{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=va),t.add(e),this.$objectType="dataprotection.v4.config.ForceDeleteAllRecoveryPointsSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s;if(e){if(t=t||new ya,e.hasOwnProperty("clusterExtIds")&&null!==e.clusterExtIds&&void 0!==e.clusterExtIds){for(s=[],i=e.clusterExtIds,o=0;o<i.length;o++)s.push(i[o]);t.setClusterExtIds(s)}if(e.hasOwnProperty("timeRange")&&null!==e.timeRange&&void 0!==e.timeRange&&t.setTimeRange(ha.constructFromObject(e.timeRange)),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getClusterExtIds(){return this.clusterExtIds}setClusterExtIds(e){this.clusterExtIds=e}getTimeRange(){return this.timeRange}setTimeRange(e){this.timeRange=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getClusterExtIds()&&null!==this.getClusterExtIds()?{clusterExtIds:this.getClusterExtIds()}:{},...void 0!==this.getTimeRange()&&null!==this.getTimeRange()?{timeRange:this.getTimeRange().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("clusterExtIds"===t){if(void 0===this.clusterExtIds||null===this.clusterExtIds)return new E("clusterExtIds","undefined or null");if(!F.validateMaxItems(this.clusterExtIds,30))return new E("clusterExtIds","does not satisfy required maxItems constraint: 30")}return"timeRange"!==t||void 0!==this.timeRange&&null!==this.timeRange?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("timeRange","undefined or null")}}ya.prototype.clusterExtIds=void 0,ya.prototype.timeRange=void 0,ya.prototype.$reserved=void 0,ya.prototype.$objectType=void 0,ya.prototype.$unknownFields=void 0;const ga={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",PRISM_ELEMENT:"PRISM_ELEMENT",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ga).find(t=>ga[t]===e);return null==t?ga.$UNKNOWN:ga[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ga.$UNKNOWN:case ga.$REDACTED:case ga.PRISM_ELEMENT:return;default:throw new Error("Invalid : must be HostType.{ $UNKNOWN|$REDACTED|PRISM_ELEMENT }")}}};Object.freeze(ga);const fa=ga;var $a=new WeakSet;class wa extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=$a),t.add(e),this.$objectType="dataprotection.v4.config.HostReference",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new wa,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("hostType")&&null!==e.hostType&&void 0!==e.hostType&&t.setHostType(fa.constructFromObject(e.hostType)),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getHostType(){return this.hostType}setHostType(e){this.hostType=e}getName(){return this.name}setName(e){this.name=e}toJson(e){return!1===e?{...void 0!==this.getHostType()&&null!==this.getHostType()?{hostType:this.getHostType()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getHostType()&&null!==this.getHostType()?{hostType:this.getHostType()}:{},...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("hostType"===t&&(void 0===this.hostType||null===this.hostType))return new E("hostType","undefined or null");if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}return new E(t,"no such property exists")}}wa.prototype.hostType=void 0,wa.prototype.name=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var ma=new WeakSet;class Ta{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=ma),t.add(e),this.$objectType="dataprotection.v4.config.NutanixObjectsBucket",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ta,e.hasOwnProperty("endPoint")&&null!==e.endPoint&&void 0!==e.endPoint&&t.setEndPoint(e.endPoint),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getEndPoint(){return this.endPoint}setEndPoint(e){this.endPoint=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getEndPoint()&&null!==this.getEndPoint()?{endPoint:this.getEndPoint()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"endPoint"!==t||void 0!==this.endPoint&&null!==this.endPoint?"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null"):new E("endPoint","undefined or null")}}Ta.prototype.endPoint=void 0,Ta.prototype.$reserved=void 0,Ta.prototype.$objectType=void 0,Ta.prototype.$unknownFields=void 0;const ka={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AZURE_BLOB_STORAGE:"AZURE_BLOB_STORAGE",AMAZON_S3:"AMAZON_S3",NUTANIX_OBJECTS:"NUTANIX_OBJECTS",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(ka).find(t=>ka[t]===e);return null==t?ka.$UNKNOWN:ka[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case ka.$UNKNOWN:case ka.$REDACTED:case ka.AZURE_BLOB_STORAGE:case ka.AMAZON_S3:case ka.NUTANIX_OBJECTS:return;default:throw new Error("Invalid : must be ObjectStorageType.{ $UNKNOWN|$REDACTED|AZURE_BLOB_STORAGE|AMAZON_S3|NUTANIX_OBJECTS }")}}};Object.freeze(ka);const ba=ka;function Fa(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Ea=new WeakSet;class Ia extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ea),t.add(e),this.$objectType="dataprotection.v4.config.RecoveryPointRepository",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i;if(e){if(t=t||new Ia,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("objectStorageType")&&null!==e.objectStorageType&&void 0!==e.objectStorageType&&t.setObjectStorageType(ba.constructFromObject(e.objectStorageType)),e.hasOwnProperty("objectStorageReference")&&null!==e.objectStorageReference&&void 0!==e.objectStorageReference)switch(i=e.objectStorageReference.hasOwnProperty("$objectType")?e.objectStorageReference.$objectType:typeof e.objectStorageReference,i){case"dataprotection.v4.config.AzureBlobStorageContainer":t.setObjectStorageReference(ea.constructFromObject(e.objectStorageReference,void 0));break;case"dataprotection.v4.config.AmazonS3Bucket":t.setObjectStorageReference(Zr.constructFromObject(e.objectStorageReference,void 0));break;case"dataprotection.v4.config.NutanixObjectsBucket":t.setObjectStorageReference(Ta.constructFromObject(e.objectStorageReference,void 0));break;default:throw"Unknown datatype "+i+" in data"}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getObjectStorageType(){return this.objectStorageType}setObjectStorageType(e){this.objectStorageType=e}getObjectStorageReference(){return this.objectStorageReference}setObjectStorageReference(e){this.objectStorageReference=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getObjectStorageType()&&null!==this.getObjectStorageType()?{objectStorageType:this.getObjectStorageType()}:{},...void 0!==this.getObjectStorageReference()&&null!==this.getObjectStorageReference()?{objectStorageReference:void 0!==this.getObjectStorageReference().toJson?this.getObjectStorageReference().toJson(!1):Array.isArray(this.getObjectStorageReference())?this.getObjectStorageReference().map(e=>void 0!==e.toJson?e.toJson(!1):e):Fa(Ea,this,Oa).call(this,this.getObjectStorageReference(),!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getObjectStorageType()&&null!==this.getObjectStorageType()?{objectStorageType:this.getObjectStorageType()}:{},...void 0!==this.getObjectStorageReference()&&null!==this.getObjectStorageReference()?{objectStorageReference:void 0!==this.getObjectStorageReference().toJson?this.getObjectStorageReference().toJson():Array.isArray(this.getObjectStorageReference())?this.getObjectStorageReference().map(e=>void 0!==e.toJson?e.toJson():e):Fa(Ea,this,Oa).call(this,this.getObjectStorageReference())}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}return"objectStorageType"!==t||void 0!==this.objectStorageType&&null!==this.objectStorageType?"objectStorageReference"!==t||void 0!==this.objectStorageReference&&null!==this.objectStorageReference?new E(t,"no such property exists"):new E("objectStorageReference","undefined or null"):new E("objectStorageType","undefined or null")}}function Oa(e,t){return e instanceof Map?Object.fromEntries(Array.from(e,([e,n])=>[e,void 0!==n.toJson?n.toJson(t):n])):"object"==typeof e&&null!=e&&e.constructor===Object?Object.fromEntries(Array.from(Object.entries(e),e=>[e[0],void 0!==e[1].toJson?e[1].toJson(t):e[1]])):e}Ia.prototype.name=void 0,Ia.prototype.objectStorageType=void 0,Ia.prototype.objectStorageReference=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;class ja extends Ia{constructor(){super(),this.$objectType="dataprotection.v4.config.RecoveryPointRepositoryProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new ja,Ia.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}function Pa(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Ra=new WeakSet;class xa extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ra),t.add(e),this.$objectType="dataprotection.v4.config.RecycleBinEntry",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s;if(e){if(t=t||new xa,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("expirationTime")&&null!==e.expirationTime&&void 0!==e.expirationTime&&t.setExpirationTime(e.expirationTime),e.hasOwnProperty("deletionTime")&&null!==e.deletionTime&&void 0!==e.deletionTime&&t.setDeletionTime(e.deletionTime),e.hasOwnProperty("spaceConsumedBytes")&&null!==e.spaceConsumedBytes&&void 0!==e.spaceConsumedBytes&&t.setSpaceConsumedBytes(e.spaceConsumedBytes),e.hasOwnProperty("deletedByUserExtId")&&null!==e.deletedByUserExtId&&void 0!==e.deletedByUserExtId&&t.setDeletedByUserExtId(e.deletedByUserExtId),e.hasOwnProperty("clusterExtId")&&null!==e.clusterExtId&&void 0!==e.clusterExtId&&t.setClusterExtId(e.clusterExtId),e.hasOwnProperty("categoryIds")&&null!==e.categoryIds&&void 0!==e.categoryIds){for(s=[],i=e.categoryIds,o=0;o<i.length;o++)s.push(i[o]);t.setCategoryIds(s)}if(!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getExpirationTime(){return this.expirationTime}setExpirationTime(e){this.expirationTime=e}getDeletionTime(){return this.deletionTime}setDeletionTime(e){this.deletionTime=e}getSpaceConsumedBytes(){return this.spaceConsumedBytes}setSpaceConsumedBytes(e){this.spaceConsumedBytes=e}getDeletedByUserExtId(){return this.deletedByUserExtId}setDeletedByUserExtId(e){this.deletedByUserExtId=e}getClusterExtId(){return this.clusterExtId}setClusterExtId(e){this.clusterExtId=e}getCategoryIds(){return this.categoryIds}setCategoryIds(e){this.categoryIds=e}toJson(e){return!1===e?{...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Pa(Ra,this,Aa).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getDeletionTime()&&null!==this.getDeletionTime()?{deletionTime:Pa(Ra,this,Aa).call(this,this.getDeletionTime(),!1)}:{},...void 0!==this.getSpaceConsumedBytes()&&null!==this.getSpaceConsumedBytes()?{spaceConsumedBytes:this.getSpaceConsumedBytes()}:{},...void 0!==this.getDeletedByUserExtId()&&null!==this.getDeletedByUserExtId()?{deletedByUserExtId:this.getDeletedByUserExtId()}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getCategoryIds()&&null!==this.getCategoryIds()?{categoryIds:this.getCategoryIds()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("expirationTime"===t&&(void 0===this.expirationTime||null===this.expirationTime))return new E("expirationTime","undefined or null");if("deletionTime"===t&&(void 0===this.deletionTime||null===this.deletionTime))return new E("deletionTime","undefined or null");if("spaceConsumedBytes"===t&&(void 0===this.spaceConsumedBytes||null===this.spaceConsumedBytes))return new E("spaceConsumedBytes","undefined or null");if("deletedByUserExtId"===t){if(void 0===this.deletedByUserExtId||null===this.deletedByUserExtId)return new E("deletedByUserExtId","undefined or null");if(!F.validatePattern(this.deletedByUserExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("deletedByUserExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clusterExtId"===t){if(void 0===this.clusterExtId||null===this.clusterExtId)return new E("clusterExtId","undefined or null");if(!F.validatePattern(this.clusterExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("clusterExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"categoryIds"!==t||void 0!==this.categoryIds&&null!==this.categoryIds?new E(t,"no such property exists"):new E("categoryIds","undefined or null")}}function Aa(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}function Ca(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}xa.prototype.expirationTime=void 0,xa.prototype.deletionTime=void 0,xa.prototype.spaceConsumedBytes=void 0,xa.prototype.deletedByUserExtId=void 0,xa.prototype.clusterExtId=void 0,xa.prototype.categoryIds=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;var Sa=new WeakSet;class Na extends xa{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Sa),t.add(e),this.$objectType="dataprotection.v4.config.RecycleBinVm",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Na,xa.constructFromObject(e,t,!0),e.hasOwnProperty("vmExtId")&&null!==e.vmExtId&&void 0!==e.vmExtId&&t.setVmExtId(e.vmExtId),e.hasOwnProperty("vmOwnerExtId")&&null!==e.vmOwnerExtId&&void 0!==e.vmOwnerExtId&&t.setVmOwnerExtId(e.vmOwnerExtId),e.hasOwnProperty("vmName")&&null!==e.vmName&&void 0!==e.vmName&&t.setVmName(e.vmName),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getVmExtId(){return this.vmExtId}setVmExtId(e){this.vmExtId=e}getVmOwnerExtId(){return this.vmOwnerExtId}setVmOwnerExtId(e){this.vmOwnerExtId=e}getVmName(){return this.vmName}setVmName(e){this.vmName=e}toJson(e){return!1===e?{...void 0!==this.getVmExtId()&&null!==this.getVmExtId()?{vmExtId:this.getVmExtId()}:{},...void 0!==this.getVmOwnerExtId()&&null!==this.getVmOwnerExtId()?{vmOwnerExtId:this.getVmOwnerExtId()}:{},...void 0!==this.getVmName()&&null!==this.getVmName()?{vmName:this.getVmName()}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Ca(Sa,this,Da).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getDeletionTime()&&null!==this.getDeletionTime()?{deletionTime:Ca(Sa,this,Da).call(this,this.getDeletionTime(),!1)}:{},...void 0!==this.getSpaceConsumedBytes()&&null!==this.getSpaceConsumedBytes()?{spaceConsumedBytes:this.getSpaceConsumedBytes()}:{},...void 0!==this.getDeletedByUserExtId()&&null!==this.getDeletedByUserExtId()?{deletedByUserExtId:this.getDeletedByUserExtId()}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getCategoryIds()&&null!==this.getCategoryIds()?{categoryIds:this.getCategoryIds()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("vmExtId"===t){if(void 0===this.vmExtId||null===this.vmExtId)return new E("vmExtId","undefined or null");if(!F.validatePattern(this.vmExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("vmExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("vmOwnerExtId"===t){if(void 0===this.vmOwnerExtId||null===this.vmOwnerExtId)return new E("vmOwnerExtId","undefined or null");if(!F.validatePattern(this.vmOwnerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("vmOwnerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("vmName"===t){if(void 0===this.vmName||null===this.vmName)return new E("vmName","undefined or null");if(!F.validateMaxLength(this.vmName,256))return new E("vmName","does not satisfy required maxLength constraint: 256")}return new E(t,"no such property exists")}}function Da(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}Na.prototype.vmExtId=void 0,Na.prototype.vmOwnerExtId=void 0,Na.prototype.vmName=void 0,xa.prototype.expirationTime=void 0,xa.prototype.deletionTime=void 0,xa.prototype.spaceConsumedBytes=void 0,xa.prototype.deletedByUserExtId=void 0,xa.prototype.clusterExtId=void 0,xa.prototype.categoryIds=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;class Ua extends Na{constructor(){super(),this.$objectType="dataprotection.v4.config.RecycleBinVmProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Ua,Na.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}function Ma(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Ja=new WeakSet;class _a extends xa{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ja),t.add(e),this.$objectType="dataprotection.v4.config.RecycleBinVolumeGroup",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new _a,xa.constructFromObject(e,t,!0),e.hasOwnProperty("volumeGroupExtId")&&null!==e.volumeGroupExtId&&void 0!==e.volumeGroupExtId&&t.setVolumeGroupExtId(e.volumeGroupExtId),e.hasOwnProperty("volumeGroupOwnerExtId")&&null!==e.volumeGroupOwnerExtId&&void 0!==e.volumeGroupOwnerExtId&&t.setVolumeGroupOwnerExtId(e.volumeGroupOwnerExtId),e.hasOwnProperty("volumeGroupName")&&null!==e.volumeGroupName&&void 0!==e.volumeGroupName&&t.setVolumeGroupName(e.volumeGroupName),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getVolumeGroupExtId(){return this.volumeGroupExtId}setVolumeGroupExtId(e){this.volumeGroupExtId=e}getVolumeGroupOwnerExtId(){return this.volumeGroupOwnerExtId}setVolumeGroupOwnerExtId(e){this.volumeGroupOwnerExtId=e}getVolumeGroupName(){return this.volumeGroupName}setVolumeGroupName(e){this.volumeGroupName=e}toJson(e){return!1===e?{...void 0!==this.getVolumeGroupExtId()&&null!==this.getVolumeGroupExtId()?{volumeGroupExtId:this.getVolumeGroupExtId()}:{},...void 0!==this.getVolumeGroupOwnerExtId()&&null!==this.getVolumeGroupOwnerExtId()?{volumeGroupOwnerExtId:this.getVolumeGroupOwnerExtId()}:{},...void 0!==this.getVolumeGroupName()&&null!==this.getVolumeGroupName()?{volumeGroupName:this.getVolumeGroupName()}:{},...void 0!==this.getExpirationTime()&&null!==this.getExpirationTime()?{expirationTime:Ma(Ja,this,La).call(this,this.getExpirationTime(),!1)}:{},...void 0!==this.getDeletionTime()&&null!==this.getDeletionTime()?{deletionTime:Ma(Ja,this,La).call(this,this.getDeletionTime(),!1)}:{},...void 0!==this.getSpaceConsumedBytes()&&null!==this.getSpaceConsumedBytes()?{spaceConsumedBytes:this.getSpaceConsumedBytes()}:{},...void 0!==this.getDeletedByUserExtId()&&null!==this.getDeletedByUserExtId()?{deletedByUserExtId:this.getDeletedByUserExtId()}:{},...void 0!==this.getClusterExtId()&&null!==this.getClusterExtId()?{clusterExtId:this.getClusterExtId()}:{},...void 0!==this.getCategoryIds()&&null!==this.getCategoryIds()?{categoryIds:this.getCategoryIds()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("volumeGroupExtId"===t){if(void 0===this.volumeGroupExtId||null===this.volumeGroupExtId)return new E("volumeGroupExtId","undefined or null");if(!F.validatePattern(this.volumeGroupExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("volumeGroupExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("volumeGroupOwnerExtId"===t){if(void 0===this.volumeGroupOwnerExtId||null===this.volumeGroupOwnerExtId)return new E("volumeGroupOwnerExtId","undefined or null");if(!F.validatePattern(this.volumeGroupOwnerExtId,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("volumeGroupOwnerExtId","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("volumeGroupName"===t){if(void 0===this.volumeGroupName||null===this.volumeGroupName)return new E("volumeGroupName","undefined or null");if(!F.validateMaxLength(this.volumeGroupName,256))return new E("volumeGroupName","does not satisfy required maxLength constraint: 256")}return new E(t,"no such property exists")}}function La(e,t){return e instanceof Date&&void 0!==t?t?e.toISOString().slice(0,10):e.toISOString():e}_a.prototype.volumeGroupExtId=void 0,_a.prototype.volumeGroupOwnerExtId=void 0,_a.prototype.volumeGroupName=void 0,xa.prototype.expirationTime=void 0,xa.prototype.deletionTime=void 0,xa.prototype.spaceConsumedBytes=void 0,xa.prototype.deletedByUserExtId=void 0,xa.prototype.clusterExtId=void 0,xa.prototype.categoryIds=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;class Va extends _a{constructor(){super(),this.$objectType="dataprotection.v4.config.RecycleBinVolumeGroupProjection",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Va,_a.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}var Ga=new WeakSet;class Wa{constructor(){var e,t;(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e=this,t=Ga),t.add(e),this.$objectType="dataprotection.v4.config.SiteReference",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Wa,e.hasOwnProperty("availabilityZoneReference")&&null!==e.availabilityZoneReference&&void 0!==e.availabilityZoneReference&&t.setAvailabilityZoneReference(e.availabilityZoneReference),e.hasOwnProperty("clusterReference")&&null!==e.clusterReference&&void 0!==e.clusterReference&&t.setClusterReference(e.clusterReference),e.hasOwnProperty("$reserved")&&(t.$reserved=e.$reserved),e.hasOwnProperty("$objectType")&&(t.$objectType=e.$objectType),e.hasOwnProperty("$unknownFields")&&(t.$unknownFields=e.$unknownFields),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getAvailabilityZoneReference(){return this.availabilityZoneReference}setAvailabilityZoneReference(e){this.availabilityZoneReference=e}getClusterReference(){return this.clusterReference}setClusterReference(e){this.clusterReference=e}get$Reserved(){return this.$reserved}get$ObjectType(){return this.$objectType}get$UnknownFields(){return this.$unknownFields}toJson(e){return{...void 0!==this.getAvailabilityZoneReference()&&null!==this.getAvailabilityZoneReference()?{availabilityZoneReference:this.getAvailabilityZoneReference()}:{},...void 0!==this.getClusterReference()&&null!==this.getClusterReference()?{clusterReference:this.getClusterReference()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("availabilityZoneReference"===t){if(void 0===this.availabilityZoneReference||null===this.availabilityZoneReference)return new E("availabilityZoneReference","undefined or null");if(!F.validatePattern(this.availabilityZoneReference,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("availabilityZoneReference","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}if("clusterReference"===t){if(void 0===this.clusterReference||null===this.clusterReference)return new E("clusterReference","undefined or null");if(!F.validatePattern(this.clusterReference,/^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/))return new E("clusterReference","does not satisfy required pattern: /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/")}return"$reserved"!==t||void 0!==this.$reserved&&null!==this.$reserved?"$objectType"!==t||void 0!==this.$objectType&&null!==this.$objectType?"$unknownFields"!==t||void 0!==this.$unknownFields&&null!==this.$unknownFields?new E(t,"no such property exists"):new E("$unknownFields","undefined or null"):new E("$objectType","undefined or null"):new E("$reserved","undefined or null")}}Wa.prototype.availabilityZoneReference=void 0,Wa.prototype.clusterReference=void 0,Wa.prototype.$reserved=void 0,Wa.prototype.$objectType=void 0,Wa.prototype.$unknownFields=void 0;var Ba=new WeakSet;class qa extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ba),t.add(e),this.$objectType="dataprotection.v4.config.VolumeGroupSyncContext",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new qa,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("primarySite")&&null!==e.primarySite&&void 0!==e.primarySite&&t.setPrimarySite(Wa.constructFromObject(e.primarySite)),e.hasOwnProperty("secondarySite")&&null!==e.secondarySite&&void 0!==e.secondarySite&&t.setSecondarySite(Wa.constructFromObject(e.secondarySite)),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getPrimarySite(){return this.primarySite}setPrimarySite(e){this.primarySite=e}getSecondarySite(){return this.secondarySite}setSecondarySite(e){this.secondarySite=e}toJson(e){return!1===e?{...void 0!==this.getPrimarySite()&&null!==this.getPrimarySite()?{primarySite:this.getPrimarySite().toJson(!1)}:{},...void 0!==this.getSecondarySite()&&null!==this.getSecondarySite()?{secondarySite:this.getSecondarySite().toJson(!1)}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getPrimarySite()&&null!==this.getPrimarySite()?{primarySite:this.getPrimarySite().toJson(!1)}:{},...void 0!==this.getSecondarySite()&&null!==this.getSecondarySite()?{secondarySite:this.getSecondarySite().toJson(!1)}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return"primarySite"!==t||void 0!==this.primarySite&&null!==this.primarySite?"secondarySite"!==t||void 0!==this.secondarySite&&null!==this.secondarySite?new E(t,"no such property exists"):new E("secondarySite","undefined or null"):new E("primarySite","undefined or null")}}qa.prototype.primarySite=void 0,qa.prototype.secondarySite=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;const za={$UNKNOWN:"$UNKNOWN",$REDACTED:"$REDACTED",AVAILABLE:"AVAILABLE",UNAVAILABLE:"UNAVAILABLE",constructFromObject:function(e){if("string"==typeof e||e instanceof String){let t=Object.keys(za).find(t=>za[t]===e);return null==t?za.$UNKNOWN:za[t]}throw new Error("Received object name is not an instance of String")},validate:function(e){switch(e){case za.$UNKNOWN:case za.$REDACTED:case za.AVAILABLE:case za.UNAVAILABLE:return;default:throw new Error("Invalid : must be WitnessAvailabilityStatus.{ $UNKNOWN|$REDACTED|AVAILABLE|UNAVAILABLE }")}}};Object.freeze(za);const Ka=za;var Ya=new WeakSet;class Ha extends Ae{constructor(){var e,t;super(),function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e=this,t=Ya),t.add(e),this.$objectType="dataprotection.v4.config.Witness",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){let i,o,s,r;if(e){if(t=t||new Ha,Ae.constructFromObject(e,t,!0),e.hasOwnProperty("name")&&null!==e.name&&void 0!==e.name&&t.setName(e.name),e.hasOwnProperty("hostReferences")&&null!==e.hostReferences&&void 0!==e.hostReferences){for(r=[],i=e.hostReferences,s=0;s<i.length;s++)o=wa.constructFromObject(i[s],void 0),r.push(o);t.setHostReferences(r)}if(e.hasOwnProperty("ipAddresses")&&null!==e.ipAddresses&&void 0!==e.ipAddresses){for(r=[],i=e.ipAddresses,s=0;s<i.length;s++)r.push(i[s]);t.setIpAddresses(r)}if(e.hasOwnProperty("status")&&null!==e.status&&void 0!==e.status&&t.setStatus(Ka.constructFromObject(e.status)),!n){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}getName(){return this.name}setName(e){this.name=e}getHostReferences(){return this.hostReferences}setHostReferences(e){this.hostReferences=e}getIpAddresses(){return this.ipAddresses}setIpAddresses(e){this.ipAddresses=e}getStatus(){return this.status}setStatus(e){this.status=e}toJson(e){return!1===e?{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getHostReferences()&&null!==this.getHostReferences()?{hostReferences:this.getHostReferences().map(e=>e.toJson(!1))}:{},...void 0!==this.getIpAddresses()&&null!==this.getIpAddresses()?{ipAddresses:this.getIpAddresses()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},...void 0!==this.getExtId()&&null!==this.getExtId()?{extId:this.getExtId()}:{},...void 0!==this.getLinks()&&null!==this.getLinks()?{links:this.getLinks().map(e=>e.toJson(!1))}:{},...void 0!==this.getTenantId()&&null!==this.getTenantId()?{tenantId:this.getTenantId()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}:{...void 0!==this.getName()&&null!==this.getName()?{name:this.getName()}:{},...void 0!==this.getHostReferences()&&null!==this.getHostReferences()?{hostReferences:this.getHostReferences().map(e=>e.toJson(!1))}:{},...void 0!==this.getIpAddresses()&&null!==this.getIpAddresses()?{ipAddresses:this.getIpAddresses()}:{},...void 0!==this.getStatus()&&null!==this.getStatus()?{status:this.getStatus()}:{},$reserved:this.get$Reserved(),$objectType:this.get$ObjectType(),...void 0!==this.get$UnknownFields()&&null!==this.get$UnknownFields()?this.get$UnknownFields():{},$unknownFields:{}}}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){if("name"===t){if(void 0===this.name||null===this.name)return new E("name","undefined or null");if(!F.validateMaxLength(this.name,256))return new E("name","does not satisfy required maxLength constraint: 256")}if("hostReferences"===t){if(void 0===this.hostReferences||null===this.hostReferences)return new E("hostReferences","undefined or null");if(!F.validateMaxItems(this.hostReferences,100))return new E("hostReferences","does not satisfy required maxItems constraint: 100");if(!F.validateMinItems(this.hostReferences,1))return new E("hostReferences","does not satisfy required minItems constraint: 1")}if("ipAddresses"===t){if(void 0===this.ipAddresses||null===this.ipAddresses)return new E("ipAddresses","undefined or null");if(!F.validateMaxItems(this.ipAddresses,100))return new E("ipAddresses","does not satisfy required maxItems constraint: 100");if(!F.validateMinItems(this.ipAddresses,1))return new E("ipAddresses","does not satisfy required minItems constraint: 1")}return"status"!==t||void 0!==this.status&&null!==this.status?new E(t,"no such property exists"):new E("status","undefined or null")}}Ha.prototype.name=void 0,Ha.prototype.hostReferences=void 0,Ha.prototype.ipAddresses=void 0,Ha.prototype.status=void 0,Ae.prototype.extId=void 0,Ae.prototype.links=void 0,Re.prototype.tenantId=void 0;class Xa extends Xt{constructor(e,t){super(e,t),this.$objectType="dataprotection.v4.operations.ValidateSpec",this.$reserved={$fv:"v4.r3"},this.$unknownFields={}}static constructFromObject(e,t=null,n=!1){if(e&&(t=t||new Xa,Xt.constructFromObject(e,t,!0),!n)){t.$unknownFields={...e.$unknownFields};for(const n in e)Object.keys(t).includes(n)||Object.keys(t).includes(this.snakeToCamel(n))||"$"===n[0]&&n.endsWith("ItemDiscriminator")||(t.$unknownFields[n]=e[n])}return t}static snakeToCamel(e){return e.replace(/(_\w)/g,e=>e[1].toUpperCase())}validate(e,t){let n=[];0===arguments.length||1===arguments.length&&arguments[0]instanceof b?n=[]:1===arguments.length?(n=arguments[0],e=null):n=arguments[1];let i=[],o=null;return n.forEach(t=>{o=this.validateProperty(t,e),o&&i.push(o)}),new Promise(function(e,t){0!==i.length?t(o):e()})}validateProperty(e,t){return new E(t,"no such property exists")}}const Za={ApiClient:le,DataProtectionClusterCapabilitiesApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}listDataProtectionClusterCapabilities(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=nt;return this.apiClient.callApi("/api/dataprotection/v4.3/config/cluster-capabilities","GET",{},i,s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}},ProtectedResourcesApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}getProtectedResourceById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getProtectedResourceById");const i={extId:e};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=It;return this.apiClient.callApi("/api/dataprotection/v4.3/config/protected-resources/{extId}","GET",i,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}promoteProtectedResource(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling promoteProtectedResource");const i={extId:e};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=Dt;return this.apiClient.callApi("/api/dataprotection/v4.3/config/protected-resources/{extId}/$actions/promote","POST",i,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}restoreProtectedResource(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof _t&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling restoreProtectedResource");if(null==o)throw new Error("Invalid body when calling restoreProtectedResource");const s={extId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=At;return this.apiClient.callApi("/api/dataprotection/v4.3/config/protected-resources/{extId}/$actions/restore","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}},RecoveryPlanActionsApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}cleanupRecoveryPlanResources(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'recoveryPlanExtId' when calling cleanupRecoveryPlanResources");const i={recoveryPlanExtId:e};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=dn;return this.apiClient.callApi("/api/dataprotection/v4.3/operations/recovery-plans/{recoveryPlanExtId}/$actions/clean-up-resources","POST",i,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}plannedFailoverRecoveryPlan(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof Qt&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'recoveryPlanExtId' when calling plannedFailoverRecoveryPlan");if(null==o)throw new Error("Invalid body when calling plannedFailoverRecoveryPlan");const s={recoveryPlanExtId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=Tn;return this.apiClient.callApi("/api/dataprotection/v4.3/operations/recovery-plans/{recoveryPlanExtId}/$actions/planned-failover","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}testFailoverRecoveryPlan(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof tn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'recoveryPlanExtId' when calling testFailoverRecoveryPlan");if(null==o)throw new Error("Invalid body when calling testFailoverRecoveryPlan");const s={recoveryPlanExtId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=fn;return this.apiClient.callApi("/api/dataprotection/v4.3/operations/recovery-plans/{recoveryPlanExtId}/$actions/test-failover","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}unplannedFailoverRecoveryPlan(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof pn&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'recoveryPlanExtId' when calling unplannedFailoverRecoveryPlan");if(null==o)throw new Error("Invalid body when calling unplannedFailoverRecoveryPlan");const s={recoveryPlanExtId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=Wt;return this.apiClient.callApi("/api/dataprotection/v4.3/operations/recovery-plans/{recoveryPlanExtId}/$actions/unplanned-failover","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}validateRecoveryPlan(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof Xt&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'recoveryPlanExtId' when calling validateRecoveryPlan");if(null==o)throw new Error("Invalid body when calling validateRecoveryPlan");const s={recoveryPlanExtId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=sn;return this.apiClient.callApi("/api/dataprotection/v4.3/operations/recovery-plans/{recoveryPlanExtId}/$actions/validate","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}},RecoveryPlanJobsApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}deleteRecoveryPlanJobById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteRecoveryPlanJobById");const i={extId:e};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=Bn;return this.apiClient.callApi("/api/dataprotection/v4.3/config/recovery-plan-jobs/{extId}","DELETE",i,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}getRecoveryPlanJobById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRecoveryPlanJobById");const i={extId:e};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=Ln;return this.apiClient.callApi("/api/dataprotection/v4.3/config/recovery-plan-jobs/{extId}","GET",i,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listExecutionStepsByRecoveryPlanJobId(e,t,...n){let i=n.length>0?n[0]:{};if(t=t||{},null==e)throw new Error("Missing the required parameter 'recoveryPlanJobExtId' when calling listExecutionStepsByRecoveryPlanJobId");const o={recoveryPlanJobExtId:e},s={...t.hasOwnProperty("$page")?{$page:t.$page}:{},...t.hasOwnProperty("$limit")?{$limit:t.$limit}:{},...t.hasOwnProperty("$filter")?{$filter:t.$filter}:{},...t.hasOwnProperty("$orderby")?{$orderby:t.$orderby}:{}};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r},l=Di;return this.apiClient.callApi("/api/dataprotection/v4.3/config/recovery-plan-jobs/{recoveryPlanJobExtId}/execution-steps","GET",o,s,a,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],l)}listRecoveryPlanJobs(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=yi;return this.apiClient.callApi("/api/dataprotection/v4.3/config/recovery-plan-jobs","GET",{},i,s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}listValidationErrorsByRecoveryPlanJobId(e,t,...n){let i=n.length>0?n[0]:{};if(t=t||{},null==e)throw new Error("Missing the required parameter 'recoveryPlanJobExtId' when calling listValidationErrorsByRecoveryPlanJobId");const o={recoveryPlanJobExtId:e},s={...t.hasOwnProperty("$page")?{$page:t.$page}:{},...t.hasOwnProperty("$limit")?{$limit:t.$limit}:{},...t.hasOwnProperty("$filter")?{$filter:t.$filter}:{},...t.hasOwnProperty("$orderby")?{$orderby:t.$orderby}:{}};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r},l=ui;return this.apiClient.callApi("/api/dataprotection/v4.3/config/recovery-plan-jobs/{recoveryPlanJobExtId}/validation-errors","GET",o,s,a,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],l)}},RecoveryPointsApi:class{#e;static get ApiClient(){return le}constructor(e){this.apiClient=e||le.instance,this.#e=new Set,this.#e.add("authorization"),this.#e.add("cookie"),this.#e.add("host"),this.#e.add("user-agent")}createRecoveryPoint(e,...t){let n=t.length>0?t[0]:{},i=null;if(i=e instanceof ss&&"function"==typeof e.toJson?e.toJson():e,null==i)throw new Error("Invalid body when calling createRecoveryPoint");let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o};le.addEtagReferenceToHeader(e,s);const r=fr;return this.apiClient.callApi("/api/dataprotection/v4.3/config/recovery-points","POST",{},{},s,{},i,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],r)}deleteRecoveryPointById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling deleteRecoveryPointById");const i={extId:e};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=xr;return this.apiClient.callApi("/api/dataprotection/v4.3/config/recovery-points/{extId}","DELETE",i,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}discoverClusterForRecoveryPointId(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof oo&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling discoverClusterForRecoveryPointId");if(null==o)throw new Error("Invalid body when calling discoverClusterForRecoveryPointId");const s={extId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=bo;return this.apiClient.callApi("/api/dataprotection/v4.3/config/recovery-points/{extId}/$actions/discover-cluster","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}getRecoveryPointById(e,...t){let n=t.length>0?t[0]:{};if(null==e)throw new Error("Missing the required parameter 'extId' when calling getRecoveryPointById");const i={extId:e};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={...o},r=tr;return this.apiClient.callApi("/api/dataprotection/v4.3/config/recovery-points/{extId}","GET",i,{},s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}getVmRecoveryPointById(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'recoveryPointExtId' when calling getVmRecoveryPointById");if(null==t)throw new Error("Missing the required parameter 'extId' when calling getVmRecoveryPointById");const o={recoveryPointExtId:e,extId:t};let s={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=i[e])});const r={...s},a=Nr;return this.apiClient.callApi("/api/dataprotection/v4.3/config/recovery-points/{recoveryPointExtId}/vm-recovery-points/{extId}","GET",o,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],a)}getVssMetadataByVmRecoveryPointId(e,t,...n){let i=n.length>0?n[0]:{};if(null==e)throw new Error("Missing the required parameter 'recoveryPointExtId' when calling getVssMetadataByVmRecoveryPointId");if(null==t)throw new Error("Missing the required parameter 'vmRecoveryPointExtId' when calling getVssMetadataByVmRecoveryPointId");const o={recoveryPointExtId:e,vmRecoveryPointExtId:t};let s={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(s[e]=i[e])});const r={...s},a=br;return this.apiClient.callApi("/api/dataprotection/v4.3/content/recovery-points/{recoveryPointExtId}/vm-recovery-points/{vmRecoveryPointExtId}/vss-metadata","GET",o,{},r,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/octet-stream","application/json"],a)}listRecoveryPoints(e,...t){let n=t.length>0?t[0]:{};const i={...(e=e||{}).hasOwnProperty("$page")?{$page:e.$page}:{},...e.hasOwnProperty("$limit")?{$limit:e.$limit}:{},...e.hasOwnProperty("$filter")?{$filter:e.$filter}:{},...e.hasOwnProperty("$orderby")?{$orderby:e.$orderby}:{},...e.hasOwnProperty("$select")?{$select:e.$select}:{}};let o={};Object.keys(n).forEach(e=>{this.#e.has(e.toLowerCase())||(o[e]=n[e])});const s={"X-Cluster-Id":e.xClusterId,...o},r=us;return this.apiClient.callApi("/api/dataprotection/v4.3/config/recovery-points","GET",{},i,s,{},null,["apiKeyAuthScheme","basicAuthScheme"],[],["application/json"],r)}replicateRecoveryPoint(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof qr&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling replicateRecoveryPoint");if(null==o)throw new Error("Invalid body when calling replicateRecoveryPoint");const s={extId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=_i;return this.apiClient.callApi("/api/dataprotection/v4.3/config/recovery-points/{extId}/$actions/replicate","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}restoreRecoveryPoint(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof Zs&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling restoreRecoveryPoint");const s={extId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=Or;return this.apiClient.callApi("/api/dataprotection/v4.3/config/recovery-points/{extId}/$actions/restore","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}setRecoveryPointExpirationTime(e,t,...n){let i=n.length>0?n[0]:{},o=null;if(o=t instanceof pr&&"function"==typeof t.toJson?t.toJson():t,null==e)throw new Error("Missing the required parameter 'extId' when calling setRecoveryPointExpirationTime");if(null==o)throw new Error("Invalid body when calling setRecoveryPointExpirationTime");const s={extId:e};let r={};Object.keys(i).forEach(e=>{this.#e.has(e.toLowerCase())||(r[e]=i[e])});const a={...r};le.addEtagReferenceToHeader(t,a);const l=Yr;return this.apiClient.callApi("/api/dataprotection/v4.3/config/recovery-points/{extId}/$actions/set-expiration-time","POST",s,{},a,{},o,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],l)}vmRecoveryPointComputeChangedRegions(e,t,n,i,...o){let s=o.length>0?o[0]:{},r=null;if(r=i instanceof ho&&"function"==typeof i.toJson?i.toJson():i,null==e)throw new Error("Missing the required parameter 'recoveryPointExtId' when calling vmRecoveryPointComputeChangedRegions");if(null==t)throw new Error("Missing the required parameter 'vmRecoveryPointExtId' when calling vmRecoveryPointComputeChangedRegions");if(null==n)throw new Error("Missing the required parameter 'extId' when calling vmRecoveryPointComputeChangedRegions");if(null==r)throw new Error("Invalid body when calling vmRecoveryPointComputeChangedRegions");const a={recoveryPointExtId:e,vmRecoveryPointExtId:t,extId:n};let l={};Object.keys(s).forEach(e=>{this.#e.has(e.toLowerCase())||(l[e]=s[e])});const d={...l};le.addEtagReferenceToHeader(i,d);const u=dr;return this.apiClient.callApi("/api/dataprotection/v4.3/content/recovery-points/{recoveryPointExtId}/vm-recovery-points/{vmRecoveryPointExtId}/disk-recovery-points/{extId}/$actions/compute-changed-regions","POST",a,{},d,{},r,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],u)}volumeGroupRecoveryPointComputeChangedRegions(e,t,n,i,...o){let s=o.length>0?o[0]:{},r=null;if(r=i instanceof _r&&"function"==typeof i.toJson?i.toJson():i,null==e)throw new Error("Missing the required parameter 'recoveryPointExtId' when calling volumeGroupRecoveryPointComputeChangedRegions");if(null==t)throw new Error("Missing the required parameter 'volumeGroupRecoveryPointExtId' when calling volumeGroupRecoveryPointComputeChangedRegions");if(null==n)throw new Error("Missing the required parameter 'extId' when calling volumeGroupRecoveryPointComputeChangedRegions");if(null==r)throw new Error("Invalid body when calling volumeGroupRecoveryPointComputeChangedRegions");const a={recoveryPointExtId:e,volumeGroupRecoveryPointExtId:t,extId:n};let l={};Object.keys(s).forEach(e=>{this.#e.has(e.toLowerCase())||(l[e]=s[e])});const d={...l};le.addEtagReferenceToHeader(i,d);const u=Gr;return this.apiClient.callApi("/api/dataprotection/v4.3/content/recovery-points/{recoveryPointExtId}/volume-group-recovery-points/{volumeGroupRecoveryPointExtId}/disk-recovery-points/{extId}/$actions/compute-changed-regions","POST",a,{},d,{},r,["apiKeyAuthScheme","basicAuthScheme"],["application/json"],["application/json"],u)}},CommonConfigEntityReference:Hn,EntityType:Kn,Flag:O,IPAddress:$o,IPv4Address:vo,IPv6Address:go,KVPair:S,MapOfStringWrapper:R,Message:J,MessageSeverity:U,TenantAwareModel:Re,ApiLink:L,ApiResponseMetadata:W,ExternalizableAbstractModel:Ae,BackupType:_o,BaseRecoveryPoint:xo,BaseVmRecoveryPoint:Bo,ClusterInfo:mo,DiskRecoveryPoint:Mo,RecoveryPointStatus:Io,RecoveryPointType:jo,VssProperties:Vo,AhvVmOverrideSpec:_s,AmazonS3Bucket:Zr,AzureBlobStorageContainer:ea,Capability:De,ClusterInfoApiResponse:bo,ConsistencyGroup:ra,ConsistencyGroupMember:oa,ConsistencyGroupMemberType:na,ConsistencyGroupMigrationSpec:la,ConsistencyGroupProjection:da,CreateRecoveryPointApiResponse:fr,CreationTimeRange:ha,DataProtectionCapabilityName:Se,DataProtectionClusterCapability:Me,DataProtectionClusterCapabilityProjection:Je,DataProtectionSiteReference:st,DeleteRecoveryPlanJobApiResponse:Bn,DeleteRecoveryPointApiResponse:xr,DisasterRecoveryLocation:So,EntityRecoveryResult:ki,DataprotectionConfigEntityReference:zt,ErrorGroup:Zn,ErrorMessage:ni,EsxiVmOverrideSpec:Vs,ExecutionStepEntityReference:mi,ExecutionStepEntityType:$i,ExecutionStepResult:Ei,ExpirationTimeSpec:pr,FailoverDirection:Yt,ForceDeleteAllRecoveryPointsSpec:ya,GetProtectedResourceApiResponse:It,GetRecoveryPlanJobApiResponse:Ln,GetRecoveryPointApiResponse:tr,GetVmRecoveryPointApiResponse:Nr,HostReference:wa,HostType:fa,HypervisorType:Yo,ListDPClusterCapabilitiesApiResponse:nt,ListRecoveryPlanJobExecutionStepsApiResponse:Di,ListRecoveryPlanJobValidationErrorsApiResponse:ui,ListRecoveryPlanJobsApiResponse:yi,ListRecoveryPointsApiResponse:us,LocationReference:Do,NutanixObjectsBucket:Ta,ObjectStorageType:ba,OperationType:ji,PhaseSummary:An,ProtectedEntityType:at,ProtectedResource:bt,ProtectedResourcePromoteApiResponse:Dt,ProtectedResourceReplicationStatus:dt,ProtectedResourceRestoreApiResponse:At,ProtectedResourceRestoreSpec:_t,RecoveryInfo:ft,RecoveryPlanActionType:Sn,RecoveryPlanJob:Un,RecoveryPlanJobExecutionStatus:Fn,RecoveryPlanJobExecutionStep:xi,RecoveryPlanJobExecutionStepProjection:Ci,RecoveryPlanJobPhaseType:In,RecoveryPlanJobProjection:hi,RecoveryPlanValidationError:ri,RecoveryPlanValidationErrorProjection:ai,RecoveryPoint:ss,RecoveryPointProjection:as,RecoveryPointReplicateApiResponse:_i,RecoveryPointReplicationSpec:qr,RecoveryPointRepository:Ia,RecoveryPointRepositoryProjection:ja,RecoveryPointRestorationSpec:Zs,RecoveryPointRestoreApiResponse:Or,RecycleBinEntry:xa,RecycleBinVm:Na,RecycleBinVmProjection:Ua,RecycleBinVolumeGroup:_a,RecycleBinVolumeGroupProjection:Va,ReplicationState:ct,RestorableTimeRange:vt,RootCauseAnalysis:oi,Severity:ei,SiteProtectionInfo:Tt,SiteReference:Wa,StageSummary:Rn,Summary:jn,SynchronousReplicationRole:wt,UpdateRecoveryPointExpirationTimeApiResponse:Yr,VmRecoveryPoint:Zo,VmRecoveryPointRestoreOverride:Bs,VolumeGroupOverrideSpec:Ks,VolumeGroupRecoveryPoint:ns,VolumeGroupRecoveryPointRestoreOverride:Hs,VolumeGroupSyncContext:qa,Witness:Ha,WitnessAvailabilityStatus:Ka,BaseRecoveryPointSpec:ao,ChangedRegion:rr,ChangedVmRegionsApiResponse:dr,ChangedVolumeGroupRegionsApiResponse:Gr,ClusterDiscoverOperation:Gi,ClusterDiscoverSpec:oo,ComputeChangedRegionsClusterDiscoverSpec:Zi,DiskRecoveryPointReference:Bi,FileWrapper:mr,GetVssMetadataApiResponse:br,GetVssMetadataClusterDiscoverSpec:to,RegionType:or,VmDiskRecoveryPointClusterDiscoverSpec:uo,VmDiskRecoveryPointReference:zi,VmRecoveryPointChangedRegionsComputeSpec:ho,VolumeGroupDiskRecoveryPointClusterDiscoverSpec:Mr,VolumeGroupDiskRecoveryPointReference:Yi,VolumeGroupRecoveryPointChangedRegionsComputeSpec:_r,AppMessage:Ve,ErrorResponse:Ze,SchemaValidationError:Ke,SchemaValidationErrorMessage:Be,BaseRecoveryPlanActionSpec:Xt,CleanupRecoveryPlanResourcesApiResponse:dn,PlannedFailoverRecoveryPlanApiResponse:Tn,PlannedFailoverSpec:Qt,TestFailoverRecoveryPlanApiResponse:fn,TestFailoverSpec:tn,UnplannedFailoverRecoveryPlanApiResponse:Wt,UnplannedFailoverSpec:pn,ValidateRecoveryPlanApiResponse:sn,ValidateSpec:Xa,TaskReference:Pt,CategoryReference:ps,GuestStaticIpSpec:Ts,OwnerReference:ys,OwnershipInfo:fs,SubnetReference:Es,VmConfigOverrideSpecification:Js,VmRestoreGuestNicInfoOverrideSpec:bs,VmRestoreGuestToolsSpecification:ws,VmRestoreIpv4ConfigOverrideSpec:Os,VmRestoreNicConfigOverrideParams:Ss,VmRestoreNicConfigSpecification:Us,VmRestoreVirtualEthernetNicNetworkInfoOverrideSpec:Ps,VmRestoreVirtualEthernetNicOverrideSpec:xs}})(),i.default})());
|