@decaf-ts/integrations 0.14.0 → 0.14.3
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 +11 -1
- package/dist/integrations.cjs +3317 -2
- package/dist/integrations.js +3665 -2
- package/lib/cjs/blob/azure/AzureBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/azure/index.cjs +2 -2
- package/lib/cjs/blob/core/BlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/core/BlobErrors.cjs +2 -2
- package/lib/cjs/blob/core/BlobKey.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreFactory.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/core/BlobTypes.cjs +2 -2
- package/lib/cjs/blob/core/BlobValue.cjs +2 -2
- package/lib/cjs/blob/core/index.cjs +2 -2
- package/lib/cjs/blob/gcp/GcsBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/gcp/index.cjs +2 -2
- package/lib/cjs/blob/index.cjs +2 -2
- package/lib/cjs/blob/local/LocalBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/local/index.cjs +2 -2
- package/lib/cjs/blob/memory/MemoryBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/memory/index.cjs +2 -2
- package/lib/cjs/blob/s3/MinioBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/R2BlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/S3BlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/index.cjs +2 -2
- package/lib/cjs/calendar/CalendarService.cjs +2 -2
- package/lib/cjs/calendar/environment.cjs +2 -2
- package/lib/cjs/calendar/google-calendar/GoogleCalendarService.cjs +2 -2
- package/lib/cjs/calendar/google-calendar/index.cjs +2 -2
- package/lib/cjs/calendar/index.cjs +2 -2
- package/lib/cjs/calendar/types.cjs +2 -2
- package/lib/cjs/calendar/validators/cron.cjs +2 -2
- package/lib/cjs/calendar/writers/CalendarFsWriter.cjs +2 -2
- package/lib/cjs/calendar/writers/CalenderDownloader.cjs +2 -2
- package/lib/cjs/calendar/writers/ICalendarWriter.cjs +2 -2
- package/lib/cjs/comms/discord/DiscordService.cjs +2 -2
- package/lib/cjs/comms/discord/index.cjs +2 -2
- package/lib/cjs/comms/email/EmailService.cjs +2 -2
- package/lib/cjs/comms/email/index.cjs +2 -2
- package/lib/cjs/comms/email/mime.cjs +2 -2
- package/lib/cjs/comms/email/smtp.cjs +2 -2
- package/lib/cjs/comms/environment.cjs +2 -2
- package/lib/cjs/comms/gmail/GmailService.cjs +2 -2
- package/lib/cjs/comms/gmail/index.cjs +2 -2
- package/lib/cjs/comms/index.cjs +2 -2
- package/lib/cjs/comms/outlook/MicrosoftOutlookService.cjs +2 -2
- package/lib/cjs/comms/outlook/index.cjs +2 -2
- package/lib/cjs/comms/slack/SlackService.cjs +2 -2
- package/lib/cjs/comms/slack/index.cjs +2 -2
- package/lib/cjs/comms/teams/TeamsService.cjs +2 -2
- package/lib/cjs/comms/teams/index.cjs +2 -2
- package/lib/cjs/comms/telegram/TelegramService.cjs +2 -2
- package/lib/cjs/comms/telegram/index.cjs +2 -2
- package/lib/cjs/comms/whatsapp/WhatsAppService.cjs +2 -2
- package/lib/cjs/comms/whatsapp/index.cjs +2 -2
- package/lib/cjs/devops/environment.cjs +2 -2
- package/lib/cjs/devops/github/GithubService.cjs +2 -2
- package/lib/cjs/devops/github/index.cjs +2 -2
- package/lib/cjs/devops/gitlab/GitlabService.cjs +2 -2
- package/lib/cjs/devops/gitlab/index.cjs +2 -2
- package/lib/cjs/devops/index.cjs +2 -2
- package/lib/cjs/docker/DockerComposeService.cjs +2 -2
- package/lib/cjs/docker/index.cjs +2 -2
- package/lib/cjs/feature-flags/EngineCapabilityFeatureFlag.service.cjs +2 -2
- package/lib/cjs/feature-flags/constants.cjs +2 -2
- package/lib/cjs/feature-flags/decorators.cjs +2 -2
- package/lib/cjs/feature-flags/environment.cjs +2 -2
- package/lib/cjs/feature-flags/index.cjs +2 -2
- package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs +2 -2
- package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs +2 -2
- package/lib/cjs/feature-flags/readers/FeatureFlagReader.cjs +2 -2
- package/lib/cjs/feature-flags/readers/index.cjs +2 -2
- package/lib/cjs/feature-flags/services/FeatureFlag.service.cjs +2 -2
- package/lib/cjs/feature-flags/types.cjs +2 -2
- package/lib/cjs/feature-flags/utils.cjs +2 -2
- package/lib/cjs/index.cjs +5 -5
- package/lib/cjs/io/airtable/AirtableService.cjs +2 -2
- package/lib/cjs/io/airtable/index.cjs +2 -2
- package/lib/cjs/io/confluence/ConfluenceService.cjs +2 -2
- package/lib/cjs/io/confluence/index.cjs +2 -2
- package/lib/cjs/io/environment.cjs +2 -2
- package/lib/cjs/io/google-docs/GoogleDocsService.cjs +2 -2
- package/lib/cjs/io/google-docs/index.cjs +2 -2
- package/lib/cjs/io/google-sheets/GoogleSheetsService.cjs +2 -2
- package/lib/cjs/io/google-sheets/index.cjs +2 -2
- package/lib/cjs/io/graphql/GraphqlService.cjs +2 -2
- package/lib/cjs/io/graphql/index.cjs +2 -2
- package/lib/cjs/io/index.cjs +2 -2
- package/lib/cjs/io/jira/JiraService.cjs +2 -2
- package/lib/cjs/io/jira/index.cjs +2 -2
- package/lib/cjs/io/microsoft-excel/MicrosoftExcelService.cjs +2 -2
- package/lib/cjs/io/microsoft-excel/index.cjs +2 -2
- package/lib/cjs/io/microsoft-sharepoint/MicrosoftSharePointService.cjs +2 -2
- package/lib/cjs/io/microsoft-sharepoint/index.cjs +2 -2
- package/lib/cjs/io/spreadsheet/SpreadsheetService.cjs +2 -2
- package/lib/cjs/io/spreadsheet/index.cjs +2 -2
- package/lib/cjs/keycloak/broker.cjs +2 -2
- package/lib/cjs/keycloak/index.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs +2 -2
- package/lib/cjs/keycloak/services/index.cjs +2 -2
- package/lib/cjs/keycloak/services/runtime.cjs +2 -2
- package/lib/cjs/keycloak/types.cjs +2 -2
- package/lib/cjs/kibana/builders/KibanaIndexBuilder.cjs +2 -2
- package/lib/cjs/kibana/builders/KibanaIndexBuilderCollection.cjs +2 -2
- package/lib/cjs/kibana/builders/index.cjs +2 -2
- package/lib/cjs/kibana/helpers.cjs +2 -2
- package/lib/cjs/kibana/index.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaAuthService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaRoleService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaUserService.cjs +2 -2
- package/lib/cjs/kibana/services/index.cjs +2 -2
- package/lib/cjs/kibana/services/runtime.cjs +2 -2
- package/lib/cjs/kibana/types.cjs +2 -2
- package/lib/cjs/loader/ObjectLoader.cjs +2 -2
- package/lib/cjs/loader/assets.cjs +2 -2
- package/lib/cjs/loader/config.cjs +2 -2
- package/lib/cjs/loader/families.cjs +2 -2
- package/lib/cjs/loader/index.cjs +2 -2
- package/lib/cjs/loader/nest.cjs +2 -2
- package/lib/cjs/loader/types.cjs +2 -2
- package/lib/cjs/namespaces/index.cjs +2 -2
- package/lib/cjs/namespaces/models/authorization-model.cjs +2 -2
- package/lib/cjs/namespaces/models/credential.model.cjs +2 -2
- package/lib/cjs/namespaces/models/effective-permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/group-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/group.model.cjs +2 -2
- package/lib/cjs/namespaces/models/index.cjs +2 -2
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit.model.cjs +2 -2
- package/lib/cjs/namespaces/models/permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/principal.model.cjs +2 -2
- package/lib/cjs/namespaces/models/protected-resource.model.cjs +2 -2
- package/lib/cjs/namespaces/models/resource-grant.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role-assignment.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role-permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role.model.cjs +2 -2
- package/lib/cjs/namespaces/models/storage-binding.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant.model.cjs +2 -2
- package/lib/cjs/namespaces/models/user.model.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.models.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.services.cjs +2 -2
- package/lib/cjs/namespaces/rls/index.cjs +2 -2
- package/lib/cjs/namespaces/rls/principal-resolver.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls-bootstrap.service.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls.constants.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls.template.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls.types.cjs +2 -2
- package/lib/cjs/namespaces/rls/session-binding.cjs +2 -2
- package/lib/cjs/namespaces/services/authz.service.cjs +2 -2
- package/lib/cjs/namespaces/services/bootstrap.service.cjs +2 -2
- package/lib/cjs/namespaces/services/credential.service.cjs +2 -2
- package/lib/cjs/namespaces/services/effective-permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/group-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/group.service.cjs +2 -2
- package/lib/cjs/namespaces/services/index.cjs +2 -2
- package/lib/cjs/namespaces/services/inheritance-block.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-closure.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-profile.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit.service.cjs +2 -2
- package/lib/cjs/namespaces/services/permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/principal.service.cjs +2 -2
- package/lib/cjs/namespaces/services/protected-resource.service.cjs +2 -2
- package/lib/cjs/namespaces/services/resource-grant.service.cjs +2 -2
- package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role-assignment.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role-permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role.service.cjs +2 -2
- package/lib/cjs/namespaces/services/storage-binding.service.cjs +2 -2
- package/lib/cjs/namespaces/services/system-management.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant-profile.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant.service.cjs +2 -2
- package/lib/cjs/namespaces/services/user.service.cjs +2 -2
- package/lib/cjs/namespaces/types.cjs +2 -2
- package/lib/cjs/namespaces/utils.cjs +2 -2
- package/lib/cjs/nest/decorators.cjs +2 -2
- package/lib/cjs/nest/index.cjs +2 -2
- package/lib/cjs/nest/keycloakAuthHandler.cjs +2 -2
- package/lib/cjs/nest/keycloakModule.cjs +2 -2
- package/lib/cjs/nest/logging.cjs +2 -2
- package/lib/cjs/nest/types.cjs +2 -2
- package/lib/cjs/nest/utils.cjs +2 -2
- package/lib/cjs/plugins/contract.cjs +2 -2
- package/lib/cjs/plugins/index.cjs +2 -2
- package/lib/cjs/plugins/kibana/host.cjs +2 -2
- package/lib/cjs/plugins/kibana/index.cjs +2 -2
- package/lib/cjs/plugins/kibana/installer.cjs +2 -2
- package/lib/cjs/plugins/kibana/manifest.cjs +2 -2
- package/lib/cjs/plugins/kibana/templates.cjs +2 -2
- package/lib/cjs/plugins/kibana/types.cjs +2 -2
- package/lib/cjs/plugins/superset/host.cjs +2 -2
- package/lib/cjs/plugins/superset/index.cjs +2 -2
- package/lib/cjs/plugins/superset/installer.cjs +2 -2
- package/lib/cjs/plugins/superset/manifest.cjs +2 -2
- package/lib/cjs/plugins/superset/templates.cjs +2 -2
- package/lib/cjs/plugins/superset/types.cjs +2 -2
- package/lib/cjs/redis/RedisContextLock.cjs +2 -2
- package/lib/cjs/redis/RedisDispatch.cjs +2 -2
- package/lib/cjs/redis/RedisPaginator.cjs +2 -2
- package/lib/cjs/redis/RedisStatement.cjs +2 -2
- package/lib/cjs/redis/adapter.cjs +2 -2
- package/lib/cjs/redis/constants.cjs +2 -2
- package/lib/cjs/redis/handlers.cjs +2 -2
- package/lib/cjs/redis/index.cjs +2 -2
- package/lib/cjs/redis/serialization.cjs +2 -2
- package/lib/cjs/redis/types.cjs +2 -2
- package/lib/cjs/secrets/InfraCredentialBootstrap.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/aws/index.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/azure/index.cjs +2 -2
- package/lib/cjs/secrets/core/ClientBasedSecretService.cjs +2 -2
- package/lib/cjs/secrets/core/SecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/core/SecretErrors.cjs +2 -2
- package/lib/cjs/secrets/core/SecretName.cjs +2 -2
- package/lib/cjs/secrets/core/SecretReference.cjs +3 -2
- package/lib/cjs/secrets/core/SecretSerialization.cjs +2 -2
- package/lib/cjs/secrets/core/SecretService.cjs +2 -2
- package/lib/cjs/secrets/core/SecretTypes.cjs +2 -2
- package/lib/cjs/secrets/core/index.cjs +2 -2
- package/lib/cjs/secrets/fs/FsSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/fs/FsSecretService.cjs +2 -2
- package/lib/cjs/secrets/fs/FsSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/fs/index.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/gcp/index.cjs +2 -2
- package/lib/cjs/secrets/index.cjs +2 -2
- package/lib/cjs/secrets/kubernetes/KubernetesSecretEnvironment.cjs +34 -0
- package/lib/cjs/secrets/kubernetes/KubernetesSecretService.cjs +479 -0
- package/lib/cjs/secrets/kubernetes/KubernetesSecretServiceConfig.cjs +4 -0
- package/lib/cjs/secrets/kubernetes/index.cjs +27 -0
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretService.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/model/Secret.cjs +2 -2
- package/lib/cjs/secrets/model/index.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/onepassword/index.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/vault/index.cjs +2 -2
- package/lib/cjs/sftp/aws/AwsSftpEnvironment.cjs +2 -2
- package/lib/cjs/sftp/aws/AwsSftpService.cjs +2 -2
- package/lib/cjs/sftp/aws/index.cjs +24 -0
- package/lib/cjs/sftp/core/SftpEnvironment.cjs +2 -2
- package/lib/cjs/sftp/core/SftpSource.cjs +2 -2
- package/lib/cjs/sftp/core/index.cjs +2 -2
- package/lib/cjs/sftp/index.cjs +2 -2
- package/lib/cjs/sftp/ssh2/Ssh2SftpEnvironment.cjs +2 -2
- package/lib/cjs/sftp/ssh2/Ssh2SftpService.cjs +2 -2
- package/lib/cjs/sftp/ssh2/index.cjs +24 -0
- package/lib/cjs/shared/environmentValue.cjs +2 -2
- package/lib/cjs/shared/http/HttpApiService.cjs +2 -2
- package/lib/cjs/shared/http/hermeticBoot.cjs +2 -2
- package/lib/cjs/shared/http/index.cjs +2 -2
- package/lib/cjs/shared/runtime.cjs +2 -2
- package/lib/cjs/user-requests/index.cjs +2 -2
- package/lib/cjs/utils.cjs +2 -2
- package/lib/esm/blob/azure/AzureBlobEnvironment.js +1 -1
- package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
- package/lib/esm/blob/azure/index.js +1 -1
- package/lib/esm/blob/core/BlobEnvironment.js +1 -1
- package/lib/esm/blob/core/BlobErrors.js +1 -1
- package/lib/esm/blob/core/BlobKey.js +1 -1
- package/lib/esm/blob/core/BlobStoreFactory.js +1 -1
- package/lib/esm/blob/core/BlobStoreService.js +1 -1
- package/lib/esm/blob/core/BlobTypes.js +1 -1
- package/lib/esm/blob/core/BlobValue.js +1 -1
- package/lib/esm/blob/core/index.js +1 -1
- package/lib/esm/blob/gcp/GcsBlobEnvironment.js +1 -1
- package/lib/esm/blob/gcp/GcsBlobStoreService.js +1 -1
- package/lib/esm/blob/gcp/index.js +1 -1
- package/lib/esm/blob/index.js +1 -1
- package/lib/esm/blob/local/LocalBlobEnvironment.js +1 -1
- package/lib/esm/blob/local/LocalBlobStoreService.js +1 -1
- package/lib/esm/blob/local/index.js +1 -1
- package/lib/esm/blob/memory/MemoryBlobEnvironment.js +1 -1
- package/lib/esm/blob/memory/MemoryBlobStoreService.js +1 -1
- package/lib/esm/blob/memory/index.js +1 -1
- package/lib/esm/blob/s3/MinioBlobEnvironment.js +1 -1
- package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
- package/lib/esm/blob/s3/R2BlobEnvironment.js +1 -1
- package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/S3BlobEnvironment.js +1 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js +1 -1
- package/lib/esm/blob/s3/index.js +1 -1
- package/lib/esm/calendar/CalendarService.js +1 -1
- package/lib/esm/calendar/environment.js +1 -1
- package/lib/esm/calendar/google-calendar/GoogleCalendarService.js +1 -1
- package/lib/esm/calendar/google-calendar/index.js +1 -1
- package/lib/esm/calendar/index.js +1 -1
- package/lib/esm/calendar/types.js +1 -1
- package/lib/esm/calendar/validators/cron.js +1 -1
- package/lib/esm/calendar/writers/CalendarFsWriter.js +1 -1
- package/lib/esm/calendar/writers/CalenderDownloader.js +1 -1
- package/lib/esm/calendar/writers/ICalendarWriter.js +1 -1
- package/lib/esm/comms/discord/DiscordService.js +1 -1
- package/lib/esm/comms/discord/index.js +1 -1
- package/lib/esm/comms/email/EmailService.js +1 -1
- package/lib/esm/comms/email/index.js +1 -1
- package/lib/esm/comms/email/mime.js +1 -1
- package/lib/esm/comms/email/smtp.js +1 -1
- package/lib/esm/comms/environment.js +1 -1
- package/lib/esm/comms/gmail/GmailService.js +1 -1
- package/lib/esm/comms/gmail/index.js +1 -1
- package/lib/esm/comms/index.js +1 -1
- package/lib/esm/comms/outlook/MicrosoftOutlookService.js +1 -1
- package/lib/esm/comms/outlook/index.js +1 -1
- package/lib/esm/comms/slack/SlackService.js +1 -1
- package/lib/esm/comms/slack/index.js +1 -1
- package/lib/esm/comms/teams/TeamsService.js +1 -1
- package/lib/esm/comms/teams/index.js +1 -1
- package/lib/esm/comms/telegram/TelegramService.js +1 -1
- package/lib/esm/comms/telegram/index.js +1 -1
- package/lib/esm/comms/whatsapp/WhatsAppService.js +1 -1
- package/lib/esm/comms/whatsapp/index.js +1 -1
- package/lib/esm/devops/environment.js +1 -1
- package/lib/esm/devops/github/GithubService.js +1 -1
- package/lib/esm/devops/github/index.js +1 -1
- package/lib/esm/devops/gitlab/GitlabService.js +1 -1
- package/lib/esm/devops/gitlab/index.js +1 -1
- package/lib/esm/devops/index.js +1 -1
- package/lib/esm/docker/DockerComposeService.js +1 -1
- package/lib/esm/docker/index.js +1 -1
- package/lib/esm/feature-flags/EngineCapabilityFeatureFlag.service.js +1 -1
- package/lib/esm/feature-flags/constants.js +1 -1
- package/lib/esm/feature-flags/decorators.js +1 -1
- package/lib/esm/feature-flags/environment.js +1 -1
- package/lib/esm/feature-flags/index.js +1 -1
- package/lib/esm/feature-flags/models/FeatureFlag.model.js +1 -1
- package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js +1 -1
- package/lib/esm/feature-flags/readers/FeatureFlagReader.js +1 -1
- package/lib/esm/feature-flags/readers/index.js +1 -1
- package/lib/esm/feature-flags/services/FeatureFlag.service.js +1 -1
- package/lib/esm/feature-flags/types.js +1 -1
- package/lib/esm/feature-flags/utils.js +1 -1
- package/lib/esm/index.js +4 -4
- package/lib/esm/io/airtable/AirtableService.js +1 -1
- package/lib/esm/io/airtable/index.js +1 -1
- package/lib/esm/io/confluence/ConfluenceService.js +1 -1
- package/lib/esm/io/confluence/index.js +1 -1
- package/lib/esm/io/environment.js +1 -1
- package/lib/esm/io/google-docs/GoogleDocsService.js +1 -1
- package/lib/esm/io/google-docs/index.js +1 -1
- package/lib/esm/io/google-sheets/GoogleSheetsService.js +1 -1
- package/lib/esm/io/google-sheets/index.js +1 -1
- package/lib/esm/io/graphql/GraphqlService.js +1 -1
- package/lib/esm/io/graphql/index.js +1 -1
- package/lib/esm/io/index.js +1 -1
- package/lib/esm/io/jira/JiraService.js +1 -1
- package/lib/esm/io/jira/index.js +1 -1
- package/lib/esm/io/microsoft-excel/MicrosoftExcelService.js +1 -1
- package/lib/esm/io/microsoft-excel/index.js +1 -1
- package/lib/esm/io/microsoft-sharepoint/MicrosoftSharePointService.js +1 -1
- package/lib/esm/io/microsoft-sharepoint/index.js +1 -1
- package/lib/esm/io/spreadsheet/SpreadsheetService.js +1 -1
- package/lib/esm/io/spreadsheet/index.js +1 -1
- package/lib/esm/keycloak/broker.js +1 -1
- package/lib/esm/keycloak/index.js +1 -1
- package/lib/esm/keycloak/services/KeycloakAuthService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakClientService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakRealmService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakRoleService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakUserService.js +1 -1
- package/lib/esm/keycloak/services/index.js +1 -1
- package/lib/esm/keycloak/services/runtime.js +1 -1
- package/lib/esm/keycloak/types.js +1 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilder.js +1 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilderCollection.js +1 -1
- package/lib/esm/kibana/builders/index.js +1 -1
- package/lib/esm/kibana/helpers.js +1 -1
- package/lib/esm/kibana/index.js +1 -1
- package/lib/esm/kibana/services/KibanaAuthService.js +1 -1
- package/lib/esm/kibana/services/KibanaDashboardService.js +1 -1
- package/lib/esm/kibana/services/KibanaDataViewService.js +1 -1
- package/lib/esm/kibana/services/KibanaRoleService.js +1 -1
- package/lib/esm/kibana/services/KibanaService.js +1 -1
- package/lib/esm/kibana/services/KibanaSpaceService.js +1 -1
- package/lib/esm/kibana/services/KibanaUserService.js +1 -1
- package/lib/esm/kibana/services/index.js +1 -1
- package/lib/esm/kibana/services/runtime.js +1 -1
- package/lib/esm/kibana/types.js +1 -1
- package/lib/esm/loader/ObjectLoader.js +1 -1
- package/lib/esm/loader/assets.js +1 -1
- package/lib/esm/loader/config.js +1 -1
- package/lib/esm/loader/families.js +1 -1
- package/lib/esm/loader/index.js +1 -1
- package/lib/esm/loader/nest.js +1 -1
- package/lib/esm/loader/types.js +1 -1
- package/lib/esm/namespaces/index.js +1 -1
- package/lib/esm/namespaces/models/authorization-model.js +1 -1
- package/lib/esm/namespaces/models/credential.model.js +1 -1
- package/lib/esm/namespaces/models/effective-permission.model.js +1 -1
- package/lib/esm/namespaces/models/group-membership.model.js +1 -1
- package/lib/esm/namespaces/models/group.model.js +1 -1
- package/lib/esm/namespaces/models/index.js +1 -1
- package/lib/esm/namespaces/models/inheritance-block.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-closure.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-membership.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-profile.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit.model.js +1 -1
- package/lib/esm/namespaces/models/permission.model.js +1 -1
- package/lib/esm/namespaces/models/principal.model.js +1 -1
- package/lib/esm/namespaces/models/protected-resource.model.js +1 -1
- package/lib/esm/namespaces/models/resource-grant.model.js +1 -1
- package/lib/esm/namespaces/models/role-assignment.model.js +1 -1
- package/lib/esm/namespaces/models/role-permission.model.js +1 -1
- package/lib/esm/namespaces/models/role.model.js +1 -1
- package/lib/esm/namespaces/models/storage-binding.model.js +1 -1
- package/lib/esm/namespaces/models/tenant-membership.model.js +1 -1
- package/lib/esm/namespaces/models/tenant-profile.model.js +1 -1
- package/lib/esm/namespaces/models/tenant.model.js +1 -1
- package/lib/esm/namespaces/models/user.model.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.models.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.services.js +1 -1
- package/lib/esm/namespaces/rls/index.js +1 -1
- package/lib/esm/namespaces/rls/principal-resolver.js +1 -1
- package/lib/esm/namespaces/rls/rls-bootstrap.service.js +1 -1
- package/lib/esm/namespaces/rls/rls.constants.js +1 -1
- package/lib/esm/namespaces/rls/rls.template.js +1 -1
- package/lib/esm/namespaces/rls/rls.types.js +1 -1
- package/lib/esm/namespaces/rls/session-binding.js +1 -1
- package/lib/esm/namespaces/services/authz.service.js +1 -1
- package/lib/esm/namespaces/services/bootstrap.service.js +1 -1
- package/lib/esm/namespaces/services/credential.service.js +1 -1
- package/lib/esm/namespaces/services/effective-permission.service.js +1 -1
- package/lib/esm/namespaces/services/group-membership.service.js +1 -1
- package/lib/esm/namespaces/services/group.service.js +1 -1
- package/lib/esm/namespaces/services/index.js +1 -1
- package/lib/esm/namespaces/services/inheritance-block.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-closure.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-membership.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-profile.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit.service.js +1 -1
- package/lib/esm/namespaces/services/permission.service.js +1 -1
- package/lib/esm/namespaces/services/principal.service.js +1 -1
- package/lib/esm/namespaces/services/protected-resource.service.js +1 -1
- package/lib/esm/namespaces/services/resource-grant.service.js +1 -1
- package/lib/esm/namespaces/services/resource-lifecycle.service.js +1 -1
- package/lib/esm/namespaces/services/role-assignment.service.js +1 -1
- package/lib/esm/namespaces/services/role-permission.service.js +1 -1
- package/lib/esm/namespaces/services/role.service.js +1 -1
- package/lib/esm/namespaces/services/storage-binding.service.js +1 -1
- package/lib/esm/namespaces/services/system-management.service.js +1 -1
- package/lib/esm/namespaces/services/tenant-membership.service.js +1 -1
- package/lib/esm/namespaces/services/tenant-profile.service.js +1 -1
- package/lib/esm/namespaces/services/tenant.service.js +1 -1
- package/lib/esm/namespaces/services/user.service.js +1 -1
- package/lib/esm/namespaces/types.js +1 -1
- package/lib/esm/namespaces/utils.js +1 -1
- package/lib/esm/nest/decorators.js +1 -1
- package/lib/esm/nest/index.js +1 -1
- package/lib/esm/nest/keycloakAuthHandler.js +1 -1
- package/lib/esm/nest/keycloakModule.js +1 -1
- package/lib/esm/nest/logging.js +1 -1
- package/lib/esm/nest/types.js +1 -1
- package/lib/esm/nest/utils.js +1 -1
- package/lib/esm/plugins/contract.js +1 -1
- package/lib/esm/plugins/index.js +1 -1
- package/lib/esm/plugins/kibana/host.js +1 -1
- package/lib/esm/plugins/kibana/index.js +1 -1
- package/lib/esm/plugins/kibana/installer.js +1 -1
- package/lib/esm/plugins/kibana/manifest.js +1 -1
- package/lib/esm/plugins/kibana/templates.js +1 -1
- package/lib/esm/plugins/kibana/types.js +1 -1
- package/lib/esm/plugins/superset/host.js +1 -1
- package/lib/esm/plugins/superset/index.js +1 -1
- package/lib/esm/plugins/superset/installer.js +1 -1
- package/lib/esm/plugins/superset/manifest.js +1 -1
- package/lib/esm/plugins/superset/templates.js +1 -1
- package/lib/esm/plugins/superset/types.js +1 -1
- package/lib/esm/redis/RedisContextLock.js +1 -1
- package/lib/esm/redis/RedisDispatch.js +1 -1
- package/lib/esm/redis/RedisPaginator.js +1 -1
- package/lib/esm/redis/RedisStatement.js +1 -1
- package/lib/esm/redis/adapter.js +1 -1
- package/lib/esm/redis/constants.js +1 -1
- package/lib/esm/redis/handlers.js +1 -1
- package/lib/esm/redis/index.js +1 -1
- package/lib/esm/redis/serialization.js +1 -1
- package/lib/esm/redis/types.js +1 -1
- package/lib/esm/secrets/InfraCredentialBootstrap.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretEnvironment.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretService.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/aws/index.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/azure/AzureSecretEnvironment.js +1 -1
- package/lib/esm/secrets/azure/index.js +1 -1
- package/lib/esm/secrets/core/ClientBasedSecretService.js +1 -1
- package/lib/esm/secrets/core/SecretEnvironment.js +1 -1
- package/lib/esm/secrets/core/SecretErrors.js +1 -1
- package/lib/esm/secrets/core/SecretName.js +1 -1
- package/lib/esm/secrets/core/SecretReference.js +2 -1
- package/lib/esm/secrets/core/SecretSerialization.js +1 -1
- package/lib/esm/secrets/core/SecretService.js +1 -1
- package/lib/esm/secrets/core/SecretTypes.js +1 -1
- package/lib/esm/secrets/core/index.js +1 -1
- package/lib/esm/secrets/fs/FsSecretEnvironment.js +1 -1
- package/lib/esm/secrets/fs/FsSecretService.js +1 -1
- package/lib/esm/secrets/fs/FsSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/fs/index.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretEnvironment.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +1 -1
- package/lib/esm/secrets/gcp/index.js +1 -1
- package/lib/esm/secrets/index.js +1 -1
- package/lib/esm/secrets/kubernetes/KubernetesSecretEnvironment.js +30 -0
- package/lib/esm/secrets/kubernetes/KubernetesSecretService.js +474 -0
- package/lib/esm/secrets/kubernetes/KubernetesSecretServiceConfig.js +9 -0
- package/lib/esm/secrets/kubernetes/index.js +10 -0
- package/lib/esm/secrets/model/ModelSecretCrypto.js +1 -1
- package/lib/esm/secrets/model/ModelSecretEnvironment.js +1 -1
- package/lib/esm/secrets/model/ModelSecretService.js +1 -1
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/model/Secret.js +1 -1
- package/lib/esm/secrets/model/index.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretEnvironment.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/onepassword/index.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretEnvironment.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretService.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/vault/index.js +1 -1
- package/lib/esm/sftp/aws/AwsSftpEnvironment.js +1 -1
- package/lib/esm/sftp/aws/AwsSftpService.js +1 -1
- package/lib/esm/sftp/aws/index.js +7 -0
- package/lib/esm/sftp/core/SftpEnvironment.js +1 -1
- package/lib/esm/sftp/core/SftpSource.js +1 -1
- package/lib/esm/sftp/core/index.js +1 -1
- package/lib/esm/sftp/index.js +1 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpEnvironment.js +1 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpService.js +1 -1
- package/lib/esm/sftp/ssh2/index.js +7 -0
- package/lib/esm/shared/environmentValue.js +1 -1
- package/lib/esm/shared/http/HttpApiService.js +1 -1
- package/lib/esm/shared/http/hermeticBoot.js +1 -1
- package/lib/esm/shared/http/index.js +1 -1
- package/lib/esm/shared/runtime.js +1 -1
- package/lib/esm/user-requests/index.js +1 -1
- package/lib/esm/utils.js +1 -1
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/lib/types/secrets/core/SecretTypes.d.cts +13 -1
- package/lib/types/secrets/core/SecretTypes.d.mts +13 -1
- package/lib/types/secrets/kubernetes/KubernetesSecretEnvironment.d.cts +34 -0
- package/lib/types/secrets/kubernetes/KubernetesSecretEnvironment.d.mts +34 -0
- package/lib/types/secrets/kubernetes/KubernetesSecretService.d.cts +45 -0
- package/lib/types/secrets/kubernetes/KubernetesSecretService.d.mts +45 -0
- package/lib/types/secrets/kubernetes/KubernetesSecretServiceConfig.d.cts +49 -0
- package/lib/types/secrets/kubernetes/KubernetesSecretServiceConfig.d.mts +49 -0
- package/lib/types/secrets/kubernetes/index.d.cts +9 -0
- package/lib/types/secrets/kubernetes/index.d.mts +9 -0
- package/lib/types/sftp/aws/index.d.cts +6 -0
- package/lib/types/sftp/aws/index.d.mts +6 -0
- package/lib/types/sftp/ssh2/index.d.cts +6 -0
- package/lib/types/sftp/ssh2/index.d.mts +6 -0
- package/package.json +180 -55
- package/dist/integrations.cjs.map +0 -1
- package/dist/integrations.js.map +0 -1
- package/lib/cjs/blob/azure/AzureBlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/azure/index.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobErrors.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobKey.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobTypes.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobValue.cjs.map +0 -1
- package/lib/cjs/blob/core/index.cjs.map +0 -1
- package/lib/cjs/blob/gcp/GcsBlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/gcp/index.cjs.map +0 -1
- package/lib/cjs/blob/index.cjs.map +0 -1
- package/lib/cjs/blob/local/LocalBlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/local/index.cjs.map +0 -1
- package/lib/cjs/blob/memory/MemoryBlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/memory/index.cjs.map +0 -1
- package/lib/cjs/blob/s3/MinioBlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/R2BlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/S3BlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/index.cjs.map +0 -1
- package/lib/cjs/calendar/CalendarService.cjs.map +0 -1
- package/lib/cjs/calendar/environment.cjs.map +0 -1
- package/lib/cjs/calendar/google-calendar/GoogleCalendarService.cjs.map +0 -1
- package/lib/cjs/calendar/google-calendar/index.cjs.map +0 -1
- package/lib/cjs/calendar/index.cjs.map +0 -1
- package/lib/cjs/calendar/types.cjs.map +0 -1
- package/lib/cjs/calendar/validators/cron.cjs.map +0 -1
- package/lib/cjs/calendar/writers/CalendarFsWriter.cjs.map +0 -1
- package/lib/cjs/calendar/writers/CalenderDownloader.cjs.map +0 -1
- package/lib/cjs/calendar/writers/ICalendarWriter.cjs.map +0 -1
- package/lib/cjs/comms/discord/DiscordService.cjs.map +0 -1
- package/lib/cjs/comms/discord/index.cjs.map +0 -1
- package/lib/cjs/comms/email/EmailService.cjs.map +0 -1
- package/lib/cjs/comms/email/index.cjs.map +0 -1
- package/lib/cjs/comms/email/mime.cjs.map +0 -1
- package/lib/cjs/comms/email/smtp.cjs.map +0 -1
- package/lib/cjs/comms/environment.cjs.map +0 -1
- package/lib/cjs/comms/gmail/GmailService.cjs.map +0 -1
- package/lib/cjs/comms/gmail/index.cjs.map +0 -1
- package/lib/cjs/comms/index.cjs.map +0 -1
- package/lib/cjs/comms/outlook/MicrosoftOutlookService.cjs.map +0 -1
- package/lib/cjs/comms/outlook/index.cjs.map +0 -1
- package/lib/cjs/comms/slack/SlackService.cjs.map +0 -1
- package/lib/cjs/comms/slack/index.cjs.map +0 -1
- package/lib/cjs/comms/teams/TeamsService.cjs.map +0 -1
- package/lib/cjs/comms/teams/index.cjs.map +0 -1
- package/lib/cjs/comms/telegram/TelegramService.cjs.map +0 -1
- package/lib/cjs/comms/telegram/index.cjs.map +0 -1
- package/lib/cjs/comms/whatsapp/WhatsAppService.cjs.map +0 -1
- package/lib/cjs/comms/whatsapp/index.cjs.map +0 -1
- package/lib/cjs/devops/environment.cjs.map +0 -1
- package/lib/cjs/devops/github/GithubService.cjs.map +0 -1
- package/lib/cjs/devops/github/index.cjs.map +0 -1
- package/lib/cjs/devops/gitlab/GitlabService.cjs.map +0 -1
- package/lib/cjs/devops/gitlab/index.cjs.map +0 -1
- package/lib/cjs/devops/index.cjs.map +0 -1
- package/lib/cjs/docker/DockerComposeService.cjs.map +0 -1
- package/lib/cjs/docker/index.cjs.map +0 -1
- package/lib/cjs/feature-flags/EngineCapabilityFeatureFlag.service.cjs.map +0 -1
- package/lib/cjs/feature-flags/constants.cjs.map +0 -1
- package/lib/cjs/feature-flags/decorators.cjs.map +0 -1
- package/lib/cjs/feature-flags/environment.cjs.map +0 -1
- package/lib/cjs/feature-flags/index.cjs.map +0 -1
- package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs.map +0 -1
- package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs.map +0 -1
- package/lib/cjs/feature-flags/readers/FeatureFlagReader.cjs.map +0 -1
- package/lib/cjs/feature-flags/readers/index.cjs.map +0 -1
- package/lib/cjs/feature-flags/services/FeatureFlag.service.cjs.map +0 -1
- package/lib/cjs/feature-flags/types.cjs.map +0 -1
- package/lib/cjs/feature-flags/utils.cjs.map +0 -1
- package/lib/cjs/index.cjs.map +0 -1
- package/lib/cjs/io/airtable/AirtableService.cjs.map +0 -1
- package/lib/cjs/io/airtable/index.cjs.map +0 -1
- package/lib/cjs/io/confluence/ConfluenceService.cjs.map +0 -1
- package/lib/cjs/io/confluence/index.cjs.map +0 -1
- package/lib/cjs/io/environment.cjs.map +0 -1
- package/lib/cjs/io/google-docs/GoogleDocsService.cjs.map +0 -1
- package/lib/cjs/io/google-docs/index.cjs.map +0 -1
- package/lib/cjs/io/google-sheets/GoogleSheetsService.cjs.map +0 -1
- package/lib/cjs/io/google-sheets/index.cjs.map +0 -1
- package/lib/cjs/io/graphql/GraphqlService.cjs.map +0 -1
- package/lib/cjs/io/graphql/index.cjs.map +0 -1
- package/lib/cjs/io/index.cjs.map +0 -1
- package/lib/cjs/io/jira/JiraService.cjs.map +0 -1
- package/lib/cjs/io/jira/index.cjs.map +0 -1
- package/lib/cjs/io/microsoft-excel/MicrosoftExcelService.cjs.map +0 -1
- package/lib/cjs/io/microsoft-excel/index.cjs.map +0 -1
- package/lib/cjs/io/microsoft-sharepoint/MicrosoftSharePointService.cjs.map +0 -1
- package/lib/cjs/io/microsoft-sharepoint/index.cjs.map +0 -1
- package/lib/cjs/io/spreadsheet/SpreadsheetService.cjs.map +0 -1
- package/lib/cjs/io/spreadsheet/index.cjs.map +0 -1
- package/lib/cjs/keycloak/broker.cjs.map +0 -1
- package/lib/cjs/keycloak/index.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/index.cjs.map +0 -1
- package/lib/cjs/keycloak/services/runtime.cjs.map +0 -1
- package/lib/cjs/keycloak/types.cjs.map +0 -1
- package/lib/cjs/kibana/builders/KibanaIndexBuilder.cjs.map +0 -1
- package/lib/cjs/kibana/builders/KibanaIndexBuilderCollection.cjs.map +0 -1
- package/lib/cjs/kibana/builders/index.cjs.map +0 -1
- package/lib/cjs/kibana/helpers.cjs.map +0 -1
- package/lib/cjs/kibana/index.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaUserService.cjs.map +0 -1
- package/lib/cjs/kibana/services/index.cjs.map +0 -1
- package/lib/cjs/kibana/services/runtime.cjs.map +0 -1
- package/lib/cjs/kibana/types.cjs.map +0 -1
- package/lib/cjs/loader/ObjectLoader.cjs.map +0 -1
- package/lib/cjs/loader/assets.cjs.map +0 -1
- package/lib/cjs/loader/config.cjs.map +0 -1
- package/lib/cjs/loader/families.cjs.map +0 -1
- package/lib/cjs/loader/index.cjs.map +0 -1
- package/lib/cjs/loader/nest.cjs.map +0 -1
- package/lib/cjs/loader/types.cjs.map +0 -1
- package/lib/cjs/namespaces/index.cjs.map +0 -1
- package/lib/cjs/namespaces/models/authorization-model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/credential.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/effective-permission.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/group-membership.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/group.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/index.cjs.map +0 -1
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/org-unit.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/permission.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/principal.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/protected-resource.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/resource-grant.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/role-assignment.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/role-permission.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/role.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/storage-binding.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/tenant.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/user.model.cjs.map +0 -1
- package/lib/cjs/namespaces/org-based-authorization-system.cjs.map +0 -1
- package/lib/cjs/namespaces/org-based-authorization-system.models.cjs.map +0 -1
- package/lib/cjs/namespaces/org-based-authorization-system.services.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/index.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/principal-resolver.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/rls-bootstrap.service.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/rls.constants.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/rls.template.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/rls.types.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/session-binding.cjs.map +0 -1
- package/lib/cjs/namespaces/services/authz.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/bootstrap.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/credential.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/effective-permission.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/group-membership.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/group.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/index.cjs.map +0 -1
- package/lib/cjs/namespaces/services/inheritance-block.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/org-unit-closure.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/org-unit-membership.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/org-unit-profile.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/org-unit.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/permission.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/principal.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/protected-resource.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/resource-grant.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/role-assignment.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/role-permission.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/role.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/storage-binding.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/system-management.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/tenant-membership.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/tenant-profile.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/tenant.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/user.service.cjs.map +0 -1
- package/lib/cjs/namespaces/types.cjs.map +0 -1
- package/lib/cjs/namespaces/utils.cjs.map +0 -1
- package/lib/cjs/nest/decorators.cjs.map +0 -1
- package/lib/cjs/nest/index.cjs.map +0 -1
- package/lib/cjs/nest/keycloakAuthHandler.cjs.map +0 -1
- package/lib/cjs/nest/keycloakModule.cjs.map +0 -1
- package/lib/cjs/nest/logging.cjs.map +0 -1
- package/lib/cjs/nest/types.cjs.map +0 -1
- package/lib/cjs/nest/utils.cjs.map +0 -1
- package/lib/cjs/plugins/contract.cjs.map +0 -1
- package/lib/cjs/plugins/index.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/host.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/index.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/installer.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/manifest.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/templates.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/types.cjs.map +0 -1
- package/lib/cjs/plugins/superset/host.cjs.map +0 -1
- package/lib/cjs/plugins/superset/index.cjs.map +0 -1
- package/lib/cjs/plugins/superset/installer.cjs.map +0 -1
- package/lib/cjs/plugins/superset/manifest.cjs.map +0 -1
- package/lib/cjs/plugins/superset/templates.cjs.map +0 -1
- package/lib/cjs/plugins/superset/types.cjs.map +0 -1
- package/lib/cjs/redis/RedisContextLock.cjs.map +0 -1
- package/lib/cjs/redis/RedisDispatch.cjs.map +0 -1
- package/lib/cjs/redis/RedisPaginator.cjs.map +0 -1
- package/lib/cjs/redis/RedisStatement.cjs.map +0 -1
- package/lib/cjs/redis/adapter.cjs.map +0 -1
- package/lib/cjs/redis/constants.cjs.map +0 -1
- package/lib/cjs/redis/handlers.cjs.map +0 -1
- package/lib/cjs/redis/index.cjs.map +0 -1
- package/lib/cjs/redis/serialization.cjs.map +0 -1
- package/lib/cjs/redis/types.cjs.map +0 -1
- package/lib/cjs/secrets/InfraCredentialBootstrap.cjs.map +0 -1
- package/lib/cjs/secrets/aws/AwsSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/aws/index.cjs.map +0 -1
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/azure/AzureSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/azure/index.cjs.map +0 -1
- package/lib/cjs/secrets/core/ClientBasedSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretErrors.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretName.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretReference.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretSerialization.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretService.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretTypes.cjs.map +0 -1
- package/lib/cjs/secrets/core/index.cjs.map +0 -1
- package/lib/cjs/secrets/fs/FsSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/fs/FsSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/fs/FsSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/fs/index.cjs.map +0 -1
- package/lib/cjs/secrets/gcp/GcpSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +0 -1
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/gcp/index.cjs.map +0 -1
- package/lib/cjs/secrets/index.cjs.map +0 -1
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +0 -1
- package/lib/cjs/secrets/model/ModelSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/model/ModelSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/model/Secret.cjs.map +0 -1
- package/lib/cjs/secrets/model/index.cjs.map +0 -1
- package/lib/cjs/secrets/onepassword/OnePasswordSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/onepassword/index.cjs.map +0 -1
- package/lib/cjs/secrets/vault/VaultSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/vault/index.cjs.map +0 -1
- package/lib/cjs/sftp/aws/AwsSftpEnvironment.cjs.map +0 -1
- package/lib/cjs/sftp/aws/AwsSftpService.cjs.map +0 -1
- package/lib/cjs/sftp/core/SftpEnvironment.cjs.map +0 -1
- package/lib/cjs/sftp/core/SftpSource.cjs.map +0 -1
- package/lib/cjs/sftp/core/index.cjs.map +0 -1
- package/lib/cjs/sftp/index.cjs.map +0 -1
- package/lib/cjs/sftp/ssh2/Ssh2SftpEnvironment.cjs.map +0 -1
- package/lib/cjs/sftp/ssh2/Ssh2SftpService.cjs.map +0 -1
- package/lib/cjs/shared/environmentValue.cjs.map +0 -1
- package/lib/cjs/shared/http/HttpApiService.cjs.map +0 -1
- package/lib/cjs/shared/http/hermeticBoot.cjs.map +0 -1
- package/lib/cjs/shared/http/index.cjs.map +0 -1
- package/lib/cjs/shared/runtime.cjs.map +0 -1
- package/lib/cjs/user-requests/index.cjs.map +0 -1
- package/lib/cjs/utils.cjs.map +0 -1
- package/lib/esm/blob/azure/AzureBlobEnvironment.js.map +0 -1
- package/lib/esm/blob/azure/AzureBlobStoreService.js.map +0 -1
- package/lib/esm/blob/azure/index.js.map +0 -1
- package/lib/esm/blob/core/BlobEnvironment.js.map +0 -1
- package/lib/esm/blob/core/BlobErrors.js.map +0 -1
- package/lib/esm/blob/core/BlobKey.js.map +0 -1
- package/lib/esm/blob/core/BlobStoreFactory.js.map +0 -1
- package/lib/esm/blob/core/BlobStoreService.js.map +0 -1
- package/lib/esm/blob/core/BlobTypes.js.map +0 -1
- package/lib/esm/blob/core/BlobValue.js.map +0 -1
- package/lib/esm/blob/core/index.js.map +0 -1
- package/lib/esm/blob/gcp/GcsBlobEnvironment.js.map +0 -1
- package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +0 -1
- package/lib/esm/blob/gcp/index.js.map +0 -1
- package/lib/esm/blob/index.js.map +0 -1
- package/lib/esm/blob/local/LocalBlobEnvironment.js.map +0 -1
- package/lib/esm/blob/local/LocalBlobStoreService.js.map +0 -1
- package/lib/esm/blob/local/index.js.map +0 -1
- package/lib/esm/blob/memory/MemoryBlobEnvironment.js.map +0 -1
- package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +0 -1
- package/lib/esm/blob/memory/index.js.map +0 -1
- package/lib/esm/blob/s3/MinioBlobEnvironment.js.map +0 -1
- package/lib/esm/blob/s3/MinioBlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/R2BlobEnvironment.js.map +0 -1
- package/lib/esm/blob/s3/R2BlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/S3BlobEnvironment.js.map +0 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/index.js.map +0 -1
- package/lib/esm/calendar/CalendarService.js.map +0 -1
- package/lib/esm/calendar/environment.js.map +0 -1
- package/lib/esm/calendar/google-calendar/GoogleCalendarService.js.map +0 -1
- package/lib/esm/calendar/google-calendar/index.js.map +0 -1
- package/lib/esm/calendar/index.js.map +0 -1
- package/lib/esm/calendar/types.js.map +0 -1
- package/lib/esm/calendar/validators/cron.js.map +0 -1
- package/lib/esm/calendar/writers/CalendarFsWriter.js.map +0 -1
- package/lib/esm/calendar/writers/CalenderDownloader.js.map +0 -1
- package/lib/esm/calendar/writers/ICalendarWriter.js.map +0 -1
- package/lib/esm/comms/discord/DiscordService.js.map +0 -1
- package/lib/esm/comms/discord/index.js.map +0 -1
- package/lib/esm/comms/email/EmailService.js.map +0 -1
- package/lib/esm/comms/email/index.js.map +0 -1
- package/lib/esm/comms/email/mime.js.map +0 -1
- package/lib/esm/comms/email/smtp.js.map +0 -1
- package/lib/esm/comms/environment.js.map +0 -1
- package/lib/esm/comms/gmail/GmailService.js.map +0 -1
- package/lib/esm/comms/gmail/index.js.map +0 -1
- package/lib/esm/comms/index.js.map +0 -1
- package/lib/esm/comms/outlook/MicrosoftOutlookService.js.map +0 -1
- package/lib/esm/comms/outlook/index.js.map +0 -1
- package/lib/esm/comms/slack/SlackService.js.map +0 -1
- package/lib/esm/comms/slack/index.js.map +0 -1
- package/lib/esm/comms/teams/TeamsService.js.map +0 -1
- package/lib/esm/comms/teams/index.js.map +0 -1
- package/lib/esm/comms/telegram/TelegramService.js.map +0 -1
- package/lib/esm/comms/telegram/index.js.map +0 -1
- package/lib/esm/comms/whatsapp/WhatsAppService.js.map +0 -1
- package/lib/esm/comms/whatsapp/index.js.map +0 -1
- package/lib/esm/devops/environment.js.map +0 -1
- package/lib/esm/devops/github/GithubService.js.map +0 -1
- package/lib/esm/devops/github/index.js.map +0 -1
- package/lib/esm/devops/gitlab/GitlabService.js.map +0 -1
- package/lib/esm/devops/gitlab/index.js.map +0 -1
- package/lib/esm/devops/index.js.map +0 -1
- package/lib/esm/docker/DockerComposeService.js.map +0 -1
- package/lib/esm/docker/index.js.map +0 -1
- package/lib/esm/feature-flags/EngineCapabilityFeatureFlag.service.js.map +0 -1
- package/lib/esm/feature-flags/constants.js.map +0 -1
- package/lib/esm/feature-flags/decorators.js.map +0 -1
- package/lib/esm/feature-flags/environment.js.map +0 -1
- package/lib/esm/feature-flags/index.js.map +0 -1
- package/lib/esm/feature-flags/models/FeatureFlag.model.js.map +0 -1
- package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js.map +0 -1
- package/lib/esm/feature-flags/readers/FeatureFlagReader.js.map +0 -1
- package/lib/esm/feature-flags/readers/index.js.map +0 -1
- package/lib/esm/feature-flags/services/FeatureFlag.service.js.map +0 -1
- package/lib/esm/feature-flags/types.js.map +0 -1
- package/lib/esm/feature-flags/utils.js.map +0 -1
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/io/airtable/AirtableService.js.map +0 -1
- package/lib/esm/io/airtable/index.js.map +0 -1
- package/lib/esm/io/confluence/ConfluenceService.js.map +0 -1
- package/lib/esm/io/confluence/index.js.map +0 -1
- package/lib/esm/io/environment.js.map +0 -1
- package/lib/esm/io/google-docs/GoogleDocsService.js.map +0 -1
- package/lib/esm/io/google-docs/index.js.map +0 -1
- package/lib/esm/io/google-sheets/GoogleSheetsService.js.map +0 -1
- package/lib/esm/io/google-sheets/index.js.map +0 -1
- package/lib/esm/io/graphql/GraphqlService.js.map +0 -1
- package/lib/esm/io/graphql/index.js.map +0 -1
- package/lib/esm/io/index.js.map +0 -1
- package/lib/esm/io/jira/JiraService.js.map +0 -1
- package/lib/esm/io/jira/index.js.map +0 -1
- package/lib/esm/io/microsoft-excel/MicrosoftExcelService.js.map +0 -1
- package/lib/esm/io/microsoft-excel/index.js.map +0 -1
- package/lib/esm/io/microsoft-sharepoint/MicrosoftSharePointService.js.map +0 -1
- package/lib/esm/io/microsoft-sharepoint/index.js.map +0 -1
- package/lib/esm/io/spreadsheet/SpreadsheetService.js.map +0 -1
- package/lib/esm/io/spreadsheet/index.js.map +0 -1
- package/lib/esm/keycloak/broker.js.map +0 -1
- package/lib/esm/keycloak/index.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakAuthService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakClientService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakRealmService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakRoleService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakUserService.js.map +0 -1
- package/lib/esm/keycloak/services/index.js.map +0 -1
- package/lib/esm/keycloak/services/runtime.js.map +0 -1
- package/lib/esm/keycloak/types.js.map +0 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilder.js.map +0 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilderCollection.js.map +0 -1
- package/lib/esm/kibana/builders/index.js.map +0 -1
- package/lib/esm/kibana/helpers.js.map +0 -1
- package/lib/esm/kibana/index.js.map +0 -1
- package/lib/esm/kibana/services/KibanaAuthService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaDashboardService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaDataViewService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaRoleService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaSpaceService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaUserService.js.map +0 -1
- package/lib/esm/kibana/services/index.js.map +0 -1
- package/lib/esm/kibana/services/runtime.js.map +0 -1
- package/lib/esm/kibana/types.js.map +0 -1
- package/lib/esm/loader/ObjectLoader.js.map +0 -1
- package/lib/esm/loader/assets.js.map +0 -1
- package/lib/esm/loader/config.js.map +0 -1
- package/lib/esm/loader/families.js.map +0 -1
- package/lib/esm/loader/index.js.map +0 -1
- package/lib/esm/loader/nest.js.map +0 -1
- package/lib/esm/loader/types.js.map +0 -1
- package/lib/esm/namespaces/index.js.map +0 -1
- package/lib/esm/namespaces/models/authorization-model.js.map +0 -1
- package/lib/esm/namespaces/models/credential.model.js.map +0 -1
- package/lib/esm/namespaces/models/effective-permission.model.js.map +0 -1
- package/lib/esm/namespaces/models/group-membership.model.js.map +0 -1
- package/lib/esm/namespaces/models/group.model.js.map +0 -1
- package/lib/esm/namespaces/models/index.js.map +0 -1
- package/lib/esm/namespaces/models/inheritance-block.model.js.map +0 -1
- package/lib/esm/namespaces/models/org-unit-closure.model.js.map +0 -1
- package/lib/esm/namespaces/models/org-unit-membership.model.js.map +0 -1
- package/lib/esm/namespaces/models/org-unit-profile.model.js.map +0 -1
- package/lib/esm/namespaces/models/org-unit.model.js.map +0 -1
- package/lib/esm/namespaces/models/permission.model.js.map +0 -1
- package/lib/esm/namespaces/models/principal.model.js.map +0 -1
- package/lib/esm/namespaces/models/protected-resource.model.js.map +0 -1
- package/lib/esm/namespaces/models/resource-grant.model.js.map +0 -1
- package/lib/esm/namespaces/models/role-assignment.model.js.map +0 -1
- package/lib/esm/namespaces/models/role-permission.model.js.map +0 -1
- package/lib/esm/namespaces/models/role.model.js.map +0 -1
- package/lib/esm/namespaces/models/storage-binding.model.js.map +0 -1
- package/lib/esm/namespaces/models/tenant-membership.model.js.map +0 -1
- package/lib/esm/namespaces/models/tenant-profile.model.js.map +0 -1
- package/lib/esm/namespaces/models/tenant.model.js.map +0 -1
- package/lib/esm/namespaces/models/user.model.js.map +0 -1
- package/lib/esm/namespaces/org-based-authorization-system.js.map +0 -1
- package/lib/esm/namespaces/org-based-authorization-system.models.js.map +0 -1
- package/lib/esm/namespaces/org-based-authorization-system.services.js.map +0 -1
- package/lib/esm/namespaces/rls/index.js.map +0 -1
- package/lib/esm/namespaces/rls/principal-resolver.js.map +0 -1
- package/lib/esm/namespaces/rls/rls-bootstrap.service.js.map +0 -1
- package/lib/esm/namespaces/rls/rls.constants.js.map +0 -1
- package/lib/esm/namespaces/rls/rls.template.js.map +0 -1
- package/lib/esm/namespaces/rls/rls.types.js.map +0 -1
- package/lib/esm/namespaces/rls/session-binding.js.map +0 -1
- package/lib/esm/namespaces/services/authz.service.js.map +0 -1
- package/lib/esm/namespaces/services/bootstrap.service.js.map +0 -1
- package/lib/esm/namespaces/services/credential.service.js.map +0 -1
- package/lib/esm/namespaces/services/effective-permission.service.js.map +0 -1
- package/lib/esm/namespaces/services/group-membership.service.js.map +0 -1
- package/lib/esm/namespaces/services/group.service.js.map +0 -1
- package/lib/esm/namespaces/services/index.js.map +0 -1
- package/lib/esm/namespaces/services/inheritance-block.service.js.map +0 -1
- package/lib/esm/namespaces/services/org-unit-closure.service.js.map +0 -1
- package/lib/esm/namespaces/services/org-unit-membership.service.js.map +0 -1
- package/lib/esm/namespaces/services/org-unit-profile.service.js.map +0 -1
- package/lib/esm/namespaces/services/org-unit.service.js.map +0 -1
- package/lib/esm/namespaces/services/permission.service.js.map +0 -1
- package/lib/esm/namespaces/services/principal.service.js.map +0 -1
- package/lib/esm/namespaces/services/protected-resource.service.js.map +0 -1
- package/lib/esm/namespaces/services/resource-grant.service.js.map +0 -1
- package/lib/esm/namespaces/services/resource-lifecycle.service.js.map +0 -1
- package/lib/esm/namespaces/services/role-assignment.service.js.map +0 -1
- package/lib/esm/namespaces/services/role-permission.service.js.map +0 -1
- package/lib/esm/namespaces/services/role.service.js.map +0 -1
- package/lib/esm/namespaces/services/storage-binding.service.js.map +0 -1
- package/lib/esm/namespaces/services/system-management.service.js.map +0 -1
- package/lib/esm/namespaces/services/tenant-membership.service.js.map +0 -1
- package/lib/esm/namespaces/services/tenant-profile.service.js.map +0 -1
- package/lib/esm/namespaces/services/tenant.service.js.map +0 -1
- package/lib/esm/namespaces/services/user.service.js.map +0 -1
- package/lib/esm/namespaces/types.js.map +0 -1
- package/lib/esm/namespaces/utils.js.map +0 -1
- package/lib/esm/nest/decorators.js.map +0 -1
- package/lib/esm/nest/index.js.map +0 -1
- package/lib/esm/nest/keycloakAuthHandler.js.map +0 -1
- package/lib/esm/nest/keycloakModule.js.map +0 -1
- package/lib/esm/nest/logging.js.map +0 -1
- package/lib/esm/nest/types.js.map +0 -1
- package/lib/esm/nest/utils.js.map +0 -1
- package/lib/esm/plugins/contract.js.map +0 -1
- package/lib/esm/plugins/index.js.map +0 -1
- package/lib/esm/plugins/kibana/host.js.map +0 -1
- package/lib/esm/plugins/kibana/index.js.map +0 -1
- package/lib/esm/plugins/kibana/installer.js.map +0 -1
- package/lib/esm/plugins/kibana/manifest.js.map +0 -1
- package/lib/esm/plugins/kibana/templates.js.map +0 -1
- package/lib/esm/plugins/kibana/types.js.map +0 -1
- package/lib/esm/plugins/superset/host.js.map +0 -1
- package/lib/esm/plugins/superset/index.js.map +0 -1
- package/lib/esm/plugins/superset/installer.js.map +0 -1
- package/lib/esm/plugins/superset/manifest.js.map +0 -1
- package/lib/esm/plugins/superset/templates.js.map +0 -1
- package/lib/esm/plugins/superset/types.js.map +0 -1
- package/lib/esm/redis/RedisContextLock.js.map +0 -1
- package/lib/esm/redis/RedisDispatch.js.map +0 -1
- package/lib/esm/redis/RedisPaginator.js.map +0 -1
- package/lib/esm/redis/RedisStatement.js.map +0 -1
- package/lib/esm/redis/adapter.js.map +0 -1
- package/lib/esm/redis/constants.js.map +0 -1
- package/lib/esm/redis/handlers.js.map +0 -1
- package/lib/esm/redis/index.js.map +0 -1
- package/lib/esm/redis/serialization.js.map +0 -1
- package/lib/esm/redis/types.js.map +0 -1
- package/lib/esm/secrets/InfraCredentialBootstrap.js.map +0 -1
- package/lib/esm/secrets/aws/AwsSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/aws/AwsSecretService.js.map +0 -1
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/aws/index.js.map +0 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +0 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/azure/AzureSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/azure/index.js.map +0 -1
- package/lib/esm/secrets/core/ClientBasedSecretService.js.map +0 -1
- package/lib/esm/secrets/core/SecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/core/SecretErrors.js.map +0 -1
- package/lib/esm/secrets/core/SecretName.js.map +0 -1
- package/lib/esm/secrets/core/SecretReference.js.map +0 -1
- package/lib/esm/secrets/core/SecretSerialization.js.map +0 -1
- package/lib/esm/secrets/core/SecretService.js.map +0 -1
- package/lib/esm/secrets/core/SecretTypes.js.map +0 -1
- package/lib/esm/secrets/core/index.js.map +0 -1
- package/lib/esm/secrets/fs/FsSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/fs/FsSecretService.js.map +0 -1
- package/lib/esm/secrets/fs/FsSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/fs/index.js.map +0 -1
- package/lib/esm/secrets/gcp/GcpSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +0 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +0 -1
- package/lib/esm/secrets/gcp/index.js.map +0 -1
- package/lib/esm/secrets/index.js.map +0 -1
- package/lib/esm/secrets/model/ModelSecretCrypto.js.map +0 -1
- package/lib/esm/secrets/model/ModelSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/model/ModelSecretService.js.map +0 -1
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/model/Secret.js.map +0 -1
- package/lib/esm/secrets/model/index.js.map +0 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +0 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/onepassword/index.js.map +0 -1
- package/lib/esm/secrets/vault/VaultSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/vault/VaultSecretService.js.map +0 -1
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/vault/index.js.map +0 -1
- package/lib/esm/sftp/aws/AwsSftpEnvironment.js.map +0 -1
- package/lib/esm/sftp/aws/AwsSftpService.js.map +0 -1
- package/lib/esm/sftp/core/SftpEnvironment.js.map +0 -1
- package/lib/esm/sftp/core/SftpSource.js.map +0 -1
- package/lib/esm/sftp/core/index.js.map +0 -1
- package/lib/esm/sftp/index.js.map +0 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpEnvironment.js.map +0 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpService.js.map +0 -1
- package/lib/esm/shared/environmentValue.js.map +0 -1
- package/lib/esm/shared/http/HttpApiService.js.map +0 -1
- package/lib/esm/shared/http/hermeticBoot.js.map +0 -1
- package/lib/esm/shared/http/index.js.map +0 -1
- package/lib/esm/shared/runtime.js.map +0 -1
- package/lib/esm/user-requests/index.js.map +0 -1
- package/lib/esm/utils.js.map +0 -1
|
@@ -177,4 +177,4 @@ export class RedisContextLock extends ContextLock {
|
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
|
-
//# sourceMappingURL=RedisContextLock.js.map
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVkaXNDb250ZXh0TG9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWRpcy9SZWRpc0NvbnRleHRMb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBd0IsTUFBTSxPQUFPLENBQUM7QUFZekQ7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBTSxPQUFPLGdCQUVYLFNBQVEsV0FBYztJQUZ4Qjs7UUFLVSxjQUFTLEdBQUcsSUFBSSxHQUFHLEVBQTJDLENBQUM7SUFrS3pFLENBQUM7SUFoS0M7OztPQUdHO0lBQ0gsSUFBSSxNQUFNO1FBQ1IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTLENBQ1AsS0FBYSxFQUNiLEVBQVU7UUFFVixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQzFELE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBdUIsRUFBRSxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxTQUFTLENBQUMsS0FBYSxFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUM1RCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMs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T0FBTyxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNNLEtBQUssQ0FBQyxRQUFRLENBQ3JCLEdBQVUsRUFDVixPQUFxQjtRQUVyQixNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN2QixNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxLQUFLLENBQUMsU0FBUztRQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBQ3BCLElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCw4REFBOEQ7UUFDaEUsQ0FBQztRQUNELElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25CLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsNEJBQTRCO1lBQzlCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGV4dCwgQ29udGV4dExvY2sgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENvbmZsaWN0RXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IFdhdGNoRXJyb3IsIHR5cGUgUmVkaXNDbGllbnRUeXBlIH0gZnJvbSBcInJlZGlzXCI7XG5pbXBvcnQgdHlwZSB7IFJlZGlzQWRhcHRlciB9IGZyb20gXCIuL2FkYXB0ZXJcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQSBwZW5kaW5nIHdyaXRlIGJ1ZmZlcmVkIGZvciB0aGUgZHVyYXRpb24gb2YgYSB0cmFuc2FjdGlvblxuICogQHN1bW1hcnkgYG51bGxgIHJlcHJlc2VudHMgYSBwZW5kaW5nIGRlbGV0ZTsgYSBzdHJpbmcgcmVwcmVzZW50cyB0aGUgc2VyaWFsaXplZFxuICogcmVjb3JkIHRvIGJlIHdyaXR0ZW4uXG4gKiBAdHlwZWRlZiB7c3RyaW5nIHwgbnVsbH0gUmVkaXNCdWZmZXJlZFZhbHVlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnJlZGlzXG4gKi9cbmV4cG9ydCB0eXBlIFJlZGlzQnVmZmVyZWRWYWx1ZSA9IHN0cmluZyB8IG51bGw7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFJlZGlzLW5hdGl2ZSB0cmFuc2FjdGlvbiBsb2NrIGZvciB0aGUgUmVkaXMgYWRhcHRlclxuICogQHN1bW1hcnkgQmFja3MgYEB0cmFuc2FjdGlvbmFsKClgIHdpdGggYSBkZWRpY2F0ZWQgUmVkaXMgY29ubmVjdGlvbiBjYXJyeWluZyBhXG4gKiBuYXRpdmUgYE1VTFRJYCBjb21tYW5kIHF1ZXVlIHBsdXMgYW4gaW4tbWVtb3J5IHJlYWQgY2FjaGUuIEV2ZXJ5IENSVUQgd3JpdGVcbiAqIHBlcmZvcm1lZCB1bmRlciBhbiBhY3RpdmUgdHJhbnNhY3Rpb24gaXMgcXVldWVkIG9uIHRoZSBuYXRpdmUgYE1VTFRJYCBvYmplY3QgYW5kXG4gKiBtaXJyb3JlZCBpbnRvIHRoZSByZWFkIGNhY2hlLCBzbyB0aGUgdHJhbnNhY3Rpb24gb2JzZXJ2ZXMgaXRzIG93biB3cml0ZXNcbiAqIChyZWFkLXlvdXItd3JpdGVzKSB3aGlsZSByZW1haW5pbmcgaW52aXNpYmxlIHRvIGV2ZXJ5IG90aGVyIGNvbm5lY3Rpb24gdW50aWxcbiAqIHtAbGluayBSZWRpc0NvbnRleHRMb2NrLmNvbW1pdH0gaXNzdWVzIGBXQVRDSGAgYW5kIGBFWEVDYC4gSWYgYSB3YXRjaGVkIHRhYmxlXG4gKiBjaGFuZ2VkIGNvbmN1cnJlbnRseSwgYEVYRUNgIGFib3J0cyBhbmQgdGhlIHRyYW5zYWN0aW9uIHJhaXNlcyBhXG4gKiBgQ29uZmxpY3RFcnJvcmAgaW5zdGVhZCBvZiBzaWxlbnRseSBvdmVyd3JpdGluZyB0aGUgY29uY3VycmVudCB3cml0ZS5cbiAqXG4gKiBBIGRlZGljYXRlZCBjb25uZWN0aW9uIGlzIHJlcXVpcmVkOiBgV0FUQ0hgIGlzIHBlci1jb25uZWN0aW9uIHN0YXRlIG9uIHRoZVxuICogbm9kZS1yZWRpcyBjbGllbnQsIHNvIGEgYFdBVENIYCBpc3N1ZWQgb24gdGhlIHNoYXJlZCwgbXVsdGlwbGV4ZWQgYWRhcHRlclxuICogY2xpZW50IHdvdWxkIGJlIGNsZWFyZWQgb3IgcmVwbGFjZWQgYnkgYW55IGNvbmN1cnJlbnQgYWRhcHRlciBvcGVyYXRpb24gKGFuZCBhXG4gKiBjb25jdXJyZW50IHdyaXRlIHRvIGEgd2F0Y2hlZCBrZXkgd291bGQgYWJvcnQgYW4gdW5yZWxhdGVkIHRyYW5zYWN0aW9uKS5cbiAqIEBjbGFzcyBSZWRpc0NvbnRleHRMb2NrXG4gKiBAY2F0ZWdvcnkgUmVkaXNcbiAqL1xuZXhwb3J0IGNsYXNzIFJlZGlzQ29udGV4dExvY2s8XG4gIEEgZXh0ZW5kcyBSZWRpc0FkYXB0ZXIgPSBSZWRpc0FkYXB0ZXIsXG4+IGV4dGVuZHMgQ29udGV4dExvY2s8QT4ge1xuICBwcml2YXRlIHR4Q2xpZW50PzogUmVkaXNDbGllbnRUeXBlO1xuICBwcml2YXRlIG11bHRpPzogUmV0dXJuVHlwZTxSZWRpc0NsaWVudFR5cGVbXCJtdWx0aVwiXT47XG4gIHByaXZhdGUgcmVhZENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIFJlZGlzQnVmZmVyZWRWYWx1ZT4+KCk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBXaGV0aGVyIGEgUmVkaXMgdHJhbnNhY3Rpb24gaXMgY3VycmVudGx5IG9wZW5cbiAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSB3aGlsZSBhIHRyYW5zYWN0aW9uIGlzIGFjdGl2ZVxuICAgKi9cbiAgZ2V0IGFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnR4Q2xpZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXR1cm5zIHRoZSBidWZmZXJlZCBlbnRyeSBmb3IgYSByZWNvcmQsIHdoZW4gcHJlc2VudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGUgLSBUaGUgdGFibGUgKG1vZGVsKSBuYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSByZWNvcmQgaWRcbiAgICogQHJldHVybiB7e2ZvdW5kOiBib29sZWFuLCB2YWx1ZT86IFJlZGlzQnVmZmVyZWRWYWx1ZX19IFRoZSBidWZmZXJlZCBlbnRyeSBzdGF0ZVxuICAgKi9cbiAgZ2V0UmVjb3JkKFxuICAgIHRhYmxlOiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZ1xuICApOiB7IGZvdW5kOiB0cnVlOyB2YWx1ZTogUmVkaXNCdWZmZXJlZFZhbHVlIH0gfCB7IGZvdW5kOiBmYWxzZSB9IHtcbiAgICBjb25zdCBlbnRyaWVzID0gdGhpcy5yZWFkQ2FjaGUuZ2V0KHRhYmxlKTtcbiAgICBpZiAoIWVudHJpZXMgfHwgIWVudHJpZXMuaGFzKGlkKSkgcmV0dXJuIHsgZm91bmQ6IGZhbHNlIH07XG4gICAgcmV0dXJuIHsgZm91bmQ6IHRydWUsIHZhbHVlOiBlbnRyaWVzLmdldChpZCkgYXMgUmVkaXNCdWZmZXJlZFZhbHVlIH07XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFF1ZXVlcyBhIHNlcmlhbGl6ZWQgcmVjb3JkIG9uIHRoZSBuYXRpdmUgdHJhbnNhY3Rpb24gYW5kIGJ1ZmZlcnMgaXQgZm9yIHJlYWRzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0YWJsZSAtIFRoZSB0YWJsZSAobW9kZWwpIG5hbWVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gVGhlIHJlY29yZCBpZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgLSBUaGUgc2VyaWFsaXplZCByZWNvcmRcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIHNldFJlY29yZCh0YWJsZTogc3RyaW5nLCBpZDogc3RyaW5nLCB2YWx1ZTogUmVkaXNCdWZmZXJlZFZhbHVlKTogdm9pZCB7XG4gICAgbGV0IGVudHJpZXMgPSB0aGlzLnJlYWRDYWNoZS5nZXQodGFibGUpO1xuICAgIGlmICghZW50cmllcykge1xuICAgICAgZW50cmllcyA9IG5ldyBNYXAoKTtcbiAgICAgIHRoaXMucmVhZENhY2hlLnNldCh0YWJsZSwgZW50cmllcyk7XG4gICAgfVxuICAgIGVudHJpZXMuc2V0KGlkLCB2YWx1ZSk7XG4gICAgaWYgKCF0aGlzLm11bHRpKSByZXR1cm47XG4gICAgY29uc3Qga2V5ID0gdGhpcy5hZGFwdGVyLnJlY29yZEtleSh0YWJsZSk7XG4gICAgaWYgKHZhbHVlID09PSBudWxsKSB0aGlzLm11bHRpLmhEZWwoa2V5LCBpZCk7XG4gICAgZWxzZSB0aGlzLm11bHRpLmhTZXQoa2V5LCBpZCwgdmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBRdWV1ZXMgYSByZWNvcmQgZGVsZXRpb24gb24gdGhlIG5hdGl2ZSB0cmFuc2FjdGlvbiBhbmQgYnVmZmVycyBpdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGUgLSBUaGUgdGFibGUgKG1vZGVsKSBuYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSByZWNvcmQgaWRcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIGRlbGV0ZVJlY29yZCh0YWJsZTogc3RyaW5nLCBpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZXRSZWNvcmQodGFibGUsIGlkLCBudWxsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmV0dXJucyB0aGUgYnVmZmVyZWQgd3JpdGVzIGZvciBhIHRhYmxlLCB3aGVuIGFueSBleGlzdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGUgLSBUaGUgdGFibGUgKG1vZGVsKSBuYW1lXG4gICAqIEByZXR1cm4ge01hcDxzdHJpbmcsIFJlZGlzQnVmZmVyZWRWYWx1ZT4gfCB1bmRlZmluZWR9IFRoZSBidWZmZXJlZCBlbnRyaWVzXG4gICAqL1xuICB0YWJsZUVudHJpZXMoXG4gICAgdGFibGU6IHN0cmluZ1xuICApOiBNYXA8c3RyaW5nLCBSZWRpc0J1ZmZlcmVkVmFsdWU+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5yZWFkQ2FjaGUuZ2V0KHRhYmxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU3RhcnRzIHRoZSB0cmFuc2FjdGlvbiwgb3BlbmluZyBhIGRlZGljYXRlZCBjb25uZWN0aW9uIGFuZCBuYXRpdmUgcXVldWVcbiAgICogQHN1bW1hcnkgRGVsZWdhdGVzIHRvIHRoZSBiYXNlIGltcGxlbWVudGF0aW9uIHNvIGBtYXhDb25jdXJyZW50VHJhbnNhY3Rpb25zYFxuICAgKiBjb250aW51ZXMgdG8gZ2F0ZSBjb25jdXJyZW5jeSwgdGhlbiBvcGVucyBhIGRlZGljYXRlZCBjb25uZWN0aW9uIGFuZCBpdHMgbmF0aXZlXG4gICAqIGBNVUxUSWAgY29tbWFuZCBxdWV1ZS5cbiAgICogQHBhcmFtIHtDb250ZXh0PGFueT59IGNvbnRleHQgLSBUaGUgY29udGV4dCB0aGUgdHJhbnNhY3Rpb24gaXMgc3RhcnRpbmcgdW5kZXJcbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUgdHJhbnNhY3Rpb24gaXMgb3BlblxuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgYmVnaW4oY29udGV4dDogQ29udGV4dDxhbnk+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIuYmVnaW4oY29udGV4dCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNsaWVudCA9IHRoaXMuYWRhcHRlci5jbGllbnQuZHVwbGljYXRlKCk7XG4gICAgICBhd2FpdCBjbGllbnQuY29ubmVjdCgpO1xuICAgICAgdGhpcy50eENsaWVudCA9IGNsaWVudCBhcyB1bmtub3duIGFzIFJlZGlzQ2xpZW50VHlwZTtcbiAgICAgIHRoaXMubXVsdGkgPSB0aGlzLnR4Q2xpZW50Lm11bHRpKCk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgYXdhaXQgc3VwZXIucm9sbGJhY2soZSBhcyBFcnJvciwgY29udGV4dCk7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmx1c2hlcyB0aGUgcXVldWVkIHdyaXRlcyBhdG9taWNhbGx5IGFuZCBlbmRzIHRoZSB0cmFuc2FjdGlvblxuICAgKiBAc3VtbWFyeSBgV0FUQ0hgZXMgZXZlcnkgdG91Y2hlZCB0YWJsZSBvbiB0aGUgZGVkaWNhdGVkIGNvbm5lY3Rpb24sIHRoZW4gcnVuc1xuICAgKiB0aGUgbmF0aXZlIGBNVUxUSWAgcXVldWUgd2l0aCBgRVhFQ2AuIElmIGEgd2F0Y2hlZCB0YWJsZSBjaGFuZ2VkIGNvbmN1cnJlbnRseSxcbiAgICogYEVYRUNgIGFib3J0cyB3aXRoIGEgYFdhdGNoRXJyb3JgIGFuZCB0aGUgdHJhbnNhY3Rpb24gcmFpc2VzIGFcbiAgICogYENvbmZsaWN0RXJyb3JgLiBPbiBzdWNjZXNzIChvciBjb25mbGljdCkgdGhlIGRlZGljYXRlZCBjb25uZWN0aW9uIGlzIHJlbGVhc2VkXG4gICAqIGFuZCB0aGUgY29uY3VycmVuY3kgcGVybWl0IHJldHVybmVkLlxuICAgKiBAcGFyYW0ge0NvbnRleHQ8YW55Pn0gY29udGV4dCAtIFRoZSBjb250ZXh0IHRoZSB0cmFuc2FjdGlvbiByYW4gdW5kZXJcbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgb25jZSB0aGUgdHJhbnNhY3Rpb24gZW5kc1xuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgY29tbWl0KGNvbnRleHQ6IENvbnRleHQ8YW55Pik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghdGhpcy50eENsaWVudCB8fCAhdGhpcy5tdWx0aSkge1xuICAgICAgYXdhaXQgc3VwZXIuY29tbWl0KGNvbnRleHQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB3YXRjaGVkID0gWy4uLnRoaXMucmVhZENhY2hlLmtleXMoKV0ubWFwKCh0YWJsZSkgPT5cbiAgICAgIHRoaXMuYWRhcHRlci5yZWNvcmRLZXkodGFibGUpXG4gICAgKTtcbiAgICB0cnkge1xuICAgICAgaWYgKHdhdGNoZWQubGVuZ3RoKSBhd2FpdCB0aGlzLnR4Q2xpZW50LndhdGNoKHdhdGNoZWQpO1xuICAgICAgYXdhaXQgdGhpcy5tdWx0aS5leGVjKCk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBXYXRjaEVycm9yKVxuICAgICAgICB0aHJvdyBuZXcgQ29uZmxpY3RFcnJvcihcbiAgICAgICAgICBcIlJlZGlzIHRyYW5zYWN0aW9uIGFib3J0ZWQ6IGEgd2F0Y2hlZCByZWNvcmQgY2hhbmdlZCBjb25jdXJyZW50bHlcIlxuICAgICAgICApO1xuICAgICAgdGhyb3cgZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgdGhpcy5yZWxlYXNlVHgoKTtcbiAgICAgIGF3YWl0IHN1cGVyLmNvbW1pdChjb250ZXh0KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERpc2NhcmRzIHRoZSBxdWV1ZWQgd3JpdGVzIGFuZCBlbmRzIHRoZSB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0ge0Vycm9yfSBlcnIgLSBUaGUgZXJyb3IgdGhhdCB0cmlnZ2VyZWQgdGhlIHJvbGxiYWNrXG4gICAqIEBwYXJhbSB7Q29udGV4dDxhbnk+fSBjb250ZXh0IC0gVGhlIGNvbnRleHQgdGhlIHRyYW5zYWN0aW9uIHJhbiB1bmRlclxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyBvbmNlIHRoZSB0cmFuc2FjdGlvbiBlbmRzXG4gICAqL1xuICBvdmVycmlkZSBhc3luYyByb2xsYmFjayhcbiAgICBlcnI6IEVycm9yLFxuICAgIGNvbnRleHQ6IENvbnRleHQ8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnJlbGVhc2VUeCgpO1xuICAgIGF3YWl0IHN1cGVyLnJvbGxiYWNrKGVyciwgY29udGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlbGVhc2VzIHRoZSBkZWRpY2F0ZWQgdHJhbnNhY3Rpb24gY29ubmVjdGlvbiBhbmQgY2xlYXJzIHN0YXRlXG4gICAqIEBzdW1tYXJ5IFVud2F0Y2hlcyBhbmQgY2xvc2VzIHRoZSBkZWRpY2F0ZWQgY29ubmVjdGlvbiwgdGhlbiBjbGVhcnMgdGhlIG5hdGl2ZVxuICAgKiBxdWV1ZSBhbmQgcmVhZCBjYWNoZSBzbyBxdWV1ZWQgd3JpdGVzIGFyZSBuZXZlciBhcHBsaWVkIGFmdGVyIHJvbGxiYWNrIG9yIGFmdGVyXG4gICAqIGFuIGFscmVhZHkgZmx1c2hlZCBjb21taXQuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIG9uY2UgdGhlIGNvbm5lY3Rpb24gaXMgcmVsZWFzZWRcbiAgICovXG4gIHByaXZhdGUgYXN5bmMgcmVsZWFzZVR4KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNsaWVudCA9IHRoaXMudHhDbGllbnQ7XG4gICAgdGhpcy50eENsaWVudCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLm11bHRpID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucmVhZENhY2hlLmNsZWFyKCk7XG4gICAgaWYgKCFjbGllbnQpIHJldHVybjtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgY2xpZW50LnVud2F0Y2goKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIHRoZSBjb25uZWN0aW9uIG1heSBhbHJlYWR5IGJlIGdvbmU7IG5vdGhpbmcgbGVmdCB0byB1bndhdGNoXG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBjbGllbnQucXVpdCgpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY2xpZW50LmRlc3Ryb3koKTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICAvLyBjb25uZWN0aW9uIGFscmVhZHkgY2xvc2VkXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -124,4 +124,4 @@ export class RedisDispatch extends Dispatch {
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
|
-
//# sourceMappingURL=RedisDispatch.js.map
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVkaXNEaXNwYXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWRpcy9SZWRpc0Rpc3BhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUF5QixhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVwQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsdUJBQW9CO0FBSWpEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sT0FBTyxhQUFjLFNBQVEsUUFBc0I7SUFBekQ7O1FBRW1CLFdBQU0sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUV2Qzs7V0FFRztRQUNJLFdBQU0sR0FBRyxLQUFLLENBQUM7SUF5SHhCLENBQUM7SUF2SEM7Ozs7OztPQU1HO0lBQ2dCLEtBQUssQ0FBQyxVQUFVLENBQ2pDLEdBQUcsSUFBa0M7UUFFckMsTUFBTSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUMxQixJQUFJLENBQUM7WUFDSCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQXFCLENBQUM7WUFDdEUsTUFBTSxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDM0IsTUFBTSxVQUFVLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLENBQUMsT0FBZSxFQUFFLEVBQUUsQ0FDakUsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUNqQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7WUFDN0IsSUFBSSxDQUFD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QUFDLE9BQU8sQ0FDcEMsYUFBYSxDQUFDLE1BQU0sRUFDcEIsRUFBUyxFQUNULEtBQVksQ0FDYixDQUFDO1lBQ0YsTUFBTSxLQUFLLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxHQUFHO2lCQUNMLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO2lCQUN2QixLQUFLLENBQUMseUNBQXlDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHR1YWxBcmdzLCBEaXNwYXRjaCB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgQnVsa0NydWRPcGVyYXRpb25LZXlzLCBPcGVyYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IHJhbmRvbVVVSUQgfSBmcm9tIFwiY3J5cHRvXCI7XG5pbXBvcnQgdHlwZSB7IFJlZGlzQ2xpZW50VHlwZSB9IGZyb20gXCJyZWRpc1wiO1xuaW1wb3J0IHsgUmVkaXNFdmVudHNDaGFubmVsIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgdHlwZSB7IFJlZGlzQWRhcHRlciB9IGZyb20gXCIuL2FkYXB0ZXJcIjtcbmltcG9ydCB0eXBlIHsgUmVkaXNDb250ZXh0IH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGlzcGF0Y2hlciBmb3IgUmVkaXMgY2hhbmdlIGV2ZW50c1xuICogQHN1bW1hcnkgRXh0ZW5kcyB0aGUgY29yZSBgRGlzcGF0Y2hgIHRvIGJyb2FkY2FzdCByZWNvcmQgY2hhbmdlcyBvdmVyIFJlZGlzXG4gKiBwdWIvc3ViIHNvIHRoYXQgZXZlcnkgcHJvY2VzcyBzaGFyaW5nIHRoZSBzYW1lIGRhdGFiYXNlIHJlZnJlc2hlcyBpdHMgb2JzZXJ2ZXJzLlxuICogTG9jYWwgb2JzZXJ2ZXIgdXBkYXRlcyBhcmUgc3RpbGwgcGVyZm9ybWVkIHN5bmNocm9ub3VzbHkgdGhyb3VnaCB0aGUgYmFzZSBjbGFzcztcbiAqIHRoZSBwdWJsaXNoZWQgbWVzc2FnZSBjYXJyaWVzIGFuIGBvcmlnaW5gIGlkIHNvIGEgcHJvY2VzcyBpZ25vcmVzIHRoZSBlY2hvIG9mIGl0c1xuICogb3duIGV2ZW50cyBhbmQgbmV2ZXIgbm90aWZpZXMgaXRzIG9ic2VydmVycyB0d2ljZS5cbiAqIEBjbGFzcyBSZWRpc0Rpc3BhdGNoXG4gKiBAY2F0ZWdvcnkgUmVkaXNcbiAqL1xuZXhwb3J0IGNsYXNzIFJlZGlzRGlzcGF0Y2ggZXh0ZW5kcyBEaXNwYXRjaDxSZWRpc0FkYXB0ZXI+IHtcbiAgcHJpdmF0ZSBzdWJzY3JpYmVyPzogUmVkaXNDbGllbnRUeXBlO1xuICBwcml2YXRlIHJlYWRvbmx5IG9yaWdpbiA9IHJhbmRvbVVVSUQoKTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFdoZXRoZXIgdGhlIHB1Yi9zdWIgc3Vic2NyaXB0aW9uIGlzIGN1cnJlbnRseSBhY3RpdmVcbiAgICovXG4gIHB1YmxpYyBhY3RpdmUgPSBmYWxzZTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIHRoZSBkaXNwYXRjaGVyIGFuZCBvcGVucyB0aGUgcHViL3N1YiBzdWJzY3JpcHRpb25cbiAgICogQHN1bW1hcnkgUHJveGllcyB0aGUgYWRhcHRlcidzIENSVUQgbWV0aG9kcyB0aHJvdWdoIHRoZSBiYXNlIGltcGxlbWVudGF0aW9uLFxuICAgKiB0aGVuIG9wZW5zIGEgZGVkaWNhdGVkIHN1YnNjcmliZXIgY29ubmVjdGlvbiBsaXN0ZW5pbmcgZm9yIGNoYW5nZSBldmVudHMuXG4gICAqIEBwYXJhbSB7Li4uQ29udGV4dHVhbEFyZ3N9IGFyZ3MgLSBDb250ZXh0dWFsIGFyZ3VtZW50c1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyBvbmNlIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgaW5pdGlhbGl6ZShcbiAgICAuLi5hcmdzOiBDb250ZXh0dWFsQXJnczxSZWRpc0NvbnRleHQ+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHN1cGVyLmluaXRpYWxpemUoLi4uYXJncyk7XG4gICAgaWYgKCF0aGlzLmFkYXB0ZXIpIHJldHVybjtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3Vic2NyaWJlciA9IHRoaXMuYWRhcHRlci5jbGllbnQuZHVwbGljYXRlKCkgYXMgUmVkaXNDbGllbnRUeXBlO1xuICAgICAgYXdhaXQgc3Vic2NyaWJlci5jb25uZWN0KCk7XG4gICAgICBhd2FpdCBzdWJzY3JpYmVyLnN1YnNjcmliZShSZWRpc0V2ZW50c0NoYW5uZWwsIChtZXNzYWdlOiBzdHJpbmcpID0+XG4gICAgICAgIHZvaWQgdGhpcy5jaGFuZ2VIYW5kbGVyKG1lc3NhZ2UpXG4gICAgICApO1xuICAgICAgdGhpcy5zdWJzY3JpYmVyID0gc3Vic2NyaWJlcjtcbiAgICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aGlzLmxvZ1xuICAgICAgICAuZm9yKHRoaXMuaW5pdGlhbGl6ZSlcbiAgICAgICAgLmVycm9yKGBGYWlsZWQgdG8gc3Vic2NyaWJlIHRvIFJlZGlzIGNoYW5nZSBldmVudHM6ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENsb3NlcyB0aGUgZGlzcGF0Y2hlciBhbmQgcmVsZWFzZXMgdGhlIHB1Yi9zdWIgc3Vic2NyaXB0aW9uXG4gICAqIEBwYXJhbSB7Li4uQ29udGV4dHVhbEFyZ3N9IGFyZ3MgLSBDb250ZXh0dWFsIGFyZ3VtZW50c1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyBvbmNlIHRoZSBkaXNwYXRjaGVyIGlzIGNsb3NlZFxuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgY2xvc2UoXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8UmVkaXNDb250ZXh0PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgIGNvbnN0IHN1YnNjcmliZXIgPSB0aGlzLnN1YnNjcmliZXI7XG4gICAgdGhpcy5zdWJzY3JpYmVyID0gdW5kZWZpbmVkO1xuICAgIGlmIChzdWJzY3JpYmVyKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBzdWJzY3JpYmVyLnVuc3Vic2NyaWJlKFJlZGlzRXZlbnRzQ2hhbm5lbCk7XG4gICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgIHRoaXMubG9nXG4gICAgICAgICAgLmZvcih0aGlzLmNsb3NlKVxuICAgICAgICAgIC5lcnJvcihgRmFpbGVkIHRvIHVuc3Vic2NyaWJlIGZyb20gUmVkaXMgY2hhbmdlIGV2ZW50czogJHtlfWApO1xuICAgICAgfVxuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgc3Vic2NyaWJlci5xdWl0KCk7XG4gICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgIHRoaXMubG9nXG4gICAgICAgICAgLmZvcih0aGlzLmNsb3NlKVxuICAgICAgICAgIC5lcnJvcihgRmFpbGVkIHRvIGNsb3NlIFJlZGlzIGNoYW5nZSBzdWJzY3JpYmVyOiAke2V9YCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5jbG9zZSguLi5hcmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTm90aWZpZXMgbG9jYWwgb2JzZXJ2ZXJzIGFuZCBicm9hZGNhc3RzIHRoZSBldmVudCB0byBvdGhlciBwcm9jZXNzZXNcbiAgICogQHN1bW1hcnkgUGVyZm9ybXMgdGhlIGJhc2UgbG9jYWwgcmVmcmVzaCwgdGhlbiBwdWJsaXNoZXMgdGhlIGNoYW5nZSB0byB0aGVcbiAgICogUmVkaXMgcHViL3N1YiBjaGFubmVsLiBSZW1vdGUgcHJvY2Vzc2VzIHJlY2VpdmUgdGhlIGV2ZW50IGFuZCByZWZyZXNoIHRoZWlyIG93blxuICAgKiBvYnNlcnZlcnM7IHRoZSBvcmlnaW5hdGluZyBwcm9jZXNzIGlnbm9yZXMgaXRzIG93biBtZXNzYWdlLlxuICAgKiBAcGFyYW0ge0NvbnN0cnVjdG9yPGFueT4gfCBzdHJpbmd9IG1vZGVsIC0gVGhlIG1vZGVsIChvciB0YWJsZSBuYW1lKSB0aGF0IGNoYW5nZWRcbiAgICogQHBhcmFtIHtPcGVyYXRpb25LZXlzIHwgQnVsa0NydWRPcGVyYXRpb25LZXlzIHwgc3RyaW5nfSBldmVudCAtIFRoZSBvcGVyYXRpb24gdGhhdCBvY2N1cnJlZFxuICAgKiBAcGFyYW0ge2FueX0gaWQgLSBUaGUgaWRlbnRpZmllcihzKSBvZiB0aGUgYWZmZWN0ZWQgcmVjb3JkKHMpXG4gICAqIEBwYXJhbSB7Li4uQ29udGV4dHVhbEFyZ3N9IGFyZ3MgLSBDb250ZXh0dWFsIGFyZ3VtZW50c1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyBvbmNlIG9ic2VydmVycyBhcmUgbm90aWZpZWRcbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIHVwZGF0ZU9ic2VydmVycyhcbiAgICBtb2RlbDogYW55LFxuICAgIGV2ZW50OiBPcGVyYXRpb25LZXlzIHwgQnVsa0NydWRPcGVyYXRpb25LZXlzIHwgc3RyaW5nLFxuICAgIGlkOiBhbnksXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8UmVkaXNDb250ZXh0PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBzdXBlci51cGRhdGVPYnNlcnZlcnMobW9kZWwsIGV2ZW50LCBpZCwgLi4uYXJncyk7XG4gICAgaWYgKCF0aGlzLmFkYXB0ZXIpIHJldHVybjtcbiAgICBjb25zdCB0YWJsZSA9XG4gICAgICBtb2RlbCAmJiB0eXBlb2YgbW9kZWwgPT09IFwic3RyaW5nXCIgPyBtb2RlbCA6IE1vZGVsLnRhYmxlTmFtZShtb2RlbCk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuYWRhcHRlci5jbGllbnQucHVibGlzaChcbiAgICAgICAgUmVkaXNFdmVudHNDaGFubmVsLFxuICAgICAgICBKU09OLnN0cmluZ2lmeSh7IG9yaWdpbjogdGhpcy5vcmlnaW4sIHRhYmxlLCBldmVudDogU3RyaW5nKGV2ZW50KSwgaWQgfSlcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgdGhpcy5sb2dcbiAgICAgICAgLmZvcih0aGlzLnVwZGF0ZU9ic2VydmVycylcbiAgICAgICAgLmVycm9yKGBGYWlsZWQgdG8gcHVibGlzaCBSZWRpcyBjaGFuZ2UgZXZlbnQ6ICR7ZX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEhhbmRsZXMgYW4gaW5jb21pbmcgUmVkaXMgY2hhbmdlIGV2ZW50XG4gICAqIEBzdW1tYXJ5IElnbm9yZXMgdGhlIGVjaG8gb2YgbG9jYWxseSBwdWJsaXNoZWQgZXZlbnRzIGFuZCByZWZyZXNoZXMgdGhlXG4gICAqIG9ic2VydmVycyBvZiB0aGlzIHByb2Nlc3MgZm9yIGV2ZW50cyBwdWJsaXNoZWQgZWxzZXdoZXJlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZSAtIFRoZSByYXcgSlNPTiBwdWIvc3ViIHBheWxvYWRcbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgb25jZSBvYnNlcnZlcnMgYXJlIG5vdGlmaWVkXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgY2hhbmdlSGFuZGxlcihtZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShtZXNzYWdlKSBhcyB7XG4gICAgICAgIG9yaWdpbjogc3RyaW5nO1xuICAgICAgICB0YWJsZTogc3RyaW5nO1xuICAgICAgICBldmVudDogc3RyaW5nO1xuICAgICAgICBpZDogYW55O1xuICAgICAgfTtcbiAgICAgIGlmIChwYXJzZWQub3JpZ2luID09PSB0aGlzLm9yaWdpbikgcmV0dXJuO1xuICAgICAgaWYgKCF0aGlzLmFkYXB0ZXIpIHJldHVybjtcbiAgICAgIGNvbnN0IGN0eCA9IGF3YWl0IHRoaXMuYWRhcHRlci5jb250ZXh0KFxuICAgICAgICBPcGVyYXRpb25LZXlzLlVQREFURSxcbiAgICAgICAge30gYXMgYW55LFxuICAgICAgICBNb2RlbCBhcyBhbnlcbiAgICAgICk7XG4gICAgICBhd2FpdCBzdXBlci51cGRhdGVPYnNlcnZlcnMocGFyc2VkLnRhYmxlLCBwYXJzZWQuZXZlbnQsIHBhcnNlZC5pZCwgY3R4KTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aGlzLmxvZ1xuICAgICAgICAuZm9yKHRoaXMuY2hhbmdlSGFuZGxlcilcbiAgICAgICAgLmVycm9yKGBGYWlsZWQgdG8gcHJvY2VzcyBSZWRpcyBjaGFuZ2UgZXZlbnQ6ICR7ZX1gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -87,4 +87,4 @@ export class RedisPaginator extends Paginator {
|
|
|
87
87
|
return results.data || results;
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
-
//# sourceMappingURL=
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVkaXNQYWdpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVkaXMvUmVkaXNQYWdpbmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUdMLFNBQVMsR0FFVixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUd2RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQkc7QUFDSCxNQUFNLE9BQU8sY0FBZ0MsU0FBUSxTQUlwRDtJQUNDOzs7Ozs7T0FNRztJQUNILFlBQ0UsT0FBaUQsRUFDakQsS0FBdUIsRUFDdkIsSUFBWSxFQUNaLEtBQXFCO1FBRXJCLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ08sT0FBTyxDQUFDLFlBQThCO1FBQzlDLE1BQU0sS0FBSyxHQUF1QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNsRSxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDeEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNNLEtBQUssQ0FBQyxJQUFJLENBQ2pCLE9BQWUsQ0FBQyxFQUNoQixHQUFHLElBQTZCO1FBRWhDLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pFLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQztZQUMvQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLElBQUksT0FBNEIsQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUM5QixFQUFFLEdBQUcsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFDaEQsS0FBSyxFQUNMLEdBQUcsQ0FDSixDQUFDO1lBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3pELElBQUksSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDMUIsTUFBTSxJQUFJLEdBQUcsU0FBUyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDdkQsT0FBTyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7WUFDM0MsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3hDLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFZLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsTUFBTTtZQUM3QixDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkQsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNkLE9BQU8sT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUM7SUFDakMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmF3UmVkaXNRdWVyeSB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQge1xuICBBZGFwdGVyLFxuICBNYXliZUNvbnRleHR1YWxBcmcsXG4gIFBhZ2luYXRvcixcbiAgUmF3UmVzdWx0LFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBSZWRpcy1zcGVjaWZpYyBwYWdpbmF0b3IgaW1wbGVtZW50YXRpb25cbiAqIEBzdW1tYXJ5IEV4dGVuZHMgdGhlIGJhc2UgUGFnaW5hdG9yIGNsYXNzIHRvIHByb3ZpZGUgcGFnaW5hdGlvbiBmdW5jdGlvbmFsaXR5IGZvclxuICogUmVkaXMgYWRhcHRlciBxdWVyaWVzLiBUaGlzIGNsYXNzIGhhbmRsZXMgdGhlIHBhZ2luYXRpb24gb2YgcXVlcnkgcmVzdWx0cyBsb2FkZWRcbiAqIGZyb20gUmVkaXMsIGFsbG93aW5nIGZvciBlZmZpY2llbnQgcmV0cmlldmFsIG9mIGxhcmdlIHJlc3VsdCBzZXRzIGluIHNtYWxsZXIgY2h1bmtzLlxuICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZSBiZWluZyBwYWdpbmF0ZWRcbiAqIEBjbGFzcyBSZWRpc1BhZ2luYXRvclxuICogQGNhdGVnb3J5IFJlZGlzXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gQ3JlYXRlIGEgcXVlcnkgZm9yIFVzZXIgbW9kZWxcbiAqIGNvbnN0IHF1ZXJ5OiBSYXdSZWRpc1F1ZXJ5PFVzZXI+ID0ge1xuICogICBzZWxlY3Q6IHVuZGVmaW5lZCwgLy8gU2VsZWN0IGFsbCBmaWVsZHNcbiAqICAgZnJvbTogVXNlcixcbiAqICAgd2hlcmU6ICh1c2VyKSA9PiB1c2VyLmFjdGl2ZSA9PT0gdHJ1ZVxuICogfTtcbiAqXG4gKiAvLyBDcmVhdGUgYSBwYWdpbmF0b3Igd2l0aCBwYWdlIHNpemUgb2YgMTBcbiAqIGNvbnN0IHBhZ2luYXRvciA9IG5ldyBSZWRpc1BhZ2luYXRvcjxVc2VyPihhZGFwdGVyLCBxdWVyeSwgMTAsIFVzZXIpO1xuICpcbiAqIC8vIEdldCB0aGUgZmlyc3QgcGFnZSBvZiByZXN1bHRzXG4gKiBjb25zdCBmaXJzdFBhZ2UgPSBhd2FpdCBwYWdpbmF0b3IucGFnZSgxKTtcbiAqXG4gKiAvLyBHZXQgdGhlIG5leHQgcGFnZVxuICogY29uc3Qgc2Vjb25kUGFnZSA9IGF3YWl0IHBhZ2luYXRvci5wYWdlKDIpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWRpc1BhZ2luYXRvcjxNIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgUGFnaW5hdG9yPFxuICBNLFxuICBNW10sXG4gIFJhd1JlZGlzUXVlcnk8TT5cbj4ge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBwYWdpbmF0b3IgYm91bmQgdG8gdGhlIFJlZGlzIGFkYXB0ZXJcbiAgICogQHBhcmFtIHtBZGFwdGVyPGFueSwgYW55LCBSYXdSZWRpc1F1ZXJ5PE0+LCBhbnk+fSBhZGFwdGVyIC0gVGhlIFJlZGlzIGFkYXB0ZXIgaW5zdGFuY2VcbiAgICogQHBhcmFtIHtSYXdSZWRpc1F1ZXJ5PE0+fSBxdWVyeSAtIFRoZSByYXcgcXVlcnkgdG8gcGFnaW5hdGVcbiAgICogQHBhcmFtIHtudW1iZXJ9IHNpemUgLSBUaGUgbnVtYmVyIG9mIHJlY29yZHMgcGVyIHBhZ2VcbiAgICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxNPn0gY2xhenogLSBUaGUgbW9kZWwgY29uc3RydWN0b3IgYmVpbmcgcGFnaW5hdGVkXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBhZGFwdGVyOiBBZGFwdGVyPGFueSwgYW55LCBSYXdSZWRpc1F1ZXJ5PE0+LCBhbnk+LFxuICAgIHF1ZXJ5OiBSYXdSZWRpc1F1ZXJ5PE0+LFxuICAgIHNpemU6IG51bWJlcixcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TT5cbiAgKSB7XG4gICAgc3VwZXIoYWRhcHRlciwgcXVlcnksIHNpemUsIGNsYXp6KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUHJlcGFyZXMgYSBSZWRpcyBxdWVyeSBmb3IgcGFnaW5hdGlvblxuICAgKiBAc3VtbWFyeSBNb2RpZmllcyB0aGUgcmF3IHF1ZXJ5IHN0YXRlbWVudCB0byBpbmNsdWRlIHBhZ2luYXRpb24gcGFyYW1ldGVycy5cbiAgICogVGhpcyBwcm90ZWN0ZWQgbWV0aG9kIHNldHMgdGhlIGxpbWl0IHBhcmFtZXRlciBvbiB0aGUgcXVlcnkgdG8gbWF0Y2ggdGhlIHBhZ2Ugc2l6ZS5cbiAgICogQHBhcmFtIHtSYXdSZWRpc1F1ZXJ5PE0+fSByYXdTdGF0ZW1lbnQgLSBUaGUgb3JpZ2luYWwgcXVlcnkgc3RhdGVtZW50XG4gICAqIEByZXR1cm4ge1Jhd1JlZGlzUXVlcnk8TT59IFRoZSBtb2RpZmllZCBxdWVyeSB3aXRoIHBhZ2luYXRpb24gcGFyYW1ldGVyc1xuICAgKi9cbiAgcHJvdGVjdGVkIHByZXBhcmUocmF3U3RhdGVtZW50OiBSYXdSZWRpc1F1ZXJ5PE0+KTogUmF3UmVkaXNRdWVyeTxNPiB7XG4gICAgY29uc3QgcXVlcnk6IFJhd1JlZGlzUXVlcnk8YW55PiA9IE9iamVjdC5hc3NpZ24oe30sIHJhd1N0YXRlbWVudCk7XG4gICAgcXVlcnkubGltaXQgPSB0aGlzLnNpemU7XG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZXMgYSBzcGVjaWZpYyBwYWdlIG9mIHJlc3VsdHNcbiAgICogQHN1bW1hcnkgRXhlY3V0ZXMgdGhlIHF1ZXJ5IHdpdGggcGFnaW5hdGlvbiBwYXJhbWV0ZXJzIHRvIHJldHJpZXZlIGEgc3BlY2lmaWMgcGFnZSBvZiByZXN1bHRzLlxuICAgKiBUaGlzIG1ldGhvZCBjYWxjdWxhdGVzIHRoZSBhcHByb3ByaWF0ZSBza2lwIHZhbHVlIGJhc2VkIG9uIHRoZSBwYWdlIG51bWJlciBhbmQgcGFnZSBzaXplLFxuICAgKiBleGVjdXRlcyB0aGUgcXVlcnksIGFuZCB1cGRhdGVzIHRoZSBjdXJyZW50IHBhZ2UgdHJhY2tpbmcuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbcGFnZT0xXSAtIFRoZSBwYWdlIG51bWJlciB0byByZXRyaWV2ZSAoMS1iYXNlZClcbiAgICogQHJldHVybiB7UHJvbWlzZTxSW10+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBhbiBhcnJheSBvZiByZXN1bHRzIGZvciB0aGUgcmVxdWVzdGVkIHBhZ2VcbiAgICovXG4gIG92ZXJyaWRlIGFzeW5jIHBhZ2UoXG4gICAgcGFnZTogbnVtYmVyID0gMSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPE1bXT4ge1xuICAgIGNvbnN0IHsgY3R4LCBjdHhBcmdzIH0gPSB0aGlzLmFkYXB0ZXJbXCJsb2dDdHhcIl0oYXJncywgdGhpcy5wYWdlKTtcbiAgICBpZiAodGhpcy5pc1ByZXBhcmVkU3RhdGVtZW50KCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhZ2VQcmVwYXJlZChwYWdlLCAuLi5jdHhBcmdzKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGF0ZW1lbnQgPSB0aGlzLnByZXBhcmUodGhpcy5zdGF0ZW1lbnQpO1xuICAgIGxldCByZXN1bHRzOiBSYXdSZXN1bHQ8YW55LCBhbnk+O1xuICAgIGlmICghdGhpcy5fcmVjb3JkQ291bnQgfHwgIXRoaXMuX3RvdGFsUGFnZXMpIHtcbiAgICAgIHRoaXMuX3RvdGFsUGFnZXMgPSB0aGlzLl9yZWNvcmRDb3VudCA9IDA7XG4gICAgICByZXN1bHRzID0gYXdhaXQgdGhpcy5hZGFwdGVyLnJhdzxhbnksIGZhbHNlPihcbiAgICAgICAgeyAuLi5zdGF0ZW1lbnQsIGxpbWl0OiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiB9LFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgY3R4XG4gICAgICApO1xuICAgICAgdGhpcy5fcmVjb3JkQ291bnQgPSByZXN1bHRzLmNvdW50IHx8IHJlc3VsdHMuZGF0YS5sZW5ndGg7XG4gICAgICBpZiAodGhpcy5fcmVjb3JkQ291bnQgPiAwKSB7XG4gICAgICAgIGNvbnN0IHNpemUgPSBzdGF0ZW1lbnQ/LmxpbWl0IHx8IHRoaXMuc2l6ZTtcbiAgICAgICAgdGhpcy5fdG90YWxQYWdlcyA9IE1hdGguY2VpbCh0aGlzLl9yZWNvcmRDb3VudCAvIHNpemUpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5wYWdlKHBhZ2UsIC4uLmN0eEFyZ3MpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBwYWdlID0gdGhpcy52YWxpZGF0ZVBhZ2UocGFnZSk7XG4gICAgICBzdGF0ZW1lbnQuc2tpcCA9IChwYWdlIC0gMSkgKiB0aGlzLnNpemU7XG4gICAgICByZXN1bHRzID0gYXdhaXQgdGhpcy5hZGFwdGVyLnJhdzxhbnksIHRydWU+KHN0YXRlbWVudCwgdHJ1ZSwgLi4uY3R4QXJncyk7XG4gICAgfVxuXG4gICAgdGhpcy5fY3VycmVudFBhZ2UgPSBwYWdlO1xuICAgIHRoaXMuX2Jvb2ttYXJrID0gcmVzdWx0cy5sZW5ndGhcbiAgICAgID8gcmVzdWx0c1tyZXN1bHRzLmxlbmd0aCAtIDFdW01vZGVsLnBrKHRoaXMuY2xhenopXVxuICAgICAgOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHJlc3VsdHMuZGF0YSB8fCByZXN1bHRzO1xuICB9XG59XG4iXX0=
|
|
@@ -425,4 +425,4 @@ export class RedisStatement extends Statement {
|
|
|
425
425
|
}
|
|
426
426
|
}
|
|
427
427
|
}
|
|
428
|
-
//# sourceMappingURL=RedisStatement.js.map
|
|
428
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVkaXNTdGF0ZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVkaXMvUmVkaXNTdGF0ZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFDVCxhQUFhLEVBQ2IsUUFBUSxFQUNSLGNBQWMsRUFDZCxVQUFVLEVBRVYsU0FBUyxHQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBZSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCRztBQUNILE1BQU0sT0FBTyxjQUlYLFNBQVEsU0FBc0M7SUFDOUM7Ozs7T0FJRztJQUNILFlBQVksT0FBVSxFQUFFLFNBQWlDO1FBQ3ZELEtBQUssQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssT0FBTztRQUNiLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUN4QyxPQUFPLENBQUMsR0FBVSxFQUFFLEdBQVUsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTTtnQkFDakMsTUFBTSxJQUFJLGFBQWEsQ0FDckIsZ0RBQWdELENBQ2pELENBQUM7WUFDSixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ3pDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUM1RCxNQUFNLGVBQWUsR0FDbkIsbUJBQW1CLEtBQUssY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdEQsTUFB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QyxDQUFDO2dCQUNwRCxNQUFNLElBQUksVUFBVSxDQUNsQixHQUFHLE9BQU8seUJBQXlCLFFBQVEsMkJBQTJCLENBQ3ZFLENBQUM7WUFDSjtnQkFDRSxNQUFNLElBQUksVUFBVSxDQUNsQixHQUFHLE9BQU8sc0JBQXNCLFFBQVEsb0JBQW9CLFFBQVEsR0FBRyxDQUN4RSxDQUFDO1FBQ04sQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFkYXB0ZXIsXG4gIEFkYXB0ZXJGbGFncyxcbiAgQ29uZGl0aW9uLFxuICBHcm91cE9wZXJhdG9yLFxuICBPcGVyYXRvcixcbiAgT3JkZXJEaXJlY3Rpb24sXG4gIFF1ZXJ5RXJyb3IsXG4gIFNlbGVjdFNlbGVjdG9yLFxuICBTdGF0ZW1lbnQsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgUmVkaXNDb250ZXh0LCBSYXdSZWRpc1F1ZXJ5IH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IsIE1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFJlZGlzLXNwZWNpZmljIHF1ZXJ5IHN0YXRlbWVudCBidWlsZGVyXG4gKiBAc3VtbWFyeSBFeHRlbmRzIHRoZSBiYXNlIFN0YXRlbWVudCBjbGFzcyB0byBwcm92aWRlIHF1ZXJ5IGJ1aWxkaW5nIGZ1bmN0aW9uYWxpdHkgZm9yIHRoZSBSZWRpcyBhZGFwdGVyLlxuICogVGhpcyBjbGFzcyB0cmFuc2xhdGVzIGhpZ2gtbGV2ZWwgcXVlcnkgb3BlcmF0aW9ucyBpbnRvIHByZWRpY2F0ZXMgdGhhdCBjYW4gZmlsdGVyIGFuZCBzb3J0XG4gKiBpbi1tZW1vcnkgZGF0YSBzdHJ1Y3R1cmVzIChyZWNvcmRzIHJldmVydGVkIGZyb20gdGhlIHRhYmxlIGhhc2gpLlxuICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZSBiZWluZyBxdWVyaWVkXG4gKiBAdGVtcGxhdGUgUiAtIFRoZSByZXN1bHQgdHlwZSByZXR1cm5lZCBieSB0aGUgcXVlcnlcbiAqIEBjbGFzcyBSZWRpc1N0YXRlbWVudFxuICogQGNhdGVnb3J5IFJlZGlzXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gQ3JlYXRlIGEgc3RhdGVtZW50IGZvciBxdWVyeWluZyBVc2VyIG1vZGVsc1xuICogY29uc3Qgc3RhdGVtZW50ID0gcmVkaXNBZGFwdGVyLlN0YXRlbWVudDxVc2VyPigpO1xuICpcbiAqIC8vIEJ1aWxkIGEgcXVlcnkgdG8gZmluZCBhY3RpdmUgdXNlcnMgd2l0aCBhZ2UgPiAxOFxuICogY29uc3QgcmVzdWx0cyA9IGF3YWl0IHN0YXRlbWVudFxuICogICAuZnJvbShVc2VyKVxuICogICAud2hlcmUoQ29uZGl0aW9uLmFuZChcbiAqICAgICBDb25kaXRpb24uZXEoJ2FjdGl2ZScsIHRydWUpLFxuICogICAgIENvbmRpdGlvbi5ndCgnYWdlJywgMTgpXG4gKiAgICkpXG4gKiAgIC5vcmRlckJ5KCdsYXN0TmFtZScsICdhc2MnKVxuICogICAubGltaXQoMTApXG4gKiAgIC5leGVjdXRlKCk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFJlZGlzU3RhdGVtZW50PFxuICBNIGV4dGVuZHMgTW9kZWwsXG4gIFIsXG4gIEEgZXh0ZW5kcyBBZGFwdGVyPE0sIGFueSwgUmF3UmVkaXNRdWVyeTxhbnk+LCBSZWRpc0NvbnRleHQ+LFxuPiBleHRlbmRzIFN0YXRlbWVudDxNLCBBLCBSLCBSYXdSZWRpc1F1ZXJ5PGFueT4+IHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgc3RhdGVtZW50IGJvdW5kIHRvIHRoZSBSZWRpcyBhZGFwdGVyXG4gICAqIEBwYXJhbSB7QX0gYWRhcHRlciAtIFRoZSBSZWRpcyBhZGFwdGVyIGluc3RhbmNlIHRvIHVzZSBmb3IgZXhlY3V0aW5nIHF1ZXJpZXNcbiAgICogQHBhcmFtIHtQYXJ0aWFsPEFkYXB0ZXJGbGFncz59IFtvdmVycmlkZXNdIC0gT3B0aW9uYWwgYWRhcHRlciBmbGFnIG92ZXJyaWRlc1xuICAgKi9cbiAgY29uc3RydWN0b3IoYWRhcHRlcjogQSwgb3ZlcnJpZGVzPzogUGFydGlhbDxBZGFwdGVyRmxhZ3M+KSB7XG4gICAgc3VwZXIoYWRhcHRlciwgb3ZlcnJpZGVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIHNvcnQgY29tcGFyYXRvciBmdW5jdGlvblxuICAgKiBAc3VtbWFyeSBHZW5lcmF0ZXMgYSBmdW5jdGlvbiB0aGF0IGNvbXBhcmVzIHR3byBtb2RlbCBpbnN0YW5jZXMgYmFzZWQgb24gdGhlIG9yZGVyQnkgY3JpdGVyaWEuXG4gICAqIFRoaXMgbWV0aG9kIGhhbmRsZXMgZGlmZmVyZW50IGRhdGEgdHlwZXMgKHN0cmluZywgbnVtYmVyLCBkYXRlKSBhbmQgc29ydCBkaXJlY3Rpb25zIChhc2MsIGRlc2MpLlxuICAgKiBAcmV0dXJuIHtmdW5jdGlvbihNb2RlbCwgTW9kZWwpOiBudW1iZXJ9IEEgY29tcGFyYXRvciBmdW5jdGlvbiBmb3Igc29ydGluZyBtb2RlbCBpbnN0YW5jZXNcbiAgICovXG4gIHByaXZhdGUgZ2V0U29ydCgpIHtcbiAgICBjb25zdCBzZWxlY3RvcnMgPSB0aGlzLm9yZGVyQnlTZWxlY3RvcnM7XG4gICAgcmV0dXJuIChlbDE6IE1vZGVsLCBlbDI6IE1vZGVsKSA9PiB7XG4gICAgICBpZiAoIXNlbGVjdG9ycyB8fCAhc2VsZWN0b3JzLmxlbmd0aClcbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgXCJvcmRlckJ5U2VsZWN0b3JzIG5vdCBzZXQuIFNob3VsZCBiZSBpbXBvc3NpYmxlXCJcbiAgICAgICAgKTtcbiAgICAgIGZvciAoY29uc3QgW2tleSwgZGlyZWN0aW9uXSBvZiBzZWxlY3RvcnMpIHtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZERpcmVjdGlvbiA9IFN0cmluZyhkaXJlY3Rpb24pLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbkZhY3RvciA9XG4gICAgICAgICAgbm9ybWFsaXplZERpcmVjdGlvbiA9PT0gT3JkZXJEaXJlY3Rpb24uQVNDID8gMSA6IC0xO1xuICAgICAgICBjb25zdCBjb21wYXJpc29uID0gdGhpcy5jb21wYXJlQnlLZXkoZWwxLCBlbDIsIGtleSBhcyBrZXlvZiBNb2RlbCk7XG4gICAgICAgIGlmIChjb21wYXJpc29uICE9PSAwKSByZXR1cm4gZGlyZWN0aW9uRmFjdG9yICogY29tcGFyaXNvbjtcbiAgICAgIH1cbiAgICAgIHJldHVybiAwO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbXBhcmVzIHR3byBtb2RlbHMgYnkgYSBzaW5nbGUgYXR0cmlidXRlXG4gICAqIEBzdW1tYXJ5IFJlc29sdmVzIHRoZSBhdHRyaWJ1dGUncyBkZXNpZ24gdHlwZSBhbmQgZGVsZWdhdGVzIHRvIHRoZSBtYXRjaGluZ1xuICAgKiB0eXBlLXNwZWNpZmljIGNvbXBhcmF0b3IuXG4gICAqIEBwYXJhbSB7TW9kZWx9IGVsMSAtIFRoZSBmaXJzdCBtb2RlbCBpbnN0YW5jZVxuICAgKiBAcGFyYW0ge01vZGVsfSBlbDIgLSBUaGUgc2Vjb25kIG1vZGVsIGluc3RhbmNlXG4gICAqIEBwYXJhbSB7a2V5b2YgTW9kZWx9IGtleSAtIFRoZSBhdHRyaWJ1dGUgdG8gY29tcGFyZVxuICAgKiBAcmV0dXJuIHtudW1iZXJ9IEEgbmVnYXRpdmUgbnVtYmVyLCB6ZXJvIG9yIGEgcG9zaXRpdmUgbnVtYmVyIGFzIHBlciB0aGUgY29tcGFyaXNvblxuICAgKi9cbiAgcHJpdmF0ZSBjb21wYXJlQnlLZXkoZWwxOiBNb2RlbCwgZWwyOiBNb2RlbCwga2V5OiBrZXlvZiBNb2RlbCk6IG51bWJlciB7XG4gICAgY29uc3QgdmFsdWUxID0gZWwxW2tleV07XG4gICAgY29uc3QgdmFsdWUyID0gZWwyW2tleV07XG5cbiAgICBpZiAodmFsdWUxID09PSB2YWx1ZTIpIHJldHVybiAwO1xuXG4gICAgaWYgKHZhbHVlMSA9PSBudWxsIHx8IHZhbHVlMiA9PSBudWxsKSByZXR1cm4gdmFsdWUxID09IG51bGwgPyAxIDogLTE7XG5cbiAgICBjb25zdCB7IGRlc2lnblR5cGU6IHR5cGUgfSA9IE1ldGFkYXRhLmdldFByb3BEZXNpZ25UeXBlcyhcbiAgICAgIGVsMS5jb25zdHJ1Y3RvciBhcyBhbnksXG4gICAgICBrZXkgYXMgc3RyaW5nXG4gICAgKTtcbiAgICBjb25zdCByZXNvbHZlZFR5cGUgPVxuICAgICAgKHR5cGUgJiYgdHlwZS5uYW1lICYmIHR5cGUubmFtZS50b0xvd2VyQ2FzZSgpKSB8fCB0eXBlb2YgdmFsdWUxO1xuXG4gICAgc3dpdGNoIChyZXNvbHZlZFR5cGUpIHtcbiAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZVN0cmluZ3MoXG4gICAgICAgICAgdmFsdWUxIGFzIHVua25vd24gYXMgc3RyaW5nLFxuICAgICAgICAgIHZhbHVlMiBhcyB1bmtub3duIGFzIHN0cmluZ1xuICAgICAgICApO1xuICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlTnVtYmVycyhcbiAgICAgICAgICB2YWx1ZTEgYXMgdW5rbm93biBhcyBudW1iZXIsXG4gICAgICAgICAgdmFsdWUyIGFzIHVua25vd24gYXMgbnVtYmVyXG4gICAgICAgICk7XG4gICAgICBjYXNlIFwiYmlnaW50XCI6XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmVCaWdJbnRzKFxuICAgICAgICAgIHZhbHVlMSBhcyB1bmtub3duIGFzIGJpZ2ludCxcbiAgICAgICAgICB2YWx1ZTIgYXMgdW5rbm93biBhcyBiaWdpbnRcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICAgIHJldHVybiB0aGlzLmNvbXBhcmVCb29sZWFucyhcbiAgICAgICAgICB2YWx1ZTEgYXMgdW5rbm93biBhcyBib29sZWFuLFxuICAgICAgICAgIHZhbHVlMiBhcyB1bmtub3duIGFzIGJvb2xlYW5cbiAgICAgICAgKTtcbiAgICAgIGNhc2UgXCJkYXRlXCI6XG4gICAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICAgIGlmICh2YWx1ZTEgaW5zdGFuY2VvZiBEYXRlICYmIHZhbHVlMiBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlRGF0ZXModmFsdWUxIGFzIERhdGUsIHZhbHVlMiBhcyBEYXRlKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBRdWVyeUVycm9yKGBzb3J0aW5nIG5vdCBzdXBwb3J0ZWQgZm9yIHR5cGUgJHtyZXNvbHZlZFR5cGV9YCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbXBhcmVzIHR3byBib29sZWFuIHZhbHVlc1xuICAgKiBAcmV0dXJuIHtudW1iZXJ9IDAgd2hlbiBlcXVhbCwgMSB3aGVuIGBhYCBpcyB0cnVlLCAtMSBvdGhlcndpc2VcbiAgICovXG4gIHByaXZhdGUgY29tcGFyZUJvb2xlYW5zKGE6IGJvb2xlYW4sIGI6IGJvb2xlYW4pOiBudW1iZXIge1xuICAgIHJldHVybiBhID09PSBiID8gMCA6IGEgPyAxIDogLTE7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbXBhcmVzIHR3byBudW1lcmljIHZhbHVlc1xuICAgKiBAcmV0dXJuIHtudW1iZXJ9IFRoZSBudW1lcmljIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdmFsdWVzXG4gICAqL1xuICBwcml2YXRlIGNvbXBhcmVOdW1iZXJzKGE6IG51bWJlciwgYjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gYSAtIGI7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbXBhcmVzIHR3byBiaWdpbnQgdmFsdWVzXG4gICAqIEByZXR1cm4ge251bWJlcn0gMCB3aGVuIGVxdWFsLCAxIHdoZW4gYGFgIGlzIGdyZWF0ZXIsIC0xIG90aGVyd2lzZVxuICAgKi9cbiAgcHJpdmF0ZSBjb21wYXJlQmlnSW50cyhhOiBiaWdpbnQsIGI6IGJpZ2ludCk6IG51bWJlciB7XG4gICAgaWYgKGEgPT09IGIpIHJldHVybiAwO1xuICAgIHJldHVybiBhID4gYiA/IDEgOiAtMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ29tcGFyZXMgdHdvIHN0cmluZ3MgdXNpbmcgbG9jYWxlLWF3YXJlIG9yZGVyaW5nXG4gICAqIEByZXR1cm4ge251bWJlcn0gVGhlIGxvY2FsZSBjb21wYXJlIHJlc3VsdCBiZXR3ZWVuIHRoZSB2YWx1ZXNcbiAgICovXG4gIHByaXZhdGUgY29tcGFyZVN0cmluZ3MoYTogc3RyaW5nLCBiOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBhLmxvY2FsZUNvbXBhcmUoYik7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbXBhcmVzIHR3byBkYXRlcyBieSB0aGVpciBlcG9jaCB0aW1lc3RhbXBzXG4gICAqIEByZXR1cm4ge251bWJlcn0gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdGltZXN0YW1wc1xuICAgKi9cbiAgcHJpdmF0ZSBjb21wYXJlRGF0ZXMoYTogRGF0ZSwgYjogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGEudmFsdWVPZigpIC0gYi52YWx1ZU9mKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEJ1aWxkcyBhIFJlZGlzIHF1ZXJ5IGZyb20gdGhlIHN0YXRlbWVudFxuICAgKiBAc3VtbWFyeSBDb252ZXJ0cyB0aGUgc3RhdGVtZW50J3Mgc2VsZWN0b3JzIGFuZCBjb25kaXRpb25zIGludG8gYSBSYXdSZWRpc1F1ZXJ5IG9iamVjdFxuICAgKiB0aGF0IGNhbiBiZSBleGVjdXRlZCBieSB0aGUgUmVkaXMgYWRhcHRlci4gVGhpcyBtZXRob2QgYXNzZW1ibGVzIGFsbCBxdWVyeSBjb21wb25lbnRzXG4gICAqIChzZWxlY3QsIGZyb20sIHdoZXJlLCBsaW1pdCwgb2Zmc2V0LCBzb3J0KSBpbnRvIHRoZSBmaW5hbCBxdWVyeSBzdHJ1Y3R1cmUuXG4gICAqIEByZXR1cm4ge1Jhd1JlZGlzUXVlcnk8TT59IFRoZSBjb25zdHJ1Y3RlZCBSZWRpcyBxdWVyeSBvYmplY3RcbiAgICovXG4gIHByb3RlY3RlZCBidWlsZCgpOiBSYXdSZWRpc1F1ZXJ5PGFueT4ge1xuICAgIGlmICh0aGlzLm1pblNlbGVjdG9yKVxuICAgICAgdGhpcy5lbnN1cmVOdW1iZXJPckRhdGVTZWxlY3Rvcih0aGlzLm1pblNlbGVjdG9yLCBcIk1JTiBvcGVyYXRpb25cIik7XG4gICAgaWYgKHRoaXMubWF4U2VsZWN0b3IpXG4gICAgICB0aGlzLmVuc3VyZU51bWJlck9yRGF0ZVNlbGVjdG9yKHRoaXMubWF4U2VsZWN0b3IsIFwiTUFYIG9wZXJhdGlvblwiKTtcbiAgICBpZiAodGhpcy5zdW1TZWxlY3RvcilcbiAgICAgIHRoaXMuZW5zdXJlTnVtZXJpY1NlbGVjdG9yKHRoaXMuc3VtU2VsZWN0b3IsIFwiU1VNIG9wZXJhdGlvblwiKTtcbiAgICBpZiAodGhpcy5hdmdTZWxlY3RvcilcbiAgICAgIHRoaXMuZW5zdXJlTnVtYmVyT3JEYXRlU2VsZWN0b3IodGhpcy5hdmdTZWxlY3RvciwgXCJBVkcgb3BlcmF0aW9uXCIpO1xuXG4gICAgY29uc3QgcmVzdWx0OiBSYXdSZWRpc1F1ZXJ5PE0+ID0ge1xuICAgICAgc2VsZWN0OiB0aGlzLnNlbGVjdFNlbGVjdG9yLFxuICAgICAgZnJvbTogdGhpcy5mcm9tU2VsZWN0b3IsXG4gICAgICB3aGVyZTogdGhpcy53aGVyZUNvbmRpdGlvblxuICAgICAgICA/IHRoaXMucGFyc2VDb25kaXRpb24odGhpcy53aGVyZUNvbmRpdGlvbikud2hlcmVcbiAgICAgICAgOiAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICAgICAgKGVsOiBNKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9LFxuICAgICAgbGltaXQ6IHRoaXMubGltaXRTZWxlY3RvcixcbiAgICAgIHNraXA6IHRoaXMub2Zmc2V0U2VsZWN0b3IsXG4gICAgICBncm91cEJ5OiB0aGlzLmdyb3VwQnlTZWxlY3RvcnMsXG4gICAgfTtcblxuICAgIGlmICh0eXBlb2YgdGhpcy5jb3VudFNlbGVjdG9yICE9PSBcInVuZGVmaW5lZFwiKSByZXN1bHQuY291bnQgPSB0aGlzLmNvdW50U2VsZWN0b3I7XG4gICAgaWYgKHRoaXMuY291bnREaXN0aW5jdFNlbGVjdG9yKSByZXN1bHQuY291bnREaXN0aW5jdCA9IHRoaXMuY291bnREaXN0aW5jdFNlbGVjdG9yO1xuICAgIGlmICh0aGlzLm1pblNlbGVjdG9yKSByZXN1bHQubWluID0gdGhpcy5taW5TZWxlY3RvcjtcbiAgICBpZiAodGhpcy5tYXhTZWxlY3RvcikgcmVzdWx0Lm1heCA9IHRoaXMubWF4U2VsZWN0b3I7XG4gICAgaWYgKHRoaXMuc3VtU2VsZWN0b3IpIHJlc3VsdC5zdW0gPSB0aGlzLnN1bVNlbGVjdG9yO1xuICAgIGlmICh0aGlzLmF2Z1NlbGVjdG9yKSByZXN1bHQuYXZnID0gdGhpcy5hdmdTZWxlY3RvcjtcbiAgICBpZiAodGhpcy5kaXN0aW5jdFNlbGVjdG9yKSByZXN1bHQuZGlzdGluY3QgPSB0aGlzLmRpc3RpbmN0U2VsZWN0b3I7XG4gICAgaWYgKHRoaXMub3JkZXJCeVNlbGVjdG9ycz8ubGVuZ3RoKSByZXN1bHQuc29ydCA9IHRoaXMuZ2V0U29ydCgpO1xuICAgIHJldHVybiByZXN1bHQgYXMgUmF3UmVkaXNRdWVyeTxhbnk+O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBQYXJzZXMgYSBjb25kaXRpb24gaW50byBhIFJlZGlzIHF1ZXJ5IHByZWRpY2F0ZVxuICAgKiBAc3VtbWFyeSBDb252ZXJ0cyBhIENvbmRpdGlvbiBvYmplY3QgaW50byBhIHByZWRpY2F0ZSBmdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkXG4gICAqIHRvIGZpbHRlciBtb2RlbCBpbnN0YW5jZXMgaW4gbWVtb3J5LiBUaGlzIG1ldGhvZCBoYW5kbGVzIGJvdGggc2ltcGxlIGNvbmRpdGlvbnNcbiAgICogKGVxdWFscywgZ3JlYXRlciB0aGFuLCBldGMuKSBhbmQgY29tcGxleCBjb25kaXRpb25zIHdpdGggbG9naWNhbCBvcGVyYXRvcnMgKEFORCwgT1IpLlxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlIGZvciB0aGUgY29uZGl0aW9uXG4gICAqIEBwYXJhbSB7Q29uZGl0aW9uPE0+fSBjb25kaXRpb24gLSBUaGUgY29uZGl0aW9uIHRvIHBhcnNlXG4gICAqIEByZXR1cm4ge1Jhd1JlZGlzUXVlcnk8TT59IEEgUmVkaXMgcXVlcnkgb2JqZWN0IHdpdGggYSB3aGVyZSBwcmVkaWNhdGUgZnVuY3Rpb25cbiAgICogQG1lcm1haWRcbiAgICogc2VxdWVuY2VEaWFncmFtXG4gICAqICAgcGFydGljaXBhbnQgQ2FsbGVyXG4gICAqICAgcGFydGljaXBhbnQgUmVkaXNTdGF0ZW1lbnRcbiAgICogICBwYXJ0aWNpcGFudCBTaW1wbGVDb25kaXRpb25cbiAgICogICBwYXJ0aWNpcGFudCBDb21wbGV4Q29uZGl0aW9uXG4gICAqXG4gICAqICAgQ2FsbGVyLT4+UmVkaXNTdGF0ZW1lbnQ6IHBhcnNlQ29uZGl0aW9uKGNvbmRpdGlvbilcbiAgICogICBhbHQgU2ltcGxlIGNvbmRpdGlvbiAoZXEsIGd0LCBsdCwgZXRjLilcbiAgICogICAgIFJlZGlzU3RhdGVtZW50LT4+U2ltcGxlQ29uZGl0aW9uOiBFeHRyYWN0IGF0dHIxLCBvcGVyYXRvciwgY29tcGFyaXNvblxuICAgKiAgICAgU2ltcGxlQ29uZGl0aW9uLS0+PlJlZGlzU3RhdGVtZW50OiBSZXR1cm4gcHJlZGljYXRlIGZ1bmN0aW9uXG4gICAqICAgZWxzZSBMb2dpY2FsIG9wZXJhdG9yIChBTkQsIE9SKVxuICAgKiAgICAgUmVkaXNTdGF0ZW1lbnQtPj5Db21wbGV4Q29uZGl0aW9uOiBFeHRyYWN0IG5lc3RlZCBjb25kaXRpb25zXG4gICAqICAgICBSZWRpc1N0YXRlbWVudC0+PlJlZGlzU3RhdGVtZW50OiBwYXJzZUNvbmRpdGlvbihsZWZ0Q29uZGl0aW9uKVxuICAgKiAgICAgUmVkaXNTdGF0ZW1lbnQtPj5SZWRpc1N0YXRlbWVudDogcGFyc2VDb25kaXRpb24ocmlnaHRDb25kaXRpb24pXG4gICAqICAgICBDb21wbGV4Q29uZGl0aW9uLS0+PlJlZGlzU3RhdGVtZW50OiBDb21iaW5lIHByZWRpY2F0ZXMgd2l0aCBsb2dpY2FsIG9wZXJhdG9yXG4gICAqICAgZW5kXG4gICAqICAgUmVkaXNTdGF0ZW1lbnQtLT4+Q2FsbGVyOiBSZXR1cm4gcXVlcnkgd2l0aCB3aGVyZSBwcmVkaWNhdGVcbiAgICovXG4gIHByb3RlY3RlZCBwYXJzZUNvbmRpdGlvbihjb25kaXRpb246IENvbmRpdGlvbjxNPik6IFJhd1JlZGlzUXVlcnk8YW55PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdoZXJlOiAobTogTW9kZWwpID0+IHtcbiAgICAgICAgY29uc3QgeyBhdHRyMSwgb3BlcmF0b3IsIGNvbXBhcmlzb24gfSA9IGNvbmRpdGlvbiBhcyB1bmtub3duIGFzIHtcbiAgICAgICAgICBhdHRyMTogc3RyaW5nIHwgQ29uZGl0aW9uPE0+O1xuICAgICAgICAgIG9wZXJhdG9yOiBPcGVyYXRvciB8IEdyb3VwT3BlcmF0b3I7XG4gICAgICAgICAgY29tcGFyaXNvbjogYW55O1xuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBbR3JvdXBPcGVyYXRvci5BTkQsIEdyb3VwT3BlcmF0b3IuT1IsIE9wZXJhdG9yLk5PVF0uaW5kZXhPZihcbiAgICAgICAgICAgIG9wZXJhdG9yIGFzIEdyb3VwT3BlcmF0b3JcbiAgICAgICAgICApID09PSAtMVxuICAgICAgICApIHtcbiAgICAgICAgICBzd2l0Y2ggKG9wZXJhdG9yKSB7XG4gICAgICAgICAgICBjYXNlIE9wZXJhdG9yLkJJR0dFUjpcbiAgICAgICAgICAgICAgcmV0dXJuIG1bYXR0cjEgYXMga2V5b2YgTW9kZWxdID4gY29tcGFyaXNvbjtcbiAgICAgICAgICAgIGNhc2UgT3BlcmF0b3IuQklHR0VSX0VROlxuICAgICAgICAgICAgICByZXR1cm4gbVthdHRyMSBhcyBrZXlvZiBNb2RlbF0gPj0gY29tcGFyaXNvbjtcbiAgICAgICAgICAgIGNhc2UgT3BlcmF0b3IuRElGRkVSRU5UOlxuICAgICAgICAgICAgICByZXR1cm4gbVthdHRyMSBhcyBrZXlvZiBNb2RlbF0gIT09IGNvbXBhcmlzb247XG4gICAgICAgICAgICBjYXNlIE9wZXJhdG9yLkVRVUFMOlxuICAgICAgICAgICAgICByZXR1cm4gbVthdHRyMSBhcyBrZXlvZiBNb2RlbF0gPT09IGNvbXBhcmlzb247XG4gICAgICAgICAgICBjYXNlIE9wZXJhdG9yLlJFR0VYUDpcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiBtW2F0dHIxIGFzIGtleW9mIE1vZGVsXSAhPT0gXCJzdHJpbmdcIilcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUXVlcnlFcnJvcihcbiAgICAgICAgICAgICAgICAgIGBJbnZhbGlkIHJlZ2V4cCBjb21wYXJpc29uIG9uIGEgbm9uIHN0cmluZyBhdHRyaWJ1dGU6ICR7bVthdHRyMSBhcyBrZXlvZiBNb2RlbF19YFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHJldHVybiAhIShtW2F0dHIxIGFzIGtleW9mIE1vZGVsXSBhcyB1bmtub3duIGFzIHN0cmluZykubWF0Y2goXG4gICAgICAgICAgICAgICAgbmV3IFJlZ0V4cChjb21wYXJpc29uLCBcImdcIilcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNhc2UgT3BlcmF0b3IuU1RBUlRTX1dJVEg6IHtcbiAgICAgICAgICAgICAgY29uc3QgYXR0ciA9IGF0dHIxIGFzIGtleW9mIE1vZGVsO1xuICAgICAgICAgICAgICBjb25zdCBhdHRyTmFtZSA9IGF0dHIgYXMgc3RyaW5nO1xuICAgICAgICAgICAgICBjb25zdCBhdHRyVmFsdWUgPSBtW2F0dHJdIGFzIHVua25vd247XG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgYXR0clZhbHVlICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFF1ZXJ5RXJyb3IoXG4gICAgICAgICAgICAgICAgICBgSW52YWxpZCBzdGFydHNXaXRoIGNvbXBhcmlzb24gb24gYSBub24gc3RyaW5nIGF0dHJpYnV0ZSBcIiR7YXR0ck5hbWV9XCJgXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAodHlwZW9mIGNvbXBhcmlzb24gIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUXVlcnlFcnJvcihcbiAgICAgICAgICAgICAgICAgIGBTVEFSVFNfV0lUSCBvcGVyYXRvciByZXF1aXJlcyBhIHN0cmluZyBjb21wYXJpc29uLCBnb3QgJHt0eXBlb2YgY29tcGFyaXNvbn1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gKGF0dHJWYWx1ZSBhcyBzdHJpbmcpLnN0YXJ0c1dpdGgoY29tcGFyaXNvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIE9wZXJhdG9yLkVORFNfV0lUSDoge1xuICAgICAgICAgICAgICBjb25zdCBhdHRyID0gYXR0cjEgYXMga2V5b2YgTW9kZWw7XG4gICAgICAgICAgICAgIGNvbnN0IGF0dHJOYW1lID0gYXR0ciBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgIGNvbnN0IGF0dHJWYWx1ZSA9IG1bYXR0cl0gYXMgdW5rbm93bjtcbiAgICAgICAgICAgICAgaWYgKHR5cGVvZiBhdHRyVmFsdWUgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUXVlcnlFcnJvcihcbiAgICAgICAgICAgICAgICAgIGBJbnZhbGlkIGVuZHNXaXRoIGNvbXBhcmlzb24gb24gYSBub24gc3RyaW5nIGF0dHJpYnV0ZSBcIiR7YXR0ck5hbWV9XCJgXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAodHlwZW9mIGNvbXBhcmlzb24gIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUXVlcnlFcnJvcihcbiAgICAgICAgICAgICAgICAgIGBFTkRTX1dJVEggb3BlcmF0b3IgcmVxdWlyZXMgYSBzdHJpbmcgY29tcGFyaXNvbiwgZ290ICR7dHlwZW9mIGNvbXBhcmlzb259YFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIChhdHRyVmFsdWUgYXMgc3RyaW5nKS5lbmRzV2l0aChjb21wYXJpc29uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgT3BlcmF0b3IuU01BTExFUjpcbiAgICAgICAgICAgICAgcmV0dXJuIG1bYXR0cjEgYXMga2V5b2YgTW9kZWxdIDwgY29tcGFyaXNvbjtcbiAgICAgICAgICAgIGNhc2UgT3BlcmF0b3IuU01BTExFUl9FUTpcbiAgICAgICAgICAgICAgcmV0dXJuIG1bYXR0cjEgYXMga2V5b2YgTW9kZWxdIDw9IGNvbXBhcmlzb247XG4gICAgICAgICAgICBjYXNlIE9wZXJhdG9yLklOOlxuICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoY29tcGFyaXNvbikpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFF1ZXJ5RXJyb3IoXG4gICAgICAgICAgICAgICAgICBgSU4gb3BlcmF0b3IgcmVxdWlyZXMgYW4gYXJyYXksIGdvdDogJHt0eXBlb2YgY29tcGFyaXNvbn1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmlzb24uaW5jbHVkZXMobVthdHRyMSBhcyBrZXlvZiBNb2RlbF0pO1xuICAgICAgICAgICAgY2FzZSBPcGVyYXRvci5CRVRXRUVOOiB7XG4gICAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShjb21wYXJpc29uKSB8fCBjb21wYXJpc29uLmxlbmd0aCAhPT0gMilcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUXVlcnlFcnJvcihcbiAgICAgICAgICAgICAgICAgIGBCRVRXRUVOIG9wZXJhdG9yIHJlcXVpcmVzIGFuIGFycmF5IHdpdGggMiB2YWx1ZXMgW21pbiwgbWF4XSwgZ290OiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgICAgICAgICBjb21wYXJpc29uXG4gICAgICAgICAgICAgICAgICApfWBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBjb25zdCBhdHRyID0gYXR0cjEgYXMga2V5b2YgTW9kZWw7XG4gICAgICAgICAgICAgIGNvbnN0IGF0dHJOYW1lID0gYXR0ciBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgIGNvbnN0IGF0dHJUeXBlID0gdGhpcy5kZXRlcm1pbmVBdHRyaWJ1dGVUeXBlKFxuICAgICAgICAgICAgICAgIG0uY29uc3RydWN0b3IgYXMgQ29uc3RydWN0b3I8TW9kZWw+LFxuICAgICAgICAgICAgICAgIGF0dHJOYW1lLFxuICAgICAgICAgICAgICAgIFwiQkVUV0VFTlwiXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGlmICghdGhpcy5pc051bWVyaWNUeXBlKGF0dHJUeXBlKSAmJiBhdHRyVHlwZSAhPT0gXCJkYXRlXCIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUXVlcnlFcnJvcihcbiAgICAgICAgICAgICAgICAgIGBCRVRXRUVOIG9wZXJhdG9yIHJlcXVpcmVzIG51bWVyaWMgb3IgZGF0ZSBhdHRyaWJ1dGVzLCBidXQgXCIke2F0dHJOYW1lfVwiIGlzICR7YXR0clR5cGUgfHxcbiAgICAgICAgICAgICAgICAgICAgXCJ1bmtub3duXCJ9YFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY29uc3QgW21pbiwgbWF4XSA9IGNvbXBhcmlzb247XG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gbVthdHRyXTtcbiAgICAgICAgICAgICAgY29uc3QgY29tcGFyYWJsZVZhbHVlID0gdGhpcy50b0NvbXBhcmFibGVWYWx1ZShcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICBhdHRyVHlwZSxcbiAgICAgICAgICAgICAgICBhdHRyTmFtZSxcbiAgICAgICAgICAgICAgICBcIkJFVFdFRU5cIixcbiAgICAgICAgICAgICAgICB7IGFsbG93TnVsbDogdHJ1ZSB9XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGlmIChjb21wYXJhYmxlVmFsdWUgPT09IG51bGwpIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgY29uc3QgbWluQ29tcGFyYWJsZSA9IHRoaXMudG9Db21wYXJhYmxlVmFsdWUoXG4gICAgICAgICAgICAgICAgbWluLFxuICAgICAgICAgICAgICAgIGF0dHJUeXBlLFxuICAgICAgICAgICAgICAgIGF0dHJOYW1lLFxuICAgICAgICAgICAgICAgIFwiQkVUV0VFTiBtaW5cIlxuICAgICAgICAgICAgICApITtcbiAgICAgICAgICAgICAgY29uc3QgbWF4Q29tcGFyYWJsZSA9IHRoaXMudG9Db21wYXJhYmxlVmFsdWUoXG4gICAgICAgICAgICAgICAgbWF4LFxuICAgICAgICAgICAgICAgIGF0dHJUeXBlLFxuICAgICAgICAgICAgICAgIGF0dHJOYW1lLFxuICAgICAgICAgICAgICAgIFwiQkVUV0VFTiBtYXhcIlxuICAgICAgICAgICAgICApITtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICBjb21wYXJhYmxlVmFsdWUgPj0gbWluQ29tcGFyYWJsZSAmJiBjb21wYXJhYmxlVmFsdWUgPD0gbWF4Q29tcGFyYWJsZVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBPcGVyYXRvci5FWElTVFM6IHtcbiAgICAgICAgICAgICAgY29uc3QgcHJlc2VudCA9XG4gICAgICAgICAgICAgICAgbVthdHRyMSBhcyBrZXlvZiBNb2RlbF0gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgIG1bYXR0cjEgYXMga2V5b2YgTW9kZWxdICE9PSBudWxsO1xuICAgICAgICAgICAgICByZXR1cm4gY29tcGFyaXNvbiA9PT0gZmFsc2UgPyAhcHJlc2VudCA6IHByZXNlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICAgICAgICBgSW52YWxpZCBvcGVyYXRvciBmb3Igc3RhbmRhcmQgY29tcGFyaXNvbnM6ICR7b3BlcmF0b3J9YFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChvcGVyYXRvciA9PT0gT3BlcmF0b3IuTk9UKSB7XG4gICAgICAgICAgaWYgKCEoYXR0cjEgaW5zdGFuY2VvZiBDb25kaXRpb24pKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICAgICAgXCJOT1Qgb3BlcmF0b3IgcmVxdWlyZXMgYSBuZXN0ZWQgY29uZGl0aW9uIHRvIG5lZ2F0ZVwiXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBuZXN0ZWQgPSB0aGlzLnBhcnNlQ29uZGl0aW9uKGF0dHIxIGFzIENvbmRpdGlvbjxNPik7XG4gICAgICAgICAgcmV0dXJuICFuZXN0ZWQud2hlcmUobSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qgb3AxOiBSYXdSZWRpc1F1ZXJ5PGFueT4gPSB0aGlzLnBhcnNlQ29uZGl0aW9uKFxuICAgICAgICAgICAgYXR0cjEgYXMgQ29uZGl0aW9uPE0+XG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBvcDI6IFJhd1JlZGlzUXVlcnk8YW55PiA9IHRoaXMucGFyc2VDb25kaXRpb24oXG4gICAgICAgICAgICBjb21wYXJpc29uIGFzIENvbmRpdGlvbjxNPlxuICAgICAgICAgICk7XG4gICAgICAgICAgc3dpdGNoIChvcGVyYXRvcikge1xuICAgICAgICAgICAgY2FzZSBHcm91cE9wZXJhdG9yLkFORDpcbiAgICAgICAgICAgICAgcmV0dXJuIG9wMS53aGVyZShtKSAmJiBvcDIud2hlcmUobSk7XG4gICAgICAgICAgICBjYXNlIEdyb3VwT3BlcmF0b3IuT1I6XG4gICAgICAgICAgICAgIHJldHVybiBvcDEud2hlcmUobSkgfHwgb3AyLndoZXJlKG0pO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgICAgICAgYEludmFsaWQgb3BlcmF0b3IgZm9yIEFuZC9PciBjb21wYXJpc29uczogJHtvcGVyYXRvcn1gXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0gYXMgUmF3UmVkaXNRdWVyeTxhbnk+O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBWYWxpZGF0ZXMgdGhhdCBhbiBhZ2dyZWdhdGlvbiBzZWxlY3RvciB0YXJnZXRzIGEgbnVtZXJpYyBhdHRyaWJ1dGVcbiAgICogQHBhcmFtIHtTZWxlY3RTZWxlY3RvcjxNPn0gc2VsZWN0b3IgLSBUaGUgYXR0cmlidXRlIHNlbGVjdG9yIHRvIHZhbGlkYXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZXh0IC0gVGhlIGFnZ3JlZ2F0aW9uIGNvbnRleHQgdXNlZCBpbiBlcnJvciBtZXNzYWdlc1xuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgcHJpdmF0ZSBlbnN1cmVOdW1lcmljU2VsZWN0b3IoXG4gICAgc2VsZWN0b3I6IFNlbGVjdFNlbGVjdG9yPE0+LFxuICAgIGNvbnRleHQ6IHN0cmluZ1xuICApOiB2b2lkIHtcbiAgICB0aGlzLmVuc3VyZVNlbGVjdG9yVHlwZShcbiAgICAgIHNlbGVjdG9yLFxuICAgICAgY29udGV4dCxcbiAgICAgICh0eXBlKSA9PiB0aGlzLmlzTnVtZXJpY1R5cGUodHlwZSksXG4gICAgICBcIm51bWVyaWNcIlxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFZhbGlkYXRlcyB0aGF0IGFuIGFnZ3JlZ2F0aW9uIHNlbGVjdG9yIHRhcmdldHMgYSBudW1lcmljIG9yIGRhdGUgYXR0cmlidXRlXG4gICAqIEBwYXJhbSB7U2VsZWN0U2VsZWN0b3I8TT59IHNlbGVjdG9yIC0gVGhlIGF0dHJpYnV0ZSBzZWxlY3RvciB0byB2YWxpZGF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29udGV4dCAtIFRoZSBhZ2dyZWdhdGlvbiBjb250ZXh0IHVzZWQgaW4gZXJyb3IgbWVzc2FnZXNcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIHByaXZhdGUgZW5zdXJlTnVtYmVyT3JEYXRlU2VsZWN0b3IoXG4gICAgc2VsZWN0b3I6IFNlbGVjdFNlbGVjdG9yPE0+LFxuICAgIGNvbnRleHQ6IHN0cmluZ1xuICApOiB2b2lkIHtcbiAgICB0aGlzLmVuc3VyZVNlbGVjdG9yVHlwZShcbiAgICAgIHNlbGVjdG9yLFxuICAgICAgY29udGV4dCxcbiAgICAgICh0eXBlKSA9PiB0aGlzLmlzTnVtZXJpY1R5cGUodHlwZSkgfHwgdHlwZSA9PT0gXCJkYXRlXCIsXG4gICAgICBcIm51bWVyaWMgb3IgZGF0ZVwiXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVmFsaWRhdGVzIHRoYXQgYSBzZWxlY3RvcidzIGF0dHJpYnV0ZSB0eXBlIHNhdGlzZmllcyBhIHByZWRpY2F0ZVxuICAgKiBAc3VtbWFyeSBSZXNvbHZlcyB0aGUgYXR0cmlidXRlIHR5cGUgZnJvbSB0aGUgbW9kZWwgbWV0YWRhdGEgYW5kIHJhaXNlcyBhXG4gICAqIGBRdWVyeUVycm9yYCB3aGVuIHRoZSB0eXBlIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBraW5kLlxuICAgKiBAcGFyYW0ge1NlbGVjdFNlbGVjdG9yPE0+fSBzZWxlY3RvciAtIFRoZSBhdHRyaWJ1dGUgc2VsZWN0b3IgdG8gdmFsaWRhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbnRleHQgLSBUaGUgYWdncmVnYXRpb24gY29udGV4dCB1c2VkIGluIGVycm9yIG1lc3NhZ2VzXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24oc3RyaW5nKTogYm9vbGVhbn0gcHJlZGljYXRlIC0gVHlwZSBhY2NlcHRhbmNlIHByZWRpY2F0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24gLSBIdW1hbiByZWFkYWJsZSBkZXNjcmlwdGlvbiBvZiB0aGUgYWNjZXB0ZWQgdHlwZXNcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIHByaXZhdGUgZW5zdXJlU2VsZWN0b3JUeXBlKFxuICAgIHNlbGVjdG9yOiBTZWxlY3RTZWxlY3RvcjxNPixcbiAgICBjb250ZXh0OiBzdHJpbmcsXG4gICAgcHJlZGljYXRlOiAodHlwZTogc3RyaW5nKSA9PiBib29sZWFuLFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgKSB7XG4gICAgaWYgKCF0aGlzLmZyb21TZWxlY3Rvcikge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIGAke2NvbnRleHR9IHJlcXVpcmVzIGEgdGFyZ2V0IG1vZGVsLiBDYWxsIGZyb20oKSBiZWZvcmUgYWdncmVnYXRpbmcuYFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgYXR0ciA9IHNlbGVjdG9yIGFzIHN0cmluZztcbiAgICBjb25zdCB0eXBlID0gdGhpcy5kZXRlcm1pbmVBdHRyaWJ1dGVUeXBlKFxuICAgICAgdGhpcy5mcm9tU2VsZWN0b3IsXG4gICAgICBhdHRyIGFzIGtleW9mIE1vZGVsPGZhbHNlPixcbiAgICAgIGNvbnRleHRcbiAgICApO1xuXG4gICAgaWYgKCFwcmVkaWNhdGUodHlwZSkpIHtcbiAgICAgIHRocm93IG5ldyBRdWVyeUVycm9yKFxuICAgICAgICBgJHtjb250ZXh0fSByZXF1aXJlcyBhICR7ZGVzY3JpcHRpb259IGF0dHJpYnV0ZSwgYnV0IFwiJHthdHRyfVwiIGlzICR7dHlwZSB8fCBcInVua25vd25cIn1gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVzb2x2ZXMgdGhlIGF0dHJpYnV0ZSB0eXBlIGZyb20gdGhlIG1vZGVsIG1ldGFkYXRhXG4gICAqIEBzdW1tYXJ5IFJlYWRzIHRoZSBtZXRhZGF0YSBvciBkZXNpZ24gdHlwZSBvZiB0aGUgYXR0cmlidXRlIGFuZCBub3JtYWxpemVzIGl0XG4gICAqIHRvIGEgbG93ZXJjYXNlIHR5cGUgbmFtZS5cbiAgICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxNb2RlbD59IGNsYXp6IC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyIC0gVGhlIGF0dHJpYnV0ZSBuYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZXh0IC0gVGhlIGNvbnRleHQgdXNlZCBpbiBlcnJvciBtZXNzYWdlc1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBub3JtYWxpemVkIGF0dHJpYnV0ZSB0eXBlXG4gICAqL1xuICBwcml2YXRlIGRldGVybWluZUF0dHJpYnV0ZVR5cGUoXG4gICAgY2xheno6IENvbnN0cnVjdG9yPE1vZGVsPixcbiAgICBhdHRyOiBzdHJpbmcsXG4gICAgY29udGV4dDogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJvcEtleSA9IGF0dHIgYXMga2V5b2YgTW9kZWw8ZmFsc2U+O1xuICAgIGNvbnN0IG1ldGFUeXBlID1cbiAgICAgIE1ldGFkYXRhLnR5cGUoY2xhenosIHByb3BLZXkpID8/XG4gICAgICBNZXRhZGF0YS5nZXRQcm9wRGVzaWduVHlwZXMoY2xhenosIHByb3BLZXkpPy5kZXNpZ25UeXBlO1xuICAgIGNvbnN0IHJlc29sdmVkID0gdGhpcy5ub3JtYWxpemVNZXRhVHlwZShtZXRhVHlwZSk7XG4gICAgaWYgKCFyZXNvbHZlZCkge1xuICAgICAgdGhyb3cgbmV3IFF1ZXJ5RXJyb3IoXG4gICAgICAgIGAke2NvbnRleHR9IGNvdWxkIG5vdCByZXNvbHZlIHByb3BlcnR5IHR5cGUgZm9yIFwiJHthdHRyfVwiYFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc29sdmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBOb3JtYWxpemVzIGEgcmF3IG1ldGFkYXRhIHR5cGUgdG8gYSBsb3dlcmNhc2UgdHlwZSBuYW1lXG4gICAqIEBwYXJhbSB7YW55fSBtZXRhVHlwZSAtIFRoZSByYXcgbWV0YWRhdGEgdHlwZSB2YWx1ZVxuICAgKiBAcmV0dXJuIHtzdHJpbmcgfCB1bmRlZmluZWR9IFRoZSBub3JtYWxpemVkIHR5cGUgbmFtZSwgd2hlbiByZXNvbHZhYmxlXG4gICAqL1xuICBwcml2YXRlIG5vcm1hbGl6ZU1ldGFUeXBlKG1ldGFUeXBlOiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghbWV0YVR5cGUpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgaWYgKHR5cGVvZiBtZXRhVHlwZSA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIG1ldGFUeXBlLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKHR5cGVvZiBtZXRhVHlwZSA9PT0gXCJmdW5jdGlvblwiICYmIG1ldGFUeXBlLm5hbWUpXG4gICAgICByZXR1cm4gbWV0YVR5cGUubmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFdoZXRoZXIgdGhlIGdpdmVuIHR5cGUgbmFtZSBpcyBhIG51bWVyaWMgdHlwZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3R5cGVdIC0gVGhlIG5vcm1hbGl6ZWQgdHlwZSBuYW1lXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgZm9yIFwibnVtYmVyXCIgYW5kIFwiYmlnaW50XCJcbiAgICovXG4gIHByaXZhdGUgaXNOdW1lcmljVHlwZSh0eXBlPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGUgPT09IFwibnVtYmVyXCIgfHwgdHlwZSA9PT0gXCJiaWdpbnRcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ29udmVydHMgYSB2YWx1ZSB0byBhIG51bWVyaWMgY29tcGFyYWJsZSB2YWx1ZVxuICAgKiBAc3VtbWFyeSBNYXBzIGRhdGUsIG51bWJlciBhbmQgYmlnaW50IHZhbHVlcyB0byBudW1iZXJzIGZvciBjb21wYXJpc29uIGFuZFxuICAgKiByYWlzZXMgYSBgUXVlcnlFcnJvcmAgZm9yIG1pc3Npbmcgb3IgaW5jb21wYXRpYmxlIHZhbHVlcy5cbiAgICogQHBhcmFtIHthbnl9IHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNvbnZlcnRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGF0dHJUeXBlIC0gVGhlIG5vcm1hbGl6ZWQgYXR0cmlidXRlIHR5cGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGF0dHJOYW1lIC0gVGhlIGF0dHJpYnV0ZSBuYW1lIHVzZWQgaW4gZXJyb3IgbWVzc2FnZXNcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbnRleHQgLSBUaGUgY29udGV4dCB1c2VkIGluIGVycm9yIG1lc3NhZ2VzXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbb3B0aW9uc10gLSBDb252ZXJzaW9uIG9wdGlvbnNcbiAgICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5hbGxvd051bGxdIC0gV2hldGhlciBudWxsL3VuZGVmaW5lZCB2YWx1ZXMgcmV0dXJuIG51bGwgaW5zdGVhZCBvZiByYWlzaW5nXG4gICAqIEByZXR1cm4ge251bWJlciB8IG51bGx9IFRoZSBudW1lcmljIGNvbXBhcmFibGUgdmFsdWVcbiAgICovXG4gIHByaXZhdGUgdG9Db21wYXJhYmxlVmFsdWUoXG4gICAgdmFsdWU6IGFueSxcbiAgICBhdHRyVHlwZTogc3RyaW5nLFxuICAgIGF0dHJOYW1lOiBzdHJpbmcsXG4gICAgY29udGV4dDogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiB7IGFsbG93TnVsbD86IGJvb2xlYW4gfVxuICApOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgaWYgKG9wdGlvbnM/LmFsbG93TnVsbCkgcmV0dXJuIG51bGw7XG4gICAgICB0aHJvdyBuZXcgUXVlcnlFcnJvcihgJHtjb250ZXh0fSByZXF1aXJlcyBhIHZhbHVlIGZvciBcIiR7YXR0ck5hbWV9XCJgKTtcbiAgICB9XG4gICAgc3dpdGNoIChhdHRyVHlwZSkge1xuICAgICAgY2FzZSBcImRhdGVcIjpcbiAgICAgICAgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSkge1xuICAgICAgICAgIHRocm93IG5ldyBRdWVyeUVycm9yKFxuICAgICAgICAgICAgYCR7Y29udGV4dH0gb24gZGF0ZSBhdHRyaWJ1dGUgXCIke2F0dHJOYW1lfVwiIHJlcXVpcmVzIERhdGUgdmFsdWVzYFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlLmdldFRpbWUoKTtcbiAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJudW1iZXJcIikge1xuICAgICAgICAgIHRocm93IG5ldyBRdWVyeUVycm9yKFxuICAgICAgICAgICAgYCR7Y29udGV4dH0gb24gbnVtZXJpYyBhdHRyaWJ1dGUgXCIke2F0dHJOYW1lfVwiIHJlcXVpcmVzIG51bWJlciB2YWx1ZXNgXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICBjYXNlIFwiYmlnaW50XCI6XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHJldHVybiB2YWx1ZTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJiaWdpbnRcIikgcmV0dXJuIE51bWJlcih2YWx1ZSk7XG4gICAgICAgIHRocm93IG5ldyBRdWVyeUVycm9yKFxuICAgICAgICAgIGAke2NvbnRleHR9IG9uIGJpZ2ludCBhdHRyaWJ1dGUgXCIke2F0dHJOYW1lfVwiIHJlcXVpcmVzIG51bWVyaWMgdmFsdWVzYFxuICAgICAgICApO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IFF1ZXJ5RXJyb3IoXG4gICAgICAgICAgYCR7Y29udGV4dH0gdW5zdXBwb3J0ZWQgdHlwZSBcIiR7YXR0clR5cGV9XCIgZm9yIGF0dHJpYnV0ZSBcIiR7YXR0ck5hbWV9XCJgXG4gICAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
package/lib/esm/redis/adapter.js
CHANGED
|
@@ -707,4 +707,4 @@ export class RedisAdapter extends Adapter {
|
|
|
707
707
|
}
|
|
708
708
|
Adapter.setCurrent(RedisFlavour);
|
|
709
709
|
RedisAdapter.decoration();
|
|
710
|
-
//# sourceMappingURL=adapter.js.map
|
|
710
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWRpcy9hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUNMLE9BQU8sRUFFUCxlQUFlLEVBSWYsZUFBZSxFQUVmLFFBQVEsR0FDVCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxZQUFZLEVBQXdCLE1BQU0sT0FBTyxDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsU0FBUyxFQUNULGFBQWEsRUFDYixNQUFNLEVBQ04sU0FBUyxFQUNULGFBQWEsRUFDYixhQUFhLEVBQ2IsUUFBUSxFQUNSLGNBQWMsR0FHZixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RCxPQUFPLEVBRUwsVUFBVSxFQUNWLFFBQVEsRUFDUixZQUFZLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLHVCQUFvQjtBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLDRCQUF5QjtBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLDRCQUF5QjtBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLDJCQUF3QjtBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsOEJBQTJCO0FBQ3RELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxzQkFBbUI7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsMkJBQXdCO0FBRXpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxPQUtqQztJQUdDLFlBQVksT0FBb0IsRUFBRSxFQUFFLEtBQWM7UUFDaEQsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUs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dXJjZXNDb250ZW50IjpbImltcG9ydCBcInJlZmxlY3QtbWV0YWRhdGFcIjtcbmltcG9ydCB7XG4gIEFkYXB0ZXIsXG4gIEFkYXB0ZXJGbGFncyxcbiAgQ29ubmVjdGlvbkVycm9yLFxuICBDb250ZXh0TG9jayxcbiAgQ29udGV4dHVhbEFyZ3MsXG4gIE1heWJlQ29udGV4dHVhbEFyZyxcbiAgUGVyc2lzdGVuY2VLZXlzLFxuICBSYXdSZXN1bHQsXG4gIFNlcXVlbmNlLFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IGNyZWF0ZUNsaWVudCwgdHlwZSBSZWRpc0NsaWVudFR5cGUgfSBmcm9tIFwicmVkaXNcIjtcbmltcG9ydCB7IFF1ZXJ5RXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7XG4gIEJhc2VFcnJvcixcbiAgQ29uZmxpY3RFcnJvcixcbiAgREJLZXlzLFxuICBnZW5lcmF0ZWQsXG4gIEludGVybmFsRXJyb3IsXG4gIE5vdEZvdW5kRXJyb3IsXG4gIG9uQ3JlYXRlLFxuICBvbkNyZWF0ZVVwZGF0ZSxcbiAgT3BlcmF0aW9uS2V5cyxcbiAgUHJpbWFyeUtleVR5cGUsXG59IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQge1xuICBDb25zdHJ1Y3RvcixcbiAgRGVjb3JhdGlvbixcbiAgTWV0YWRhdGEsXG4gIHByb3BNZXRhZGF0YSxcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBSYXdSZWRpc1F1ZXJ5LCBSZWRpc0NvbmZpZywgUmVkaXNDb250ZXh0LCBSZWRpc0ZsYWdzIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IFJlZGlzRGVmYXVsdFByZWZpeCwgUmVkaXNGbGF2b3VyIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBSZWRpc1N0YXRlbWVudCB9IGZyb20gXCIuL1JlZGlzU3RhdGVtZW50XCI7XG5pbXBvcnQgeyBSZWRpc1BhZ2luYXRvciB9IGZyb20gXCIuL1JlZGlzUGFnaW5hdG9yXCI7XG5pbXBvcnQgeyBSZWRpc0Rpc3BhdGNoIH0gZnJvbSBcIi4vUmVkaXNEaXNwYXRjaFwiO1xuaW1wb3J0IHsgUmVkaXNDb250ZXh0TG9jayB9IGZyb20gXCIuL1JlZGlzQ29udGV4dExvY2tcIjtcbmltcG9ydCB7IGNyZWF0ZWRCeU9uUmVkaXNDcmVhdGVVcGRhdGUgfSBmcm9tIFwiLi9oYW5kbGVyc1wiO1xuaW1wb3J0IHsgZGVzZXJpYWxpemUsIHNlcmlhbGl6ZSB9IGZyb20gXCIuL3NlcmlhbGl6YXRpb25cIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmVkaXMgYWRhcHRlciBmb3IgZGF0YSBwZXJzaXN0ZW5jZVxuICogQHN1bW1hcnkgVGhlIFJlZGlzQWRhcHRlciBpbXBsZW1lbnRzIHRoZSBwZXJzaXN0ZW5jZSBsYXllciBvbiB0b3Agb2YgUmVkaXNcbiAqIChvciBhbnkgUmVkaXMtY29tcGF0aWJsZSBzZXJ2ZXIgc3VjaCBhcyBEcmFnb25mbHlEQikuIEVhY2ggbW9kZWwgdGFibGUgaXNcbiAqIHN0b3JlZCBhcyBhIHNpbmdsZSBSZWRpcyBoYXNoIHdob3NlIGZpZWxkcyBhcmUgcmVjb3JkIGlkcyBhbmQgd2hvc2UgdmFsdWVzIGFyZVxuICogc2VyaWFsaXplZCByZWNvcmRzLiBUaGUgYWRhcHRlciBpcyBtb2RlbGxlZCBvbiB0aGUgY29yZSBSQU0gYWRhcHRlcjogcmF3IHF1ZXJpZXNcbiAqIGxvYWQgdGhlIG1hdGNoaW5nIHRhYmxlLCByZXZlcnQgZXZlcnkgcmVjb3JkIHRvIGEgbW9kZWwgYW5kIHRoZW4gYXBwbHkgdGhlIHNhbWVcbiAqIGZpbHRlcmluZywgc29ydGluZywgYWdncmVnYXRpb24gYW5kIHBhZ2luYXRpb24gbG9naWMgaW4gSmF2YVNjcmlwdC5cbiAqIGBAdHJhbnNhY3Rpb25hbCgpYCBpcyBiYWNrZWQgYnkge0BsaW5rIFJlZGlzQ29udGV4dExvY2t9LCB3aGljaCBidWZmZXJzIHdyaXRlc1xuICogb24gYSBkZWRpY2F0ZWQgY29ubmVjdGlvbiBhbmQgZmx1c2hlcyB0aGVtIGF0b21pY2FsbHkgd2l0aCBgTVVMVElgL2BFWEVDYC5cbiAqIEBjbGFzcyBSZWRpc0FkYXB0ZXJcbiAqIEBjYXRlZ29yeSBSZWRpc1xuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFkYXB0ZXIgPSBuZXcgUmVkaXNBZGFwdGVyKHsgdXJsOiBcInJlZGlzOi8vbG9jYWxob3N0OjYzNzlcIiB9KTtcbiAqIGF3YWl0IGFkYXB0ZXIuaW5pdGlhbGl6ZSgpO1xuICogY29uc3QgcmVwbyA9IG5ldyAoYWRhcHRlci5yZXBvc2l0b3J5PFVzZXI+KCkpKFVzZXIsIGFkYXB0ZXIpO1xuICogYXdhaXQgcmVwby5jcmVhdGUobmV3IFVzZXIoeyBuYW1lOiBcIkpvaG5cIiB9KSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFJlZGlzQWRhcHRlciBleHRlbmRzIEFkYXB0ZXI8XG4gIFJlZGlzQ29uZmlnLFxuICBSZWRpc0NsaWVudFR5cGUsXG4gIFJhd1JlZGlzUXVlcnksXG4gIFJlZGlzQ29udGV4dFxuPiB7XG4gIHByaXZhdGUgX3JlZGlzQ2xpZW50PzogUmVkaXNDbGllbnRUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmY6IFJlZGlzQ29uZmlnID0ge30sIGFsaWFzPzogc3RyaW5nKSB7XG4gICAgc3VwZXIoY29uZiwgUmVkaXNGbGF2b3VyLCBhbGlhcyk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgb3BlcmF0aW9uIGZsYWdzIHdpdGggYSB1c2VyIGlkZW50aXR5XG4gICAqIEBzdW1tYXJ5IEV4dGVuZHMgdGhlIGJhc2UgZmxhZ3Mgd2l0aCBhIGBVVUlEYCB1c2VkIGJ5IHRoZSBgY3JlYXRlZEJ5YCBhbmRcbiAgICogYHVwZGF0ZWRCeWAgaGFuZGxlcnMuIERlZmF1bHRzIHRvIHRoZSBjb25maWd1cmVkIGB1c2VyYCBvciB0aGUgY3VycmVudCB0aW1lLlxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlIGZvciB0aGUgb3BlcmF0aW9uXG4gICAqIEBwYXJhbSB7T3BlcmF0aW9uS2V5c30gb3BlcmF0aW9uIC0gVGhlIG9wZXJhdGlvbiBiZWluZyBwZXJmb3JtZWRcbiAgICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxNPn0gbW9kZWwgLSBUaGUgbW9kZWwgY29uc3RydWN0b3JcbiAgICogQHBhcmFtIHtQYXJ0aWFsPFJlZGlzRmxhZ3M+fSBmbGFncyAtIFBhcnRpYWwgZmxhZ3MgdG8gZXh0ZW5kXG4gICAqIEByZXR1cm4ge1Byb21pc2U8UmVkaXNGbGFncz59IFRoZSBjb21wbGV0ZSBmbGFncyB3aXRoIGEgVVVJRFxuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgZmxhZ3M8TSBleHRlbmRzIE1vZGVsPGJvb2xlYW4+PihcbiAgICBvcGVyYXRpb246IE9wZXJhdGlvbktleXMsXG4gICAgbW9kZWw6IENvbnN0cnVjdG9yPE0+LFxuICAgIGZsYWdzOiBQYXJ0aWFsPFJlZGlzRmxhZ3M+XG4gICk6IFByb21pc2U8UmVkaXNGbGFncz4ge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKFxuICAgICAgYXdhaXQgc3VwZXIuZmxhZ3MoXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgbW9kZWwsXG4gICAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAge1xuICAgICAgICAgICAgVVVJRDogZmxhZ3MuVVVJRCB8fCB0aGlzLmNvbmZpZy51c2VyIHx8IFwiXCIgKyBEYXRlLm5vdygpLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmxhZ3NcbiAgICAgICAgKVxuICAgICAgKVxuICAgICkgYXMgUmVkaXNGbGFncztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyB0aGUgUmVkaXMgZXZlbnQgZGlzcGF0Y2hlclxuICAgKiBAcmV0dXJuIHtSZWRpc0Rpc3BhdGNofSBBIFJlZGlzLWF3YXJlIGRpc3BhdGNoIGluc3RhbmNlXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgRGlzcGF0Y2goKTogUmVkaXNEaXNwYXRjaCB7XG4gICAgcmV0dXJuIG5ldyBSZWRpc0Rpc3BhdGNoKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFByb3ZpZGVzIHRoZSBSZWRpcyB0cmFuc2FjdGlvbiBsb2NrIGltcGxlbWVudGF0aW9uXG4gICAqIEBzdW1tYXJ5IFJldHVybnMgYSBmcmVzaCB7QGxpbmsgUmVkaXNDb250ZXh0TG9ja30gcGVyIHRvcC1sZXZlbCB0cmFuc2FjdGlvblxuICAgKiBzbyBgQHRyYW5zYWN0aW9uYWwoKWAgY2FuIGJ1ZmZlciB3cml0ZXMgb24gYSBkZWRpY2F0ZWQgY29ubmVjdGlvbi5cbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIE9wdGlvbmFsIGFyZ3VtZW50cyBmb3J3YXJkZWQgdG8gdGhlIGxvY2tcbiAgICogQHJldHVybiB7UmVkaXNDb250ZXh0TG9ja30gQSBmcmVzaCBSZWRpcyB0cmFuc2FjdGlvbiBsb2NrXG4gICAqL1xuICBvdmVycmlkZSB0cmFuc2FjdGlvbkxvY2soLi4uYXJnczogYW55W10pOiBSZWRpc0NvbnRleHRMb2NrPHRoaXM+IHtcbiAgICByZXR1cm4gbmV3IFJlZGlzQ29udGV4dExvY2sodGhpcywgLi4uYXJncyk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIHRoZSBhZGFwdGVyIGFuZCBvcGVucyB0aGUgUmVkaXMgY29ubmVjdGlvblxuICAgKiBAcGFyYW0gey4uLk1heWJlQ29udGV4dHVhbEFyZ30gYXJncyAtIEluaXRpYWxpemF0aW9uIGFyZ3VtZW50c1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyBvbmNlIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlXG4gICAqL1xuICBvdmVycmlkZSBhc3luYyBpbml0aWFsaXplKFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxSZWRpc0NvbnRleHQ+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBQZXJzaXN0ZW5jZUtleXMuSU5JVElBTElaQVRJT04sIHRydWUpXG4gICAgKS5mb3IodGhpcy5pbml0aWFsaXplKTtcbiAgICBjb25zdCBjbGllbnQgPSB0aGlzLmNsaWVudDtcbiAgICB0cnkge1xuICAgICAgaWYgKCFjbGllbnQuaXNPcGVuKSBhd2FpdCBjbGllbnQuY29ubmVjdCgpO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlIGFzIEVycm9yKTtcbiAgICB9XG4gICAgdGhpcy5fcmVkaXNDbGllbnQgPSBjbGllbnQ7XG4gICAgYXdhaXQgc3VwZXIuaW5pdGlhbGl6ZSguLi5hcmdzKTtcbiAgICBsb2cudmVyYm9zZShgJHt0aGlzLnRvU3RyaW5nKCl9IGluaXRpYWxpemVkYCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNodXRzIGRvd24gdGhlIGFkYXB0ZXIgYW5kIGNsb3NlcyB0aGUgUmVkaXMgY29ubmVjdGlvblxuICAgKiBAcGFyYW0gey4uLk1heWJlQ29udGV4dHVhbEFyZ30gYXJncyAtIFNodXRkb3duIGFyZ3VtZW50c1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyBvbmNlIHNodXRkb3duIGlzIGNvbXBsZXRlXG4gICAqL1xuICBvdmVycmlkZSBhc3luYyBzaHV0ZG93bihcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8UmVkaXNDb250ZXh0PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBzdXBlci5zaHV0ZG93biguLi5hcmdzKTtcbiAgICBjb25zdCBjbGllbnQgPSB0aGlzLl9yZWRpc0NsaWVudCA/PyB0aGlzLl9jbGllbnQ7XG4gICAgdGhpcy5fcmVkaXNDbGllbnQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fY2xpZW50ID0gdW5kZWZpbmVkO1xuICAgIGlmICghY2xpZW50KSByZXR1cm47XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNsaWVudC5xdWl0KCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0cnkge1xuICAgICAgICBjbGllbnQuZGVzdHJveSgpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIC8vIHRoZSBjb25uZWN0aW9uIGlzIGFscmVhZHkgY2xvc2VkOyBub3RoaW5nIGxlZnQgdG8gcmVsZWFzZVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQnVpbGRzIHRoZSBuYW1lc3BhY2VkIFJlZGlzIGtleSBmb3IgYSB0YWJsZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGUgLSBUaGUgdGFibGUgKG1vZGVsKSBuYW1lXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIG5hbWVzcGFjZWQgUmVkaXMgaGFzaCBrZXlcbiAgICovXG4gIHJlY29yZEtleSh0YWJsZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jb25maWcucHJlZml4ID8/IFJlZGlzRGVmYXVsdFByZWZpeH06JHt0YWJsZX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXNvbHZlcyB0aGUgYWN0aXZlIHRyYW5zYWN0aW9uIGxvY2sgZnJvbSBhIGNvbnRleHQsIHdoZW4gcHJlc2VudFxuICAgKiBAc3VtbWFyeSBSZXR1cm5zIHRoZSB7QGxpbmsgUmVkaXNDb250ZXh0TG9ja30gb25seSB3aGlsZSBhIHRyYW5zYWN0aW9uIGlzXG4gICAqIGFjdHVhbGx5IG9wZW4sIHNvIENSVUQgb3BlcmF0aW9ucyBidWZmZXIgdGhlaXIgd3JpdGVzIGR1cmluZyBhIHRyYW5zYWN0aW9uIGFuZFxuICAgKiBnbyBzdHJhaWdodCB0byBSZWRpcyBvdGhlcndpc2UuXG4gICAqIEBwYXJhbSB7UmVkaXNDb250ZXh0fSBbY3R4XSAtIFRoZSBvcGVyYXRpb24gY29udGV4dFxuICAgKiBAcmV0dXJuIHtSZWRpc0NvbnRleHRMb2NrIHwgdW5kZWZpbmVkfSBUaGUgYWN0aXZlIGxvY2ssIHdoZW4gb25lIGV4aXN0c1xuICAgKi9cbiAgcHJvdGVjdGVkIGFjdGl2ZUxvY2soY3R4PzogUmVkaXNDb250ZXh0KTogUmVkaXNDb250ZXh0TG9jayB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbG9jayA9IGN0eD8uZ2V0T3JVbmRlZmluZWQoXCJ0cmFuc2FjdGlvbkxvY2tcIikgYXNcbiAgICAgIHwgQ29udGV4dExvY2tcbiAgICAgIHwgdW5kZWZpbmVkO1xuICAgIHJldHVybiBsb2NrIGluc3RhbmNlb2YgUmVkaXNDb250ZXh0TG9jayAmJiBsb2NrLmFjdGl2ZSA/IGxvY2sgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFByZXBhcmVzIGEgbW9kZWwgZm9yIHN0b3JhZ2VcbiAgICogQHN1bW1hcnkgRGVsZWdhdGVzIHRvIHRoZSBiYXNlIGltcGxlbWVudGF0aW9uLCB3aGljaCBleHRyYWN0cyB0aGUgcHJpbWFyeVxuICAgKiBrZXkgZnJvbSB0aGUgcmVjb3JkIGJlZm9yZSBpdCBpcyBoYW5kZWQgdG8ge0BsaW5rIGNyZWF0ZX0uXG4gICAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGUgYmVpbmcgcHJlcGFyZWRcbiAgICogQHBhcmFtIHtNfSBtb2RlbCAtIFRoZSBtb2RlbCBpbnN0YW5jZSB0byBwcmVwYXJlXG4gICAqIEByZXR1cm4gT2JqZWN0IGNvbnRhaW5pbmcgdGhlIHJlY29yZCwgaWQgYW5kIHRyYW5zaWVudCBkYXRhXG4gICAqL1xuICBvdmVycmlkZSBwcmVwYXJlPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgbW9kZWw6IE0sXG4gICAgLi4uYXJnczogWy4uLmFueVtdLCBSZWRpc0NvbnRleHRdXG4gICk6IHtcbiAgICByZWNvcmQ6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgaWQ6IHN0cmluZztcbiAgICB0cmFuc2llbnQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICB9IHtcbiAgICBjb25zdCBjdHggPSBhcmdzLnBvcCgpO1xuICAgIHJldHVybiBzdXBlci5wcmVwYXJlKG1vZGVsLCAuLi5hcmdzLCBjdHgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDb252ZXJ0cyBhIHN0b3JlZCByZWNvcmQgYmFjayB0byBhIG1vZGVsIGluc3RhbmNlXG4gICAqIEBzdW1tYXJ5IERlbGVnYXRlcyB0byB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiwgcmVhdHRhY2hpbmcgdGhlIHByaW1hcnkga2V5XG4gICAqIGV4dHJhY3RlZCBmcm9tIHRoZSByZWNvcmQncyBSZWRpcyBoYXNoIGZpZWxkLlxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlIHRvIHJldmVydCB0b1xuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IG9iaiAtIFRoZSBzdG9yZWQgcmVjb3JkXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0b3I8TT59IGNsYXp6IC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7UHJpbWFyeUtleVR5cGV9IGlkIC0gVGhlIHByaW1hcnkga2V5IHZhbHVlXG4gICAqIEByZXR1cm4ge019IFRoZSByZWNvbnN0cnVjdGVkIG1vZGVsIGluc3RhbmNlXG4gICAqL1xuICBvdmVycmlkZSByZXZlcnQ8TSBleHRlbmRzIE1vZGVsPihcbiAgICBvYmo6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgY2xheno6IENvbnN0cnVjdG9yPE0+LFxuICAgIGlkOiBQcmltYXJ5S2V5VHlwZSxcbiAgICB0cmFuc2llbnQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIC4uLmFyZ3M6IFsuLi5hbnlbXSwgUmVkaXNDb250ZXh0XVxuICApOiBNIHtcbiAgICByZXR1cm4gc3VwZXIucmV2ZXJ0KG9iaiwgY2xhenosIGlkLCB0cmFuc2llbnQsIC4uLmFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IHJlY29yZCBpbiBSZWRpc1xuICAgKiBAc3VtbWFyeSBXcml0ZXMgdGhlIHNlcmlhbGl6ZWQgcmVjb3JkIHRvIHRoZSB0YWJsZSBoYXNoLiBJbnNpZGUgYVxuICAgKiB0cmFuc2FjdGlvbiB0aGUgd3JpdGUgaXMgYnVmZmVyZWQgKHJlYWQteW91ci13cml0ZXMpIGluc3RlYWQgb2YgaGl0dGluZ1xuICAgKiBSZWRpczsgb3RoZXJ3aXNlIGBIU0VUTlhgIGd1YXJhbnRlZXMgdGhlIHJlY29yZCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LlxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0b3I8TT59IGNsYXp6IC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7UHJpbWFyeUtleVR5cGV9IGlkIC0gVGhlIHVuaXF1ZSByZWNvcmQgaWRlbnRpZmllclxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IG1vZGVsIC0gVGhlIHJlY29yZCB0byBzdG9yZVxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+fSBUaGUgc3RvcmVkIHJlY29yZFxuICAgKi9cbiAgYXN5bmMgY3JlYXRlPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgY2xheno6IENvbnN0cnVjdG9yPE0+LFxuICAgIGlkOiBQcmltYXJ5S2V5VHlwZSxcbiAgICBtb2RlbDogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAuLi5hcmdzOiBDb250ZXh0dWFsQXJnczxSZWRpc0NvbnRleHQ+XG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIGNvbnN0IHsgbG9nLCBjdHggfSA9IHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMuY3JlYXRlKTtcbiAgICBjb25zdCB0YWJsZSA9IE1vZGVsLnRhYmxlTmFtZShjbGF6eik7XG4gICAgbG9nLmRlYnVnKGBjcmVhdGluZyByZWNvcmQgaW4gdGFibGUgJHt0YWJsZX0gd2l0aCBpZCAke2lkfWApO1xuICAgIGNvbnN0IGZpZWxkID0gU3RyaW5nKGlkKTtcbiAgICBjb25zdCBrZXkgPSB0aGlzLnJlY29yZEtleSh0YWJsZSk7XG4gICAgY29uc3QgbG9jayA9IHRoaXMuYWN0aXZlTG9jayhjdHgpO1xuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSBzZXJpYWxpemUobW9kZWwpO1xuICAgIGlmIChsb2NrKSB7XG4gICAgICBjb25zdCBidWZmZXJlZCA9IGxvY2suZ2V0UmVjb3JkKHRhYmxlLCBmaWVsZCk7XG4gICAgICBjb25zdCBleGlzdHMgPVxuICAgICAgICBidWZmZXJlZC5mb3VuZCAmJiBidWZmZXJlZC52YWx1ZSAhPT0gbnVsbFxuICAgICAgICAgID8gdHJ1ZVxuICAgICAgICAgIDogYXdhaXQgdGhpcy5jbGllbnQuaEV4aXN0cyhrZXksIGZpZWxkKTtcbiAgICAgIGlmIChleGlzdHMpXG4gICAgICAgIHRocm93IG5ldyBDb25mbGljdEVycm9yKFxuICAgICAgICAgIGBSZWNvcmQgd2l0aCBpZCAke2lkfSBhbHJlYWR5IGV4aXN0cyBpbiB0YWJsZSAke3RhYmxlfWBcbiAgICAgICAgKTtcbiAgICAgIGxvY2suc2V0UmVjb3JkKHRhYmxlLCBmaWVsZCwgc2VyaWFsaXplZCk7XG4gICAgICByZXR1cm4gbW9kZWw7XG4gICAgfVxuICAgIGNvbnN0IGNyZWF0ZWQgPSBhd2FpdCB0aGlzLmNsaWVudC5oU2V0Tlgoa2V5LCBmaWVsZCwgc2VyaWFsaXplZCk7XG4gICAgaWYgKGNyZWF0ZWQgPT09IDApXG4gICAgICB0aHJvdyBuZXcgQ29uZmxpY3RFcnJvcihcbiAgICAgICAgYFJlY29yZCB3aXRoIGlkICR7aWR9IGFscmVhZHkgZXhpc3RzIGluIHRhYmxlICR7dGFibGV9YFxuICAgICAgKTtcbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlYWRzIGEgcmVjb3JkIGZyb20gUmVkaXNcbiAgICogQHN1bW1hcnkgUmVhZHMgdGhlIHJlY29yZCBmcm9tIHRoZSB0YWJsZSBoYXNoLiBJbnNpZGUgYSB0cmFuc2FjdGlvbiB0aGVcbiAgICogYnVmZmVyZWQgdmFsdWUgd2lucyAocmVhZC15b3VyLXdyaXRlcyk7IGEgYnVmZmVyZWQgZGVsZXRlIGlzIHRyZWF0ZWQgYXMgYVxuICAgKiBtaXNzaW5nIHJlY29yZC5cbiAgICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZVxuICAgKiBAcGFyYW0ge0NvbnN0cnVjdG9yPE0+fSBjbGF6eiAtIFRoZSBtb2RlbCBjb25zdHJ1Y3RvclxuICAgKiBAcGFyYW0ge1ByaW1hcnlLZXlUeXBlfSBpZCAtIFRoZSB1bmlxdWUgcmVjb3JkIGlkZW50aWZpZXJcbiAgICogQHJldHVybiB7UHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pn0gVGhlIHN0b3JlZCByZWNvcmRcbiAgICovXG4gIGFzeW5jIHJlYWQ8TSBleHRlbmRzIE1vZGVsPihcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TT4sXG4gICAgaWQ6IFByaW1hcnlLZXlUeXBlLFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPFJlZGlzQ29udGV4dD5cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgY29uc3QgeyBsb2csIGN0eCB9ID0gdGhpcy5sb2dDdHgoYXJncywgdGhpcy5yZWFkKTtcbiAgICBjb25zdCB0YWJsZSA9IE1vZGVsLnRhYmxlTmFtZShjbGF6eik7XG4gICAgbG9nLmRlYnVnKGByZWFkaW5nIHJlY29yZCBpbiB0YWJsZSAke3RhYmxlfSB3aXRoIGlkICR7aWR9YCk7XG4gICAgY29uc3QgZmllbGQgPSBTdHJpbmcoaWQpO1xuICAgIGNvbnN0IGxvY2sgPSB0aGlzLmFjdGl2ZUxvY2soY3R4KTtcbiAgICBpZiAobG9jaykge1xuICAgICAgY29uc3QgYnVmZmVyZWQgPSBsb2NrLmdldFJlY29yZCh0YWJsZSwgZmllbGQpO1xuICAgICAgaWYgKGJ1ZmZlcmVkLmZvdW5kKSB7XG4gICAgICAgIGlmIChidWZmZXJlZC52YWx1ZSA9PT0gbnVsbClcbiAgICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihcbiAgICAgICAgICAgIGBSZWNvcmQgd2l0aCBpZCAke2lkfSBub3QgZm91bmQgaW4gdGFibGUgJHt0YWJsZX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGRlc2VyaWFsaXplKGJ1ZmZlcmVkLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcmF3ID0gYXdhaXQgdGhpcy5jbGllbnQuaEdldCh0aGlzLnJlY29yZEtleSh0YWJsZSksIGZpZWxkKTtcbiAgICBpZiAocmF3ID09PSBudWxsIHx8IHJhdyA9PT0gdW5kZWZpbmVkKVxuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoXG4gICAgICAgIGBSZWNvcmQgd2l0aCBpZCAke2lkfSBub3QgZm91bmQgaW4gdGFibGUgJHt0YWJsZX1gXG4gICAgICApO1xuICAgIHJldHVybiBkZXNlcmlhbGl6ZShyYXcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVcGRhdGVzIGFuIGV4aXN0aW5nIHJlY29yZCBpbiBSZWRpc1xuICAgKiBAc3VtbWFyeSBJbnNpZGUgYSB0cmFuc2FjdGlvbiB0aGUgd3JpdGUgaXMgYnVmZmVyZWQ7IG90aGVyd2lzZSB0aGUgcmVjb3JkXG4gICAqIGlzIG92ZXJ3cml0dGVuIGluIHBsYWNlLiBBIG1pc3NpbmcgcmVjb3JkIHJhaXNlcyBhIGBOb3RGb3VuZEVycm9yYC5cbiAgICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZVxuICAgKiBAcGFyYW0ge0NvbnN0cnVjdG9yPE0+fSBjbGF6eiAtIFRoZSBtb2RlbCBjb25zdHJ1Y3RvclxuICAgKiBAcGFyYW0ge1ByaW1hcnlLZXlUeXBlfSBpZCAtIFRoZSB1bmlxdWUgcmVjb3JkIGlkZW50aWZpZXJcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBtb2RlbCAtIFRoZSBuZXcgcmVjb3JkIGRhdGFcbiAgICogQHJldHVybiB7UHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pn0gVGhlIHVwZGF0ZWQgcmVjb3JkXG4gICAqL1xuICBhc3luYyB1cGRhdGU8TSBleHRlbmRzIE1vZGVsPihcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TT4sXG4gICAgaWQ6IFByaW1hcnlLZXlUeXBlLFxuICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPFJlZGlzQ29udGV4dD5cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgY29uc3QgeyBsb2csIGN0eCB9ID0gdGhpcy5sb2dDdHgoYXJncywgdGhpcy51cGRhdGUpO1xuICAgIGNvbnN0IHRhYmxlID0gTW9kZWwudGFibGVOYW1lKGNsYXp6KTtcbiAgICBsb2cuZGVidWcoYHVwZGF0aW5nIHJlY29yZCBpbiB0YWJsZSAke3RhYmxlfSB3aXRoIGlkICR7aWR9YCk7XG4gICAgY29uc3QgZmllbGQgPSBTdHJpbmcoaWQpO1xuICAgIGNvbnN0IGtleSA9IHRoaXMucmVjb3JkS2V5KHRhYmxlKTtcbiAgICBjb25zdCBsb2NrID0gdGhpcy5hY3RpdmVMb2NrKGN0eCk7XG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IHNlcmlhbGl6ZShtb2RlbCk7XG4gICAgaWYgKGxvY2spIHtcbiAgICAgIGNvbnN0IGJ1ZmZlcmVkID0gbG9jay5nZXRSZWNvcmQodGFibGUsIGZpZWxkKTtcbiAgICAgIGNvbnN0IGRlbGV0ZWQgPSBidWZmZXJlZC5mb3VuZCAmJiBidWZmZXJlZC52YWx1ZSA9PT0gbnVsbDtcbiAgICAgIGNvbnN0IGV4aXN0cyA9XG4gICAgICAgIGRlbGV0ZWQgfHwgYnVmZmVyZWQuZm91bmRcbiAgICAgICAgICA/ICFkZWxldGVkXG4gICAgICAgICAgOiBhd2FpdCB0aGlzLmNsaWVudC5oRXhpc3RzKGtleSwgZmllbGQpO1xuICAgICAgaWYgKCFleGlzdHMpXG4gICAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKFxuICAgICAgICAgIGBSZWNvcmQgd2l0aCBpZCAke2lkfSBub3QgZm91bmQgaW4gdGFibGUgJHt0YWJsZX1gXG4gICAgICAgICk7XG4gICAgICBsb2NrLnNldFJlY29yZCh0YWJsZSwgZmllbGQsIHNlcmlhbGl6ZWQpO1xuICAgICAgcmV0dXJuIG1vZGVsO1xuICAgIH1cbiAgICBjb25zdCBleGlzdHMgPSBhd2FpdCB0aGlzLmNsaWVudC5oRXhpc3RzKGtleSwgZmllbGQpO1xuICAgIGlmICghZXhpc3RzKVxuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoXG4gICAgICAgIGBSZWNvcmQgd2l0aCBpZCAke2lkfSBub3QgZm91bmQgaW4gdGFibGUgJHt0YWJsZX1gXG4gICAgICApO1xuICAgIGF3YWl0IHRoaXMuY2xpZW50LmhTZXQoa2V5LCBmaWVsZCwgc2VyaWFsaXplZCk7XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEZWxldGVzIGEgcmVjb3JkIGZyb20gUmVkaXNcbiAgICogQHN1bW1hcnkgSW5zaWRlIGEgdHJhbnNhY3Rpb24gdGhlIGRlbGV0ZSBpcyBidWZmZXJlZDsgb3RoZXJ3aXNlIHRoZSBmaWVsZFxuICAgKiBpcyByZW1vdmVkIGZyb20gdGhlIHRhYmxlIGhhc2ggaW1tZWRpYXRlbHkuIEEgbWlzc2luZyByZWNvcmQgcmFpc2VzIGFcbiAgICogYE5vdEZvdW5kRXJyb3JgLlxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0b3I8TT59IGNsYXp6IC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7UHJpbWFyeUtleVR5cGV9IGlkIC0gVGhlIHVuaXF1ZSByZWNvcmQgaWRlbnRpZmllclxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+fSBUaGUgZGVsZXRlZCByZWNvcmRcbiAgICovXG4gIGFzeW5jIGRlbGV0ZTxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIGNsYXp6OiBDb25zdHJ1Y3RvcjxNPixcbiAgICBpZDogUHJpbWFyeUtleVR5cGUsXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8UmVkaXNDb250ZXh0PlxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBjb25zdCB7IGxvZywgY3R4IH0gPSB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLmRlbGV0ZSk7XG4gICAgY29uc3QgdGFibGUgPSBNb2RlbC50YWJsZU5hbWUoY2xhenopO1xuICAgIGxvZy5kZWJ1ZyhgZGVsZXRpbmcgcmVjb3JkIGZyb20gdGFibGUgJHt0YWJsZX0gd2l0aCBpZCAke2lkfWApO1xuICAgIGNvbnN0IGZpZWxkID0gU3RyaW5nKGlkKTtcbiAgICBjb25zdCBrZXkgPSB0aGlzLnJlY29yZEtleSh0YWJsZSk7XG4gICAgY29uc3QgbG9jayA9IHRoaXMuYWN0aXZlTG9jayhjdHgpO1xuICAgIGlmIChsb2NrKSB7XG4gICAgICBjb25zdCBidWZmZXJlZCA9IGxvY2suZ2V0UmVjb3JkKHRhYmxlLCBmaWVsZCk7XG4gICAgICBjb25zdCByYXcgPSBidWZmZXJlZC5mb3VuZFxuICAgICAgICA/IGJ1ZmZlcmVkLnZhbHVlXG4gICAgICAgIDogYXdhaXQgdGhpcy5jbGllbnQuaEdldChrZXksIGZpZWxkKTtcbiAgICAgIGlmIChyYXcgPT09IG51bGwgfHwgcmF3ID09PSB1bmRlZmluZWQpXG4gICAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKFxuICAgICAgICAgIGBSZWNvcmQgd2l0aCBpZCAke2lkfSBub3QgZm91bmQgaW4gdGFibGUgJHt0YWJsZX1gXG4gICAgICAgICk7XG4gICAgICBsb2NrLmRlbGV0ZVJlY29yZCh0YWJsZSwgZmllbGQpO1xuICAgICAgcmV0dXJuIGRlc2VyaWFsaXplKHJhdyk7XG4gICAgfVxuICAgIGNvbnN0IHJhdyA9IGF3YWl0IHRoaXMuY2xpZW50LmhHZXQoa2V5LCBmaWVsZCk7XG4gICAgaWYgKHJhdyA9PT0gbnVsbCB8fCByYXcgPT09IHVuZGVmaW5lZClcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKFxuICAgICAgICBgUmVjb3JkIHdpdGggaWQgJHtpZH0gbm90IGZvdW5kIGluIHRhYmxlICR7dGFibGV9YFxuICAgICAgKTtcbiAgICBhd2FpdCB0aGlzLmNsaWVudC5oRGVsKGtleSwgZmllbGQpO1xuICAgIHJldHVybiBkZXNlcmlhbGl6ZShyYXcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBMb2FkcyBldmVyeSByZWNvcmQgb2YgYSB0YWJsZSwgYXBwbHlpbmcgYnVmZmVyZWQgd3JpdGVzXG4gICAqIEBzdW1tYXJ5IFJlYWRzIHRoZSB0YWJsZSBoYXNoIGFuZCBtZXJnZXMgdGhlIHRyYW5zYWN0aW9uIGJ1ZmZlciBvbiB0b3Agc28gYVxuICAgKiBxdWVyeSBpbnNpZGUgYSB0cmFuc2FjdGlvbiBvYnNlcnZlcyB0aGUgdHJhbnNhY3Rpb24ncyBvd24gd3JpdGVzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGUgLSBUaGUgdGFibGUgKG1vZGVsKSBuYW1lXG4gICAqIEBwYXJhbSB7UmVkaXNDb250ZXh0fSBbY3R4XSAtIFRoZSBvcGVyYXRpb24gY29udGV4dFxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFtzdHJpbmcsIHN0cmluZ11bXT59IFRoZSByZWNvcmQgaWQvc2VyaWFsaXplZCBwYWlyc1xuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGxvYWRUYWJsZShcbiAgICB0YWJsZTogc3RyaW5nLFxuICAgIGN0eD86IFJlZGlzQ29udGV4dFxuICApOiBQcm9taXNlPFtzdHJpbmcsIHN0cmluZ11bXT4ge1xuICAgIGNvbnN0IHJhdyA9IGF3YWl0IHRoaXMuY2xpZW50LmhHZXRBbGwodGhpcy5yZWNvcmRLZXkodGFibGUpKTtcbiAgICBjb25zdCBtZXJnZWQgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihPYmplY3QuZW50cmllcyhyYXcpKTtcbiAgICBjb25zdCBsb2NrID0gdGhpcy5hY3RpdmVMb2NrKGN0eCk7XG4gICAgaWYgKGxvY2spIHtcbiAgICAgIGNvbnN0IGJ1ZmZlcmVkID0gbG9jay50YWJsZUVudHJpZXModGFibGUpO1xuICAgICAgaWYgKGJ1ZmZlcmVkKSB7XG4gICAgICAgIGZvciAoY29uc3QgW2lkLCB2YWx1ZV0gb2YgYnVmZmVyZWQpIHtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIG1lcmdlZC5kZWxldGUoaWQpO1xuICAgICAgICAgIGVsc2UgbWVyZ2VkLnNldChpZCwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbLi4ubWVyZ2VkLmVudHJpZXMoKV07XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGEgcmF3IHF1ZXJ5IGFnYWluc3QgUmVkaXNcbiAgICogQHN1bW1hcnkgTG9hZHMgdGhlIG1hdGNoaW5nIHRhYmxlLCByZXZlcnRzIGV2ZXJ5IHJlY29yZCB0byBhIG1vZGVsIGFuZFxuICAgKiBhcHBsaWVzIHRoZSBpbi1tZW1vcnkgZmlsdGVyaW5nLCBzb3J0aW5nLCBhZ2dyZWdhdGlvbiBhbmQgcGFnaW5hdGlvbiBsb2dpYy5cbiAgICogVGhpcyBtaXJyb3JzIHRoZSBjb3JlIFJBTSBhZGFwdGVyLCBzaW5jZSBSZWRpcyBoYXNoZXMgYXJlIG5vdCBxdWVyeWFibGUuXG4gICAqIEB0ZW1wbGF0ZSBSIC0gVGhlIHF1ZXJ5IHJldHVybiB0eXBlXG4gICAqIEB0ZW1wbGF0ZSBEIC0gV2hldGhlciBvbmx5IGRvY3VtZW50cyBhcmUgcmV0dXJuZWRcbiAgICogQHBhcmFtIHtSYXdSZWRpc1F1ZXJ5PGFueT59IHJhd0lucHV0IC0gVGhlIHF1ZXJ5IHNwZWNpZmljYXRpb25cbiAgICogQHBhcmFtIHtEfSBkb2NzT25seSAtIFdoZXRoZXIgdG8gcmV0dXJuIG9ubHkgZG9jdW1lbnRzIChkZWZhdWx0IHRydWUpXG4gICAqIEByZXR1cm4ge1Byb21pc2U8UmF3UmVzdWx0PFIsIEQ+Pn0gVGhlIHF1ZXJ5IHJlc3VsdFxuICAgKi9cbiAgYXN5bmMgcmF3PFIsIEQgZXh0ZW5kcyBib29sZWFuPihcbiAgICByYXdJbnB1dDogUmF3UmVkaXNRdWVyeTxhbnk+LFxuICAgIGRvY3NPbmx5OiBEID0gdHJ1ZSBhcyBELFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPFJlZGlzQ29udGV4dD5cbiAgKTogUHJvbWlzZTxSYXdSZXN1bHQ8UiwgRD4+IHtcbiAgICBjb25zdCB7IGxvZywgY3R4IH0gPSB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLnJhdyk7XG4gICAgbG9nLmRlYnVnKGBwZXJmb3JtaW5nIHJhdyBxdWVyeTogJHtKU09OLnN0cmluZ2lmeShyYXdJbnB1dCl9YCk7XG5cbiAgICBjb25zdCB7XG4gICAgICB3aGVyZSxcbiAgICAgIHNvcnQsXG4gICAgICBsaW1pdCxcbiAgICAgIHNraXAsXG4gICAgICBmcm9tLFxuICAgICAgZ3JvdXBCeSxcbiAgICAgIGNvdW50OiBjb3VudEZpZWxkLFxuICAgICAgY291bnREaXN0aW5jdDogY291bnREaXN0aW5jdEZpZWxkLFxuICAgICAgbWluOiBtaW5GaWVsZCxcbiAgICAgIG1heDogbWF4RmllbGQsXG4gICAgICBzdW06IHN1bUZpZWxkLFxuICAgICAgYXZnOiBhdmdGaWVsZCxcbiAgICAgIGRpc3RpbmN0OiBkaXN0aW5jdEZpZWxkLFxuICAgIH0gPSByYXdJbnB1dDtcbiAgICBsZXQgeyBzZWxlY3QgfSA9IHJhd0lucHV0O1xuICAgIGNvbnN0IHRhYmxlID0gTW9kZWwudGFibGVOYW1lKGZyb20pO1xuICAgIGNvbnN0IGVudHJpZXMgPSBhd2FpdCB0aGlzLmxvYWRUYWJsZSh0YWJsZSwgY3R4KTtcbiAgICBjb25zdCBjbGF6eiA9IGZyb207XG4gICAgY29uc3QgaWQgPSBNb2RlbC5wayhmcm9tKTtcbiAgICBjb25zdCBwcm9wcyA9IE1ldGFkYXRhLmdldChmcm9tLCBNZXRhZGF0YS5rZXkoREJLZXlzLklELCBpZCBhcyBzdHJpbmcpKTtcblxuICAgIGxldCByZXN1bHQ6IGFueVtdID0gZW50cmllcy5tYXAoKFtwaywgcl0pID0+XG4gICAgICB0aGlzLnJldmVydChcbiAgICAgICAgZGVzZXJpYWxpemUociksXG4gICAgICAgIGZyb20sXG4gICAgICAgIFNlcXVlbmNlLnBhcnNlVmFsdWUocHJvcHMudHlwZSBhcyBhbnksIHBrIGFzIHN0cmluZykgYXMgc3RyaW5nLFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIGN0eFxuICAgICAgKVxuICAgICk7XG4gICAgaWYgKHNvcnQpIHJlc3VsdCA9IHJlc3VsdC5zb3J0KHNvcnQpO1xuXG4gICAgcmVzdWx0ID0gd2hlcmUgPyByZXN1bHQuZmlsdGVyKHdoZXJlKSA6IHJlc3VsdDtcblxuICAgIGlmIChcImNvdW50XCIgaW4gcmF3SW5wdXQpIHtcbiAgICAgIGlmICghY291bnRGaWVsZCkgcmV0dXJuIHJlc3VsdC5sZW5ndGggYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgICBjb25zdCBjb3VudCA9IHJlc3VsdC5maWx0ZXIoXG4gICAgICAgIChyKSA9PlxuICAgICAgICAgIHJbY291bnRGaWVsZCBhcyBzdHJpbmddICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICByW2NvdW50RmllbGQgYXMgc3RyaW5nXSAhPT0gbnVsbFxuICAgICAgKS5sZW5ndGg7XG4gICAgICByZXR1cm4gY291bnQgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgfVxuXG4gICAgaWYgKGNvdW50RGlzdGluY3RGaWVsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBzZWVuID0gbmV3IFNldCgpO1xuICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHJlc3VsdCkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGl0ZW1bY291bnREaXN0aW5jdEZpZWxkIGFzIHN0cmluZ107XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKVxuICAgICAgICAgIHNlZW4uYWRkKEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc2Vlbi5zaXplIGFzIHVua25vd24gYXMgUmF3UmVzdWx0PFIsIEQ+O1xuICAgIH1cblxuICAgIGlmIChtaW5GaWVsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmVuc3VyZUZpZWxkVHlwZShcbiAgICAgICAgY2xhenosXG4gICAgICAgIG1pbkZpZWxkIGFzIHN0cmluZyxcbiAgICAgICAgXCJNSU4gb3BlcmF0aW9uXCIsXG4gICAgICAgICh0eXBlKSA9PiB0aGlzLmlzTnVtZXJpY1R5cGUodHlwZSkgfHwgdHlwZSA9PT0gXCJkYXRlXCIsXG4gICAgICAgIFwibnVtZXJpYyBvciBkYXRlXCJcbiAgICAgICk7XG4gICAgICBpZiAocmVzdWx0Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGwgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgICBjb25zdCB2YWx1ZXMgPSByZXN1bHRcbiAgICAgICAgLm1hcCgocikgPT4gclttaW5GaWVsZCBhcyBzdHJpbmddKVxuICAgICAgICAuZmlsdGVyKCh2KSA9PiB2ICE9PSB1bmRlZmluZWQgJiYgdiAhPT0gbnVsbCk7XG4gICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGwgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgICBsZXQgbWluVmFsdWUgPSB2YWx1ZXNbMF07XG4gICAgICBmb3IgKGNvbnN0IHYgb2YgdmFsdWVzKSB7XG4gICAgICAgIGNvbnN0IGNvbXBhcmlzb24gPVxuICAgICAgICAgIHYgaW5zdGFuY2VvZiBEYXRlXG4gICAgICAgICAgICA/IHYuZ2V0VGltZSgpXG4gICAgICAgICAgICA6IHR5cGVvZiB2ID09PSBcImJpZ2ludFwiXG4gICAgICAgICAgICAgID8gTnVtYmVyKHYpXG4gICAgICAgICAgICAgIDogTnVtYmVyKHYpO1xuICAgICAgICBjb25zdCBtaW5Db21wYXJpc29uID1cbiAgICAgICAgICBtaW5WYWx1ZSBpbnN0YW5jZW9mIERhdGVcbiAgICAgICAgICAgID8gbWluVmFsdWUuZ2V0VGltZSgpXG4gICAgICAgICAgICA6IHR5cGVvZiBtaW5WYWx1ZSA9PT0gXCJiaWdpbnRcIlxuICAgICAgICAgICAgICA/IE51bWJlcihtaW5WYWx1ZSlcbiAgICAgICAgICAgICAgOiBOdW1iZXIobWluVmFsdWUpO1xuICAgICAgICBpZiAoY29tcGFyaXNvbiA8IG1pbkNvbXBhcmlzb24pIG1pblZhbHVlID0gdjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtaW5WYWx1ZSBhcyB1bmtub3duIGFzIFJhd1Jlc3VsdDxSLCBEPjtcbiAgICB9XG5cbiAgICBpZiAobWF4RmllbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5lbnN1cmVGaWVsZFR5cGUoXG4gICAgICAgIGNsYXp6LFxuICAgICAgICBtYXhGaWVsZCBhcyBzdHJpbmcsXG4gICAgICAgIFwiTUFYIG9wZXJhdGlvblwiLFxuICAgICAgICAodHlwZSkgPT4gdGhpcy5pc051bWVyaWNUeXBlKHR5cGUpIHx8IHR5cGUgPT09IFwiZGF0ZVwiLFxuICAgICAgICBcIm51bWVyaWMgb3IgZGF0ZVwiXG4gICAgICApO1xuICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPT09IDApIHJldHVybiBudWxsIGFzIHVua25vd24gYXMgUmF3UmVzdWx0PFIsIEQ+O1xuICAgICAgY29uc3QgdmFsdWVzID0gcmVzdWx0XG4gICAgICAgIC5tYXAoKHIpID0+IHJbbWF4RmllbGQgYXMgc3RyaW5nXSlcbiAgICAgICAgLmZpbHRlcigodikgPT4gdiAhPT0gdW5kZWZpbmVkICYmIHYgIT09IG51bGwpO1xuICAgICAgaWYgKHZhbHVlcy5sZW5ndGggPT09IDApIHJldHVybiBudWxsIGFzIHVua25vd24gYXMgUmF3UmVzdWx0PFIsIEQ+O1xuICAgICAgbGV0IG1heFZhbHVlID0gdmFsdWVzWzBdO1xuICAgICAgZm9yIChjb25zdCB2IG9mIHZhbHVlcykge1xuICAgICAgICBjb25zdCBjb21wYXJpc29uID1cbiAgICAgICAgICB2IGluc3RhbmNlb2YgRGF0ZVxuICAgICAgICAgICAgPyB2LmdldFRpbWUoKVxuICAgICAgICAgICAgOiB0eXBlb2YgdiA9PT0gXCJiaWdpbnRcIlxuICAgICAgICAgICAgICA/IE51bWJlcih2KVxuICAgICAgICAgICAgICA6IE51bWJlcih2KTtcbiAgICAgICAgY29uc3QgbWF4Q29tcGFyaXNvbiA9XG4gICAgICAgICAgbWF4VmFsdWUgaW5zdGFuY2VvZiBEYXRlXG4gICAgICAgICAgICA/IG1heFZhbHVlLmdldFRpbWUoKVxuICAgICAgICAgICAgOiB0eXBlb2YgbWF4VmFsdWUgPT09IFwiYmlnaW50XCJcbiAgICAgICAgICAgICAgPyBOdW1iZXIobWF4VmFsdWUpXG4gICAgICAgICAgICAgIDogTnVtYmVyKG1heFZhbHVlKTtcbiAgICAgICAgaWYgKGNvbXBhcmlzb24gPiBtYXhDb21wYXJpc29uKSBtYXhWYWx1ZSA9IHY7XG4gICAgICB9XG4gICAgICByZXR1cm4gbWF4VmFsdWUgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgfVxuXG4gICAgaWYgKHN1bUZpZWxkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZW5zdXJlRmllbGRUeXBlKFxuICAgICAgICBjbGF6eixcbiAgICAgICAgc3VtRmllbGQgYXMgc3RyaW5nLFxuICAgICAgICBcIlNVTSBvcGVyYXRpb25cIixcbiAgICAgICAgKHR5cGUpID0+IHRoaXMuaXNOdW1lcmljVHlwZSh0eXBlKSxcbiAgICAgICAgXCJudW1lcmljXCJcbiAgICAgICk7XG4gICAgICBpZiAocmVzdWx0Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGwgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgICBjb25zdCB2YWx1ZXMgPSByZXN1bHRcbiAgICAgICAgLm1hcCgocikgPT4gcltzdW1GaWVsZCBhcyBzdHJpbmddKVxuICAgICAgICAuZmlsdGVyKCh2KSA9PiB2ICE9PSB1bmRlZmluZWQgJiYgdiAhPT0gbnVsbCk7XG4gICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGwgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgICBjb25zdCBzdW0gPSB2YWx1ZXMucmVkdWNlKFxuICAgICAgICAoYWNjLCB2KSA9PlxuICAgICAgICAgIGFjYyArIHRoaXMudG9OdW1lcmljVmFsdWUodiwgc3VtRmllbGQgYXMgc3RyaW5nLCBcIlNVTSBvcGVyYXRpb25cIiksXG4gICAgICAgIDBcbiAgICAgICk7XG4gICAgICByZXR1cm4gc3VtIGFzIHVua25vd24gYXMgUmF3UmVzdWx0PFIsIEQ+O1xuICAgIH1cblxuICAgIGlmIChhdmdGaWVsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBmaWVsZFR5cGUgPSB0aGlzLnJlc29sdmVGaWVsZFR5cGUoY2xhenosIGF2Z0ZpZWxkIGFzIHN0cmluZyk7XG4gICAgICBjb25zdCBpc0RhdGVGaWVsZCA9IGZpZWxkVHlwZSA9PT0gXCJkYXRlXCI7XG4gICAgICB0aGlzLmVuc3VyZUZpZWxkVHlwZShcbiAgICAgICAgY2xhenosXG4gICAgICAgIGF2Z0ZpZWxkIGFzIHN0cmluZyxcbiAgICAgICAgXCJBVkcgb3BlcmF0aW9uXCIsXG4gICAgICAgICh0eXBlKSA9PiB0aGlzLmlzTnVtZXJpY1R5cGUodHlwZSkgfHwgdHlwZSA9PT0gXCJkYXRlXCIsXG4gICAgICAgIFwibnVtZXJpYyBvciBkYXRlXCJcbiAgICAgICk7XG4gICAgICBpZiAocmVzdWx0Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGwgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgICBjb25zdCB2YWx1ZXMgPSByZXN1bHRcbiAgICAgICAgLm1hcCgocikgPT4gclthdmdGaWVsZCBhcyBzdHJpbmddKVxuICAgICAgICAuZmlsdGVyKCh2KSA9PiB2ICE9PSB1bmRlZmluZWQgJiYgdiAhPT0gbnVsbCk7XG4gICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGwgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgICBpZiAoaXNEYXRlRmllbGQpIHtcbiAgICAgICAgY29uc3QgdGltZXN0YW1wcyA9IHZhbHVlcy5tYXAoKHYpID0+XG4gICAgICAgICAgdiBpbnN0YW5jZW9mIERhdGUgPyB2LmdldFRpbWUoKSA6IG5ldyBEYXRlKHYpLmdldFRpbWUoKVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBhdmdUaW1lc3RhbXAgPVxuICAgICAgICAgIHRpbWVzdGFtcHMucmVkdWNlKChhY2MsIHQpID0+IGFjYyArIHQsIDApIC8gdGltZXN0YW1wcy5sZW5ndGg7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShhdmdUaW1lc3RhbXApIGFzIHVua25vd24gYXMgUmF3UmVzdWx0PFIsIEQ+O1xuICAgICAgfVxuICAgICAgY29uc3QgdG90YWwgPSB2YWx1ZXMucmVkdWNlKFxuICAgICAgICAoYWNjLCB2KSA9PlxuICAgICAgICAgIGFjYyArIHRoaXMudG9OdW1lcmljVmFsdWUodiwgYXZnRmllbGQgYXMgc3RyaW5nLCBcIkFWRyBvcGVyYXRpb25cIiksXG4gICAgICAgIDBcbiAgICAgICk7XG4gICAgICByZXR1cm4gKHRvdGFsIC8gdmFsdWVzLmxlbmd0aCkgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgfVxuXG4gICAgaWYgKGRpc3RpbmN0RmllbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3Qgc2VlbiA9IG5ldyBTZXQoKTtcbiAgICAgIGNvbnN0IGRpc3RpbmN0UmVzdWx0czogYW55W10gPSBbXTtcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiByZXN1bHQpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBpdGVtW2Rpc3RpbmN0RmllbGQgYXMgc3RyaW5nXTtcbiAgICAgICAgY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICBpZiAoIXNlZW4uaGFzKGtleSkpIHtcbiAgICAgICAgICBzZWVuLmFkZChrZXkpO1xuICAgICAgICAgIGRpc3RpbmN0UmVzdWx0cy5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGRpc3RpbmN0UmVzdWx0cyBhcyB1bmtub3duIGFzIFJhd1Jlc3VsdDxSLCBEPjtcbiAgICB9XG5cbiAgICBsZXQgY291bnQ6IG51bWJlcjtcbiAgICBsZXQgb3V0cHV0OiBhbnlbXSB8IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgaWYgKGdyb3VwQnkgJiYgZ3JvdXBCeS5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGdyb3VwZWQgPSB0aGlzLmdyb3VwUmVjb3JkcyhyZXN1bHQsIGdyb3VwQnkgYXMgKGtleW9mIE1vZGVsKVtdKTtcbiAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhncm91cGVkKTtcbiAgICAgIGNvdW50ID0ga2V5cy5sZW5ndGg7XG4gICAgICBvdXRwdXQgPSB0aGlzLmFwcGx5R3JvdXBQYWdpbmF0aW9uKGdyb3VwZWQsIHNraXAsIGxpbWl0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY291bnQgPSByZXN1bHQubGVuZ3RoO1xuICAgICAgbGV0IHBhZ2VkID0gcmVzdWx0O1xuICAgICAgaWYgKHNraXApIHBhZ2VkID0gcGFnZWQuc2xpY2Uoc2tpcCk7XG4gICAgICBpZiAobGltaXQpIHBhZ2VkID0gcGFnZWQuc2xpY2UoMCwgbGltaXQpO1xuICAgICAgb3V0cHV0ID0gcGFnZWQ7XG4gICAgfVxuXG4gICAgaWYgKHNlbGVjdCAmJiAhKGdyb3VwQnkgJiYgZ3JvdXBCeS5sZW5ndGgpKSB7XG4gICAgICBzZWxlY3QgPSBBcnJheS5pc0FycmF5KHNlbGVjdCkgPyBzZWxlY3QgOiBbc2VsZWN0XTtcbiAgICAgIG91dHB1dCA9IChvdXRwdXQgYXMgYW55W10pLm1hcCgocm93KSA9PlxuICAgICAgICBPYmplY3QuZW50cmllcyhyb3cpLnJlZHVjZSgoYWNjOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBba2V5LCB2YWxdKSA9PiB7XG4gICAgICAgICAgaWYgKChzZWxlY3QgYXMgc3RyaW5nW10pLmluY2x1ZGVzKGtleSkpIGFjY1trZXldID0gdmFsO1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHt9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoZG9jc09ubHkpIHJldHVybiBvdXRwdXQgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgcmV0dXJuIHsgZGF0YTogb3V0cHV0LCBjb3VudCB9IGFzIFJhd1Jlc3VsdDxSLCBEPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gR3JvdXBzIHJlY29yZHMgYnkgb25lIG9yIG1vcmUgYXR0cmlidXRlc1xuICAgKiBAc3VtbWFyeSBSZWN1cnNpdmVseSBuZXN0cyBncm91cHMgd2hlbiBtdWx0aXBsZSBzZWxlY3RvcnMgYXJlIHByb3ZpZGVkOyB0aGVcbiAgICogdG9wLWxldmVsIHJlc3VsdCBtYXBzIGVhY2ggZ3JvdXAga2V5IHRvIHRoZSBtYXRjaGluZyByZWNvcmRzIChvciBuZXN0ZWQgZ3JvdXBzKS5cbiAgICogQHBhcmFtIHthbnlbXX0gcmVjb3JkcyAtIFRoZSByZWNvcmRzIHRvIGdyb3VwXG4gICAqIEBwYXJhbSB7KGtleW9mIE1vZGVsKVtdfSBzZWxlY3RvcnMgLSBUaGUgYXR0cmlidXRlcyB0byBncm91cCBieVxuICAgKiBAcmV0dXJuIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBUaGUgZ3JvdXBlZCByZWNvcmRzIGtleWVkIGJ5IG5vcm1hbGl6ZWQgZ3JvdXAga2V5c1xuICAgKi9cbiAgcHJpdmF0ZSBncm91cFJlY29yZHMoXG4gICAgcmVjb3JkczogYW55W10sXG4gICAgc2VsZWN0b3JzOiAoa2V5b2YgTW9kZWwpW11cbiAgKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgaWYgKCFzZWxlY3RvcnMubGVuZ3RoKSByZXR1cm4gcmVjb3JkcyBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGNvbnN0IFtjdXJyZW50LCAuLi5yZXN0XSA9IHNlbGVjdG9ycztcbiAgICBjb25zdCBncm91cGVkOiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICBjb25zdCBrZXkgPSB0aGlzLm5vcm1hbGl6ZUdyb3VwS2V5KHJlY29yZFtjdXJyZW50IGFzIHN0cmluZ10pO1xuICAgICAgaWYgKCFncm91cGVkW2tleV0pIGdyb3VwZWRba2V5XSA9IFtdO1xuICAgICAgZ3JvdXBlZFtrZXldLnB1c2gocmVjb3JkKTtcbiAgICB9XG4gICAgaWYgKCFyZXN0Lmxlbmd0aCkgcmV0dXJuIGdyb3VwZWQ7XG4gICAgY29uc3QgbmVzdGVkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZXNdIG9mIE9iamVjdC5lbnRyaWVzKGdyb3VwZWQpKSB7XG4gICAgICBuZXN0ZWRba2V5XSA9IHRoaXMuZ3JvdXBSZWNvcmRzKHZhbHVlcywgcmVzdCk7XG4gICAgfVxuICAgIHJldHVybiBuZXN0ZWQ7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE5vcm1hbGl6ZXMgYSBncm91cCBrZXkgdG8gYSBzdHJpbmdcbiAgICogQHN1bW1hcnkgUHJvZHVjZXMgYSBzdGFibGUgc3RyaW5nIGtleSBmb3IgYHVuZGVmaW5lZGAsIGBudWxsYCwgc3ltYm9scyxcbiAgICogb2JqZWN0cyAodmlhIEpTT04pIGFuZCBwcmltaXRpdmVzLlxuICAgKiBAcGFyYW0ge2FueX0gdmFsdWUgLSBUaGUgcmF3IGdyb3VwIGtleSB2YWx1ZVxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBub3JtYWxpemVkIGtleVxuICAgKi9cbiAgcHJpdmF0ZSBub3JtYWxpemVHcm91cEtleSh2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuIFwidW5kZWZpbmVkXCI7XG4gICAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1cm4gXCJudWxsXCI7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzeW1ib2xcIikgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFwcGxpZXMgc2tpcC9saW1pdCBwYWdpbmF0aW9uIG92ZXIgZ3JvdXBlZCByZXN1bHRzXG4gICAqIEBzdW1tYXJ5IFBhZ2VzIHRoZSBncm91cCBrZXlzIHdoaWxlIHByZXNlcnZpbmcgdGhlaXIgYXNzb2NpYXRlZCByZWNvcmRzLlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IGdyb3VwZWQgLSBUaGUgZ3JvdXBlZCByZWNvcmRzXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbc2tpcF0gLSBUaGUgbnVtYmVyIG9mIGdyb3VwcyB0byBza2lwXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbbGltaXRdIC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIGdyb3VwcyB0byByZXR1cm5cbiAgICogQHJldHVybiB7UmVjb3JkPHN0cmluZywgYW55Pn0gVGhlIHBhZ2VkIGdyb3Vwc1xuICAgKi9cbiAgcHJpdmF0ZSBhcHBseUdyb3VwUGFnaW5hdGlvbihcbiAgICBncm91cGVkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIHNraXA/OiBudW1iZXIsXG4gICAgbGltaXQ/OiBudW1iZXJcbiAgKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgaWYgKHR5cGVvZiBza2lwID09PSBcInVuZGVmaW5lZFwiICYmIHR5cGVvZiBsaW1pdCA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgIHJldHVybiBncm91cGVkO1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhncm91cGVkKTtcbiAgICBjb25zdCBzdGFydCA9IHNraXAgPz8gMDtcbiAgICBjb25zdCBlbmQgPSB0eXBlb2YgbGltaXQgPT09IFwidW5kZWZpbmVkXCIgPyB1bmRlZmluZWQgOiBzdGFydCArIGxpbWl0O1xuICAgIGNvbnN0IHBhZ2VkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cy5zbGljZShzdGFydCwgZW5kKSkge1xuICAgICAgcGFnZWRba2V5XSA9IGdyb3VwZWRba2V5XTtcbiAgICB9XG4gICAgcmV0dXJuIHBhZ2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBQYXJzZXMgYW5kIGNvbnZlcnRzIGVycm9ycyB0byBhcHByb3ByaWF0ZSB0eXBlc1xuICAgKiBAc3VtbWFyeSBSZXR1cm5zIGBCYXNlRXJyb3JgIGluc3RhbmNlcyB1bmNoYW5nZWQsIG1hcHMgY29ubmVjdGlvblxuICAgKiBmYWlsdXJlcyB0byBgQ29ubmVjdGlvbkVycm9yYCBhbmQgd3JhcHMgZXZlcnl0aGluZyBlbHNlIGluIGFuXG4gICAqIGBJbnRlcm5hbEVycm9yYC5cbiAgICogQHRlbXBsYXRlIFYgLSBUaGUgZXhwZWN0ZWQgZXJyb3IgdHlwZVxuICAgKiBAcGFyYW0ge0Vycm9yfSBlcnIgLSBUaGUgZXJyb3IgdG8gcGFyc2VcbiAgICogQHJldHVybiB7Vn0gVGhlIHBhcnNlZCBlcnJvclxuICAgKi9cbiAgcGFyc2VFcnJvcjxWIGV4dGVuZHMgQmFzZUVycm9yPihlcnI6IEVycm9yKTogViB7XG4gICAgaWYgKGVyciBpbnN0YW5jZW9mIEJhc2VFcnJvcikgcmV0dXJuIGVyciBhcyBWO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSAoZXJyIGFzIGFueSk/Lm1lc3NhZ2UgPz8gU3RyaW5nKGVycik7XG4gICAgaWYgKFxuICAgICAgL0VDT05OUkVGVVNFRHxFTk9URk9VTkR8RVRJTUVET1VUfENvbm5lY3Rpb24gaXMgY2xvc2VkfFNvY2tldCBjbG9zZWR8V1JPTkdQQVNTfE5PQVVUSC9pLnRlc3QoXG4gICAgICAgIG1lc3NhZ2VcbiAgICAgIClcbiAgICApXG4gICAgICByZXR1cm4gbmV3IENvbm5lY3Rpb25FcnJvcihlcnIpIGFzIFY7XG4gICAgcmV0dXJuIG5ldyBJbnRlcm5hbEVycm9yKGVycikgYXMgVjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIG5ldyBzdGF0ZW1lbnQgYnVpbGRlciBmb3IgcXVlcmllc1xuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlIGZvciB0aGUgc3RhdGVtZW50XG4gICAqIEBwYXJhbSB7UGFydGlhbDxBZGFwdGVyRmxhZ3M+fSBbb3ZlcnJpZGVzXSAtIE9wdGlvbmFsIGFkYXB0ZXIgZmxhZyBvdmVycmlkZXNcbiAgICogQHJldHVybiB7UmVkaXNTdGF0ZW1lbnQ8TSwgYW55LCBBZGFwdGVyPC4uLj4+fSBBIG5ldyBzdGF0ZW1lbnQgYnVpbGRlclxuICAgKi9cbiAgU3RhdGVtZW50PE0gZXh0ZW5kcyBNb2RlbDxib29sZWFuPj4oXG4gICAgb3ZlcnJpZGVzPzogUGFydGlhbDxBZGFwdGVyRmxhZ3M+XG4gICk6IFJlZGlzU3RhdGVtZW50PE0sIGFueSwgQWRhcHRlcjxhbnksIGFueSwgUmF3UmVkaXNRdWVyeTxNPiwgUmVkaXNDb250ZXh0Pj4ge1xuICAgIHJldHVybiBuZXcgUmVkaXNTdGF0ZW1lbnQ8XG4gICAgICBNLFxuICAgICAgYW55LFxuICAgICAgQWRhcHRlcjxhbnksIGFueSwgUmF3UmVkaXNRdWVyeTxNPiwgUmVkaXNDb250ZXh0PlxuICAgID4odGhpcyBhcyBhbnksIG92ZXJyaWRlcyk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBuZXcgcGFnaW5hdG9yIGZvciBxdWVyaWVzXG4gICAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGUgZm9yIHRoZSBwYWdpbmF0b3JcbiAgICogQHBhcmFtIHtSYXdSZWRpc1F1ZXJ5fSBxdWVyeSAtIFRoZSBxdWVyeSB0byBwYWdpbmF0ZVxuICAgKiBAcGFyYW0ge251bWJlcn0gc2l6ZSAtIFRoZSBwYWdlIHNpemVcbiAgICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxNPn0gY2xhenogLSBUaGUgbW9kZWwgY29uc3RydWN0b3JcbiAgICogQHJldHVybiB7UmVkaXNQYWdpbmF0b3I8TT59IEEgbmV3IHBhZ2luYXRvclxuICAgKi9cbiAgUGFnaW5hdG9yPE0gZXh0ZW5kcyBNb2RlbDxib29sZWFuPj4oXG4gICAgcXVlcnk6IFJhd1JlZGlzUXVlcnksXG4gICAgc2l6ZTogbnVtYmVyLFxuICAgIGNsYXp6OiBDb25zdHJ1Y3RvcjxNPlxuICApOiBSZWRpc1BhZ2luYXRvcjxNPiB7XG4gICAgcmV0dXJuIG5ldyBSZWRpc1BhZ2luYXRvcih0aGlzLCBxdWVyeSwgc2l6ZSwgY2xhenopO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBWYWxpZGF0ZXMgdGhhdCBhbiBhZ2dyZWdhdGlvbiB0YXJnZXRzIGFuIGF0dHJpYnV0ZSBvZiB0aGUgZXhwZWN0ZWQga2luZFxuICAgKiBAc3VtbWFyeSBSZXNvbHZlcyB0aGUgYXR0cmlidXRlIHR5cGUgZnJvbSB0aGUgbW9kZWwgbWV0YWRhdGEgYW5kIHJhaXNlcyBhXG4gICAqIGBRdWVyeUVycm9yYCB3aGVuIHRoZSB0eXBlIGRvZXMgbm90IHNhdGlzZnkgdGhlIGdpdmVuIHByZWRpY2F0ZS5cbiAgICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxNb2RlbD59IGNsYXp6IC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWVsZCAtIFRoZSBhdHRyaWJ1dGUgbmFtZSB0byB2YWxpZGF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29udGV4dCAtIFRoZSBhZ2dyZWdhdGlvbiBjb250ZXh0IHVzZWQgaW4gZXJyb3IgbWVzc2FnZXNcbiAgICogQHBhcmFtIHtmdW5jdGlvbihzdHJpbmcpOiBib29sZWFufSBwcmVkaWNhdGUgLSBUeXBlIGFjY2VwdGFuY2UgcHJlZGljYXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkZXNjcmlwdGlvbiAtIEh1bWFuIHJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSBhY2NlcHRlZCB0eXBlc1xuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgcHJpdmF0ZSBlbnN1cmVGaWVsZFR5cGUoXG4gICAgY2xheno6IENvbnN0cnVjdG9yPE1vZGVsPixcbiAgICBmaWVsZDogc3RyaW5nLFxuICAgIGNvbnRleHQ6IHN0cmluZyxcbiAgICBwcmVkaWNhdGU6ICh0eXBlOiBzdHJpbmcpID0+IGJvb2xlYW4sXG4gICAgZGVzY3JpcHRpb246IHN0cmluZ1xuICApOiB2b2lkIHtcbiAgICBjb25zdCB0eXBlID0gdGhpcy5yZXNvbHZlRmllbGRUeXBlKGNsYXp6LCBmaWVsZCk7XG4gICAgaWYgKCF0eXBlIHx8ICFwcmVkaWNhdGUodHlwZSkpIHtcbiAgICAgIHRocm93IG5ldyBRdWVyeUVycm9yKFxuICAgICAgICBgJHtjb250ZXh0fSByZXF1aXJlcyAke2Rlc2NyaXB0aW9ufSBhdHRyaWJ1dGUsIGJ1dCBcIiR7ZmllbGR9XCIgaXMgJHtcbiAgICAgICAgICB0eXBlIHx8IFwidW5rbm93blwiXG4gICAgICAgIH1gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVzb2x2ZXMgdGhlIGF0dHJpYnV0ZSB0eXBlIGZyb20gdGhlIG1vZGVsIG1ldGFkYXRhXG4gICAqIEBzdW1tYXJ5IFJlYWRzIHRoZSBtZXRhZGF0YSBvciBkZXNpZ24gdHlwZSBvZiB0aGUgYXR0cmlidXRlIGFuZCBub3JtYWxpemVzIGl0XG4gICAqIHRvIGEgbG93ZXJjYXNlIHR5cGUgbmFtZS5cbiAgICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxNb2RlbD59IGNsYXp6IC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWVsZCAtIFRoZSBhdHRyaWJ1dGUgbmFtZVxuICAgKiBAcmV0dXJuIHtzdHJpbmcgfCB1bmRlZmluZWR9IFRoZSBub3JtYWxpemVkIGF0dHJpYnV0ZSB0eXBlLCB3aGVuIHJlc29sdmFibGVcbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZUZpZWxkVHlwZShcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TW9kZWw+LFxuICAgIGZpZWxkOiBzdHJpbmdcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBwcm9wS2V5ID0gZmllbGQgYXMga2V5b2YgTW9kZWw8ZmFsc2U+O1xuICAgIGNvbnN0IG1ldGFUeXBlID1cbiAgICAgIE1ldGFkYXRhLnR5cGUoY2xhenosIHByb3BLZXkpID8/XG4gICAgICBNZXRhZGF0YS5nZXRQcm9wRGVzaWduVHlwZXMoY2xhenosIHByb3BLZXkpPy5kZXNpZ25UeXBlO1xuICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZU1ldGFUeXBlKG1ldGFUeXBlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTm9ybWFsaXplcyBhIHJhdyBtZXRhZGF0YSB0eXBlIHRvIGEgbG93ZXJjYXNlIHR5cGUgbmFtZVxuICAgKiBAcGFyYW0ge2FueX0gbWV0YVR5cGUgLSBUaGUgcmF3IG1ldGFkYXRhIHR5cGUgdmFsdWVcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfSBUaGUgbm9ybWFsaXplZCB0eXBlIG5hbWUsIHdoZW4gcmVzb2x2YWJsZVxuICAgKi9cbiAgcHJpdmF0ZSBub3JtYWxpemVNZXRhVHlwZShtZXRhVHlwZTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIW1ldGFUeXBlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmICh0eXBlb2YgbWV0YVR5cGUgPT09IFwic3RyaW5nXCIpIHJldHVybiBtZXRhVHlwZS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmICh0eXBlb2YgbWV0YVR5cGUgPT09IFwiZnVuY3Rpb25cIiAmJiBtZXRhVHlwZS5uYW1lKVxuICAgICAgcmV0dXJuIG1ldGFUeXBlLm5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBXaGV0aGVyIHRoZSBnaXZlbiB0eXBlIG5hbWUgaXMgYSBudW1lcmljIHR5cGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFt0eXBlXSAtIFRoZSBub3JtYWxpemVkIHR5cGUgbmFtZVxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGZvciBcIm51bWJlclwiIGFuZCBcImJpZ2ludFwiXG4gICAqL1xuICBwcml2YXRlIGlzTnVtZXJpY1R5cGUodHlwZT86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlID09PSBcIm51bWJlclwiIHx8IHR5cGUgPT09IFwiYmlnaW50XCI7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbnZlcnRzIGEgdmFsdWUgdG8gYSBudW1lcmljIHZhbHVlIGZvciBhZ2dyZWdhdGlvblxuICAgKiBAc3VtbWFyeSBBY2NlcHRzIG51bWJlcnMgYW5kIGJpZ2ludHMgKGNvbnZlcnRlZCB0byBgTnVtYmVyYCkgYW5kIHJhaXNlcyBhXG4gICAqIGBRdWVyeUVycm9yYCBmb3IgYW55IG90aGVyIHZhbHVlIGtpbmQuXG4gICAqIEBwYXJhbSB7YW55fSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjb252ZXJ0XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWVsZCAtIFRoZSBhdHRyaWJ1dGUgbmFtZSB1c2VkIGluIGVycm9yIG1lc3NhZ2VzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZXh0IC0gVGhlIGFnZ3JlZ2F0aW9uIGNvbnRleHQgdXNlZCBpbiBlcnJvciBtZXNzYWdlc1xuICAgKiBAcmV0dXJuIHtudW1iZXJ9IFRoZSBudW1lcmljIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIHRvTnVtZXJpY1ZhbHVlKHZhbHVlOiBhbnksIGZpZWxkOiBzdHJpbmcsIGNvbnRleHQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikgcmV0dXJuIHZhbHVlO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiYmlnaW50XCIpIHJldHVybiBOdW1iZXIodmFsdWUpO1xuICAgIHRocm93IG5ldyBRdWVyeUVycm9yKFxuICAgICAgYCR7Y29udGV4dH0gb24gXCIke2ZpZWxkfVwiIHJlcXVpcmVzIG51bWVyaWMgdmFsdWVzLCBidXQgZ290ICR7dHlwZW9mIHZhbHVlfWBcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIHRoZSB1bmRlcmx5aW5nIFJlZGlzIGNsaWVudFxuICAgKiBAc3VtbWFyeSBSZXR1cm5zIHRoZSBhbHJlYWR5IGNvbm5lY3RlZCBjbGllbnQgd2hlbiBvbmUgZXhpc3RzIChpbmNsdWRpbmdcbiAgICogdGhyb3VnaCBhIGBmb3IoKWAgY29uZmlndXJhdGlvbi1zY29wZWQgcHJveHksIHdob3NlIG93biBgX2NsaWVudGAgc2xvdCB3b3VsZFxuICAgKiBvdGhlcndpc2UgYmUgZW1wdHkgYW5kIGJ1aWxkIGEgZnJlc2ggdW5jb25uZWN0ZWQgY2xpZW50KS4gT3RoZXJ3aXNlIGJ1aWxkcyBhXG4gICAqIG5vZGUtcmVkaXMgY2xpZW50IGZyb20gdGhlIGNvbmZpZ3VyZWQgVVJMIG9yIGRpc2NyZXRlIGhvc3QvcG9ydC9jcmVkZW50aWFscy5cbiAgICogV2hlbiBgdGxzYCBpcyBzZXQsIGB0bHM6IHRydWVgIHBsdXMgYW55IHN1cHBsaWVkIGB0bHMuY29ubmVjdGAgb3B0aW9ucyBhcmVcbiAgICogbWVyZ2VkIGludG8gdGhlIHNvY2tldCBvcHRpb25zIChhIGByZWRpc3M6Ly9gIFVSTCBpcyBwYXNzZWQgdGhyb3VnaCBhcy1pcykuXG4gICAqIFRoZSBjbGllbnQgaXMgY3JlYXRlZCBsYXppbHkgYW5kIGNvbm5lY3RlZCBieSB7QGxpbmsgaW5pdGlhbGl6ZX0uXG4gICAqIEByZXR1cm4ge1JlZGlzQ2xpZW50VHlwZX0gVGhlIFJlZGlzIGNsaWVudFxuICAgKi9cbiAgcHJvdGVjdGVkIGdldENsaWVudCgpOiBSZWRpc0NsaWVudFR5cGUge1xuICAgIGlmICh0aGlzLl9yZWRpc0NsaWVudCkgcmV0dXJuIHRoaXMuX3JlZGlzQ2xpZW50O1xuICAgIGNvbnN0IHsgdXJsLCBob3N0LCBwb3J0LCB1c2VybmFtZSwgcGFzc3dvcmQsIGRhdGFiYXNlLCB0bHMgfSA9IHRoaXMuY29uZmlnO1xuICAgIGNvbnN0IG9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB1cmxcbiAgICAgID8geyB1cmwgfVxuICAgICAgOiB7IHNvY2tldDogeyBob3N0OiBob3N0ID8/IFwibG9jYWxob3N0XCIsIHBvcnQ6IHBvcnQgPz8gNjM3OSB9IH07XG4gICAgaWYgKHRscykge1xuICAgICAgY29uc3QgdGxzT3B0aW9ucyA9IHR5cGVvZiB0bHMgPT09IFwib2JqZWN0XCIgPyB0bHMgOiB7fTtcbiAgICAgIG9wdGlvbnMuc29ja2V0ID0geyAuLi4ob3B0aW9ucy5zb2NrZXQgPz8ge30pLCB0bHM6IHRydWUsIC4uLnRsc09wdGlvbnMgfTtcbiAgICB9XG4gICAgaWYgKHVzZXJuYW1lKSBvcHRpb25zLnVzZXJuYW1lID0gdXNlcm5hbWU7XG4gICAgaWYgKHBhc3N3b3JkKSBvcHRpb25zLnBhc3N3b3JkID0gcGFzc3dvcmQ7XG4gICAgaWYgKHR5cGVvZiBkYXRhYmFzZSA9PT0gXCJudW1iZXJcIikgb3B0aW9ucy5kYXRhYmFzZSA9IGRhdGFiYXNlO1xuICAgIHJldHVybiBjcmVhdGVDbGllbnQob3B0aW9ucykgYXMgdW5rbm93biBhcyBSZWRpc0NsaWVudFR5cGU7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlZ2lzdGVycyBSZWRpcy1zcGVjaWZpYyBkZWNvcmF0aW9ucyBmb3IgbW9kZWwgcHJvcGVydGllc1xuICAgKiBAc3VtbWFyeSBDb25maWd1cmVzIGBjcmVhdGVkQnlgIGFuZCBgdXBkYXRlZEJ5YCBoYW5kbGVycyBmb3IgdGhlIFJlZGlzXG4gICAqIGZsYXZvdXIgc28gdGhvc2UgZmllbGRzIGFyZSBwb3B1bGF0ZWQgZnJvbSB0aGUgY29udGV4dCBVVUlELlxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgc3RhdGljIG92ZXJyaWRlIGRlY29yYXRpb24oKTogdm9pZCB7XG4gICAgc3VwZXIuZGVjb3JhdGlvbigpO1xuICAgIGNvbnN0IGNyZWF0ZWRCeUtleSA9IFBlcnNpc3RlbmNlS2V5cy5DUkVBVEVEX0JZO1xuICAgIGNvbnN0IHVwZGF0ZWRCeUtleSA9IFBlcnNpc3RlbmNlS2V5cy5VUERBVEVEX0JZO1xuICAgIERlY29yYXRpb24uZmxhdm91cmVkQXMoUmVkaXNGbGF2b3VyKVxuICAgICAgLmZvcihjcmVhdGVkQnlLZXkpXG4gICAgICAuZGVmaW5lKFxuICAgICAgICBvbkNyZWF0ZShjcmVhdGVkQnlPblJlZGlzQ3JlYXRlVXBkYXRlKSxcbiAgICAgICAgcHJvcE1ldGFkYXRhKGNyZWF0ZWRCeUtleSwge30pLFxuICAgICAgICBnZW5lcmF0ZWQoY3JlYXRlZEJ5S2V5KVxuICAgICAgKVxuICAgICAgLmFwcGx5KCk7XG4gICAgRGVjb3JhdGlvbi5mbGF2b3VyZWRBcyhSZWRpc0ZsYXZvdXIpXG4gICAgICAuZm9yKHVwZGF0ZWRCeUtleSlcbiAgICAgIC5kZWZpbmUoXG4gICAgICAgIG9uQ3JlYXRlVXBkYXRlKGNyZWF0ZWRCeU9uUmVkaXNDcmVhdGVVcGRhdGUpLFxuICAgICAgICBwcm9wTWV0YWRhdGEodXBkYXRlZEJ5S2V5LCB7fSksXG4gICAgICAgIGdlbmVyYXRlZCh1cGRhdGVkQnlLZXkpXG4gICAgICApXG4gICAgICAuYXBwbHkoKTtcbiAgfVxufVxuXG5BZGFwdGVyLnNldEN1cnJlbnQoUmVkaXNGbGF2b3VyKTtcblJlZGlzQWRhcHRlci5kZWNvcmF0aW9uKCk7XG4iXX0=
|
|
@@ -24,4 +24,4 @@ export const RedisDefaultPrefix = "decaf:redis";
|
|
|
24
24
|
* @memberOf module:redis
|
|
25
25
|
*/
|
|
26
26
|
export const RedisEventsChannel = "decaf:redis:events";
|
|
27
|
-
//# sourceMappingURL=
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlZGlzL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQztBQUVwQzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDO0FBRWhEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gSWRlbnRpZmllciBmb3IgdGhlIFJlZGlzIGRhdGFiYXNlIGZsYXZvdXJcbiAqIEBzdW1tYXJ5IENvbnN0YW50IHN0cmluZyB0aGF0IGlkZW50aWZpZXMgdGhlIHBlcnNpc3RlbmNlIGFkYXB0ZXIgYXMgXCJyZWRpc1wiIGZvclxuICogdXNlIGluIGFkYXB0ZXIgc2VsZWN0aW9uIGFuZCBkZWNvcmF0aW9uLiBUaGUgc2FtZSBmbGF2b3VyIHNlcnZlcyBSZWRpcyBhbmQgYW55XG4gKiBSZWRpcy1jb21wYXRpYmxlIHNlcnZlciBzdWNoIGFzIERyYWdvbmZseURCLlxuICogQGNvbnN0IFJlZGlzRmxhdm91clxuICogQG1lbWJlck9mIG1vZHVsZTpyZWRpc1xuICovXG5leHBvcnQgY29uc3QgUmVkaXNGbGF2b3VyID0gXCJyZWRpc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWZhdWx0IGtleSBuYW1lc3BhY2UgdXNlZCBieSB0aGUgUmVkaXMgYWRhcHRlclxuICogQHN1bW1hcnkgRXZlcnkga2V5IHRoZSBhZGFwdGVyIHdyaXRlcyBpcyBuYW1lc3BhY2VkIHVuZGVyIHRoaXMgcHJlZml4IHNvIGFcbiAqIHNpbmdsZSBSZWRpcyBkYXRhYmFzZSBjYW4gYmUgc2hhcmVkIGJ5IHNldmVyYWwgZGVjYWYgYXBwbGljYXRpb25zIHdpdGhvdXRcbiAqIGNvbGxpc2lvbnMuXG4gKiBAY29uc3QgUmVkaXNEZWZhdWx0UHJlZml4XG4gKiBAbWVtYmVyT2YgbW9kdWxlOnJlZGlzXG4gKi9cbmV4cG9ydCBjb25zdCBSZWRpc0RlZmF1bHRQcmVmaXggPSBcImRlY2FmOnJlZGlzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFJlZGlzIHB1Yi9zdWIgY2hhbm5lbCB1c2VkIHRvIGJyb2FkY2FzdCBvYnNlcnZlciBldmVudHNcbiAqIEBzdW1tYXJ5IENoYW5uZWwgb24gd2hpY2ggdGhlIGFkYXB0ZXIgcHVibGlzaGVzIHJlY29yZCBjaGFuZ2UgZXZlbnRzIHNvIHRoYXRcbiAqIGV2ZXJ5IHByb2Nlc3Mgc2hhcmluZyB0aGUgZGF0YWJhc2UgY2FuIHJlZnJlc2ggaXRzIG9ic2VydmVycy5cbiAqIEBjb25zdCBSZWRpc0V2ZW50c0NoYW5uZWxcbiAqIEBtZW1iZXJPZiBtb2R1bGU6cmVkaXNcbiAqL1xuZXhwb3J0IGNvbnN0IFJlZGlzRXZlbnRzQ2hhbm5lbCA9IFwiZGVjYWY6cmVkaXM6ZXZlbnRzXCI7XG4iXX0=
|
|
@@ -20,4 +20,4 @@ export async function createdByOnRedisCreateUpdate(context, data, key, model) {
|
|
|
20
20
|
throw new UnsupportedError("This adapter does not support user identification");
|
|
21
21
|
model[key] = uuid;
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVkaXMvaGFuZGxlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUF5QixnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pFOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSw0QkFBNEIsQ0FLaEQsT0FBcUIsRUFDckIsSUFBdUIsRUFDdkIsR0FBWSxFQUNaLEtBQVE7SUFFUixNQUFNLElBQUksR0FBVyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLElBQUksQ0FBQyxJQUFJO1FBQ1AsTUFBTSxJQUFJLGdCQUFnQixDQUN4QixtREFBbUQsQ0FDcEQsQ0FBQztJQUNKLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFrQixDQUFDO0FBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IFJlbGF0aW9uc01ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBDb250ZXh0T2YsIFJlcG9zaXRvcnksIFVuc3VwcG9ydGVkRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgUmVkaXNBZGFwdGVyIH0gZnJvbSBcIi4vYWRhcHRlclwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBTZXRzIHRoZSBjcmVhdGVkIGJ5IGZpZWxkIG9uIGEgbW9kZWwgZHVyaW5nIFJlZGlzIGNyZWF0ZS91cGRhdGUgb3BlcmF0aW9uc1xuICogQHN1bW1hcnkgQXV0b21hdGljYWxseSBwb3B1bGF0ZXMgYSBtb2RlbCBmaWVsZCB3aXRoIHRoZSBVVUlEIGZyb20gdGhlIGNvbnRleHQgZHVyaW5nIGNyZWF0ZSBvciB1cGRhdGUgb3BlcmF0aW9ucy5cbiAqIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgdXNlZCBhcyBhIGhhbmRsZXIgZm9yIFJlZGlzIG9wZXJhdGlvbnMgdG8gdHJhY2sgZW50aXR5IGNyZWF0aW9uLlxuICogQHRlbXBsYXRlIE0gLSBUeXBlIG9mIHRoZSBtb2RlbCBiZWluZyBjcmVhdGVkL3VwZGF0ZWRcbiAqIEB0ZW1wbGF0ZSBSIC0gVHlwZSBvZiB0aGUgcmVwb3NpdG9yeSBoYW5kbGluZyB0aGUgbW9kZWxcbiAqIEBwYXJhbSB7Un0gdGhpcyAtIFRoZSByZXBvc2l0b3J5IGluc3RhbmNlXG4gKiBAcGFyYW0ge0NvbnRleHR9IGNvbnRleHQgLSBUaGUgb3BlcmF0aW9uIGNvbnRleHQgY29udGFpbmluZyB1c2VyIGlkZW50aWZpY2F0aW9uXG4gKiBAcGFyYW0ge1JlbGF0aW9uc01ldGFkYXRhfSBkYXRhIC0gVGhlIHJlbGF0aW9ucyBtZXRhZGF0YVxuICogQHBhcmFtIHtrZXlvZiBNfSBrZXkgLSBUaGUgcHJvcGVydHkga2V5IHRvIHNldCB3aXRoIHRoZSBVVUlEXG4gKiBAcGFyYW0ge019IG1vZGVsIC0gVGhlIG1vZGVsIGluc3RhbmNlIGJlaW5nIGNyZWF0ZWQvdXBkYXRlZFxuICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZmllbGQgaGFzIGJlZW4gc2V0XG4gKiBAZnVuY3Rpb24gY3JlYXRlZEJ5T25SZWRpc0NyZWF0ZVVwZGF0ZVxuICogQG1lbWJlck9mIG1vZHVsZTpyZWRpc1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlZEJ5T25SZWRpc0NyZWF0ZVVwZGF0ZTxcbiAgTSBleHRlbmRzIE1vZGVsLFxuICBSIGV4dGVuZHMgUmVwb3NpdG9yeTxNLCBSZWRpc0FkYXB0ZXI+LFxuPihcbiAgdGhpczogUixcbiAgY29udGV4dDogQ29udGV4dE9mPFI+LFxuICBkYXRhOiBSZWxhdGlvbnNNZXRhZGF0YSxcbiAga2V5OiBrZXlvZiBNLFxuICBtb2RlbDogTVxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHV1aWQ6IHN0cmluZyA9IGNvbnRleHQuZ2V0KFwiVVVJRFwiKTtcbiAgaWYgKCF1dWlkKVxuICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFxuICAgICAgXCJUaGlzIGFkYXB0ZXIgZG9lcyBub3Qgc3VwcG9ydCB1c2VyIGlkZW50aWZpY2F0aW9uXCJcbiAgICApO1xuICBtb2RlbFtrZXldID0gdXVpZCBhcyBNW2tleW9mIE1dO1xufVxuIl19
|
package/lib/esm/redis/index.js
CHANGED
|
@@ -16,4 +16,4 @@ export * from "./RedisPaginator.js";
|
|
|
16
16
|
export * from "./handlers.js";
|
|
17
17
|
// Left to the end on purpose: importing the adapter registers the flavour
|
|
18
18
|
export * from "./adapter.js";
|
|
19
|
-
//# sourceMappingURL=
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVkaXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUNILCtCQUE0QjtBQUM1QiwyQkFBd0I7QUFDeEIsbUNBQWdDO0FBQ2hDLHNDQUFtQztBQUNuQyxtQ0FBZ0M7QUFDaEMsb0NBQWlDO0FBQ2pDLG9DQUFpQztBQUNqQyw4QkFBMkI7QUFDM0IsMEVBQTBFO0FBQzFFLDZCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvcmVkaXNcbiAqIEBzdW1tYXJ5IFJlZGlzIChhbmQgUmVkaXMtY29tcGF0aWJsZSwgZS5nLiBEcmFnb25mbHlEQikgcGVyc2lzdGVuY2UgYWRhcHRlci5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBSZWRpcyBhZGFwdGVyLCByZXBvc2l0b3J5LCBxdWVyeSBzdGF0ZW1lbnQvcGFnaW5hdG9yLFxuICogZXZlbnQgZGlzcGF0Y2gsIHRyYW5zYWN0aW9uIGxvY2sgYW5kIHNlcmlhbGl6YXRpb24gaGVscGVycy4gVGhlIGFkYXB0ZXIgaXNcbiAqIGV4cG9ydGVkIGxhc3Qgc28gaXRzIHNpZGUtZWZmZWN0IHJlZ2lzdHJhdGlvbiAoZmxhdm91ciArIGRlY29yYXRpb25zKSBydW5zIGFmdGVyXG4gKiB0aGUgc3VwcG9ydGluZyBtb2R1bGVzIGFyZSBsb2FkZWQuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlcmlhbGl6YXRpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL1JlZGlzQ29udGV4dExvY2tcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1JlZGlzRGlzcGF0Y2hcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1JlZGlzU3RhdGVtZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9SZWRpc1BhZ2luYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaGFuZGxlcnNcIjtcbi8vIExlZnQgdG8gdGhlIGVuZCBvbiBwdXJwb3NlOiBpbXBvcnRpbmcgdGhlIGFkYXB0ZXIgcmVnaXN0ZXJzIHRoZSBmbGF2b3VyXG5leHBvcnQgKiBmcm9tIFwiLi9hZGFwdGVyXCI7XG4iXX0=
|
|
@@ -54,4 +54,4 @@ export function deserialize(raw) {
|
|
|
54
54
|
return val;
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
|
-
//# sourceMappingURL=
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWRpcy9zZXJpYWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsc0JBQXNCLENBQUM7QUFFdEQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLHdCQUF3QixDQUFDO0FBRTFEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQVU7SUFDbEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxVQUFxQixHQUFHLEVBQUUsR0FBRztRQUN4RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3hDLElBQUksUUFBUSxZQUFZLElBQUk7WUFDMUIsT0FBTztnQkFDTCxDQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDN0QsQ0FBQztRQUNKLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUTtZQUN6QixPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1FBQ2pELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBVSxHQUFXO0lBQzlDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDbkMsSUFBSSxHQUFHLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkMsSUFBSSxlQUFlLElBQUksR0FBRztnQkFBRSxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQ2xFLElBQUksaUJBQWlCLElBQUksR0FBRztnQkFDMUIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFXLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLENBQU0sQ0FBQztBQUNWLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXNjcmlwdGlvbiBNYXJrZXIgdXNlZCB0byBlbmNvZGUgSmF2YVNjcmlwdCBEYXRlIHZhbHVlcyBpbiBKU09OIHBheWxvYWRzXG4gKiBAY29uc3QgUmVkaXNEYXRlTWFya2VyXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnJlZGlzXG4gKi9cbmV4cG9ydCBjb25zdCBSZWRpc0RhdGVNYXJrZXIgPSBcIl9fZGVjYWZfcmVkaXNfZGF0ZV9fXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIE1hcmtlciB1c2VkIHRvIGVuY29kZSBKYXZhU2NyaXB0IGJpZ2ludCB2YWx1ZXMgaW4gSlNPTiBwYXlsb2Fkc1xuICogQGNvbnN0IFJlZGlzQmlnSW50TWFya2VyXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnJlZGlzXG4gKi9cbmV4cG9ydCBjb25zdCBSZWRpc0JpZ0ludE1hcmtlciA9IFwiX19kZWNhZl9yZWRpc19iaWdpbnRfX1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBTZXJpYWxpemVzIGEgcmVjb3JkIGZvciBzdG9yYWdlIGluIFJlZGlzXG4gKiBAc3VtbWFyeSBKU09OLWVuY29kZXMgYSB2YWx1ZSB3aGlsZSBwcmVzZXJ2aW5nIHR5cGVzIHRoYXQgSlNPTiBjYW5ub3QgcmVwcmVzZW50XG4gKiBuYXRpdmVseS4gYERhdGVgIGluc3RhbmNlcyBhcmUgZW5jb2RlZCBhcyBhbiBJU08gc3RyaW5nIHVuZGVyIGEgbWFya2VyIGtleSBhbmRcbiAqIGBiaWdpbnRgIHZhbHVlcyBhcmUgZW5jb2RlZCBhcyBkZWNpbWFsIHN0cmluZ3MgdW5kZXIgYSBtYXJrZXIga2V5IHNvIHRoZXkgY2FuIGJlXG4gKiByZXZpdmVkIGJ5IHtAbGluayBkZXNlcmlhbGl6ZX0gd2l0aG91dCBsb3NzLlxuICogQHBhcmFtIHthbnl9IHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNlcmlhbGl6ZVxuICogQHJldHVybiB7c3RyaW5nfSBUaGUgc2VyaWFsaXplZCBKU09OIHN0cmluZ1xuICogQGZ1bmN0aW9uIHNlcmlhbGl6ZVxuICogQG1lbWJlck9mIG1vZHVsZTpyZWRpc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUsIGZ1bmN0aW9uICh0aGlzOiBhbnksIGtleSwgdmFsKSB7XG4gICAgY29uc3Qgb3JpZ2luYWwgPSB0aGlzID8gdGhpc1trZXldIDogdmFsO1xuICAgIGlmIChvcmlnaW5hbCBpbnN0YW5jZW9mIERhdGUpXG4gICAgICByZXR1cm4ge1xuICAgICAgICBbUmVkaXNEYXRlTWFya2VyXTogRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcuY2FsbChvcmlnaW5hbCksXG4gICAgICB9O1xuICAgIGlmICh0eXBlb2YgdmFsID09PSBcImJpZ2ludFwiKVxuICAgICAgcmV0dXJuIHsgW1JlZGlzQmlnSW50TWFya2VyXTogdmFsLnRvU3RyaW5nKCkgfTtcbiAgICByZXR1cm4gdmFsO1xuICB9KTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVzZXJpYWxpemVzIGEgcmVjb3JkIHJlYWQgZnJvbSBSZWRpc1xuICogQHN1bW1hcnkgSlNPTi1kZWNvZGVzIGEgdmFsdWUgcHJvZHVjZWQgYnkge0BsaW5rIHNlcmlhbGl6ZX0sIHJlc3RvcmluZyBgRGF0ZWBcbiAqIGFuZCBgYmlnaW50YCBpbnN0YW5jZXMgZnJvbSB0aGVpciBtYXJrZXIgcmVwcmVzZW50YXRpb25zLlxuICogQHRlbXBsYXRlIFQgLSBUaGUgZXhwZWN0ZWQgcmVzdWx0IHR5cGVcbiAqIEBwYXJhbSB7c3RyaW5nfSByYXcgLSBUaGUgc2VyaWFsaXplZCBKU09OIHN0cmluZ1xuICogQHJldHVybiB7VH0gVGhlIGRlc2VyaWFsaXplZCB2YWx1ZVxuICogQGZ1bmN0aW9uIGRlc2VyaWFsaXplXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnJlZGlzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXNlcmlhbGl6ZTxUID0gYW55PihyYXc6IHN0cmluZyk6IFQge1xuICByZXR1cm4gSlNPTi5wYXJzZShyYXcsIChfa2V5LCB2YWwpID0+IHtcbiAgICBpZiAodmFsICYmIHR5cGVvZiB2YWwgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIGlmIChSZWRpc0RhdGVNYXJrZXIgaW4gdmFsKSByZXR1cm4gbmV3IERhdGUodmFsW1JlZGlzRGF0ZU1hcmtlcl0pO1xuICAgICAgaWYgKFJlZGlzQmlnSW50TWFya2VyIGluIHZhbClcbiAgICAgICAgcmV0dXJuIEJpZ0ludCh2YWxbUmVkaXNCaWdJbnRNYXJrZXJdIGFzIHN0cmluZyk7XG4gICAgfVxuICAgIHJldHVybiB2YWw7XG4gIH0pIGFzIFQ7XG59XG4iXX0=
|
package/lib/esm/redis/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmVkaXMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRpb25cIjtcbmltcG9ydCB7IEFkYXB0ZXJGbGFncywgQ29udGV4dCB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUTFMgc2V0dGluZ3MgYWNjZXB0ZWQgYnkge0BsaW5rIFJlZGlzQWRhcHRlcn1cbiAqIEBzdW1tYXJ5IGB0cnVlYCBlbmFibGVzIFRMUyB3aXRoIE5vZGUncyBkZWZhdWx0IHZlcmlmaWNhdGlvbiAoc2VydmVyXG4gKiBjZXJ0aWZpY2F0ZSBjaGVja2VkKS4gQW4gb2JqZWN0IGVuYWJsZXMgVExTIGFuZCBmb3J3YXJkcyB0aGUgc3RhbmRhcmQgTm9kZVxuICogYHRscy5jb25uZWN0YCBvcHRpb25zIChgcmVqZWN0VW5hdXRob3JpemVkYCwgYGNhYCwgYGNlcnRgLCBga2V5YCxcbiAqIGBzZXJ2ZXJuYW1lYCk7IHNldCBgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZWAgb25seSBmb3IgYSBrbm93biBkZXZlbG9wbWVudFxuICogc2VydmVyIHdpdGggYSBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZS5cbiAqIEB0eXBlZGVmIHtib29sZWFuIHwgb2JqZWN0fSBSZWRpc1Rsc0NvbmZpZ1xuICogQG1lbWJlck9mIG1vZHVsZTpyZWRpc1xuICovXG5leHBvcnQgdHlwZSBSZWRpc1Rsc0NvbmZpZyA9XG4gIHwgYm9vbGVhblxuICB8IHtcbiAgICAgIHJlamVjdFVuYXV0aG9yaXplZD86IGJvb2xlYW47XG4gICAgICBjYT86IHN0cmluZyB8IEJ1ZmZlcjtcbiAgICAgIGNlcnQ/OiBzdHJpbmcgfCBCdWZmZXI7XG4gICAgICBrZXk/OiBzdHJpbmcgfCBCdWZmZXI7XG4gICAgICBzZXJ2ZXJuYW1lPzogc3RyaW5nO1xuICAgICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgICB9O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb25uZWN0aW9uIGNvbmZpZ3VyYXRpb24gYWNjZXB0ZWQgYnkge0BsaW5rIFJlZGlzQWRhcHRlcn1cbiAqIEBzdW1tYXJ5IFN1cHBvcnRzIGJvdGggYSBmdWxsIGNvbm5lY3Rpb24gVVJMIGFuZCB0aGUgaW5kaXZpZHVhbCBob3N0L3BvcnQvXG4gKiBjcmVkZW50aWFsIGZpZWxkcy4gV2hlbiBgdXJsYCBpcyBwcm92aWRlZCBpdCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhlXG4gKiBkaXNjcmV0ZSBmaWVsZHMuIFNldCBgdGxzYCAob3IgdXNlIGEgYHJlZGlzczovL2AgVVJMKSB0byBlbmNyeXB0IHRoZVxuICogY29ubmVjdGlvbi5cbiAqXG4gKiBOb3RlIG9uIGBLRVlTYDogUmVkaXMgYEtFWVNgIHdhbGtzIHRoZSB3aG9sZSBrZXlzcGFjZSBhbmQgYmxvY2tzIHRoZSBzZXJ2ZXJcbiAqIHdoaWxlIGl0IHJ1bnMuIFByZWZlciBgU0NBTmAvYHNjYW5JdGVyYXRvcmAgKG9yIGEgbWFpbnRhaW5lZCBpbmRleCkgaW5cbiAqIHByb2R1Y3Rpb247IHRoZSBhZGFwdGVyJ3Mga2V5IGxpc3RpbmcgaXMgaW50ZW5kZWQgZm9yIHNtYWxsIG5hbWVzcGFjZXMuXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBSZWRpc0NvbmZpZ1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFt1cmxdIEZ1bGwgcmVkaXM6Ly8gKG9yIHJlZGlzczovLykgY29ubmVjdGlvbiBzdHJpbmdcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbaG9zdF0gU2VydmVyIGhvc3QgKGRlZmF1bHRzIHRvIGxvY2FsaG9zdClcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbcG9ydF0gU2VydmVyIHBvcnQgKGRlZmF1bHRzIHRvIDYzNzkpXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3VzZXJuYW1lXSBBQ0wgdXNlcm5hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbcGFzc3dvcmRdIEFDTCBwYXNzd29yZFxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtkYXRhYmFzZV0gTG9naWNhbCBkYXRhYmFzZSBpbmRleFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtwcmVmaXhdIEtleSBuYW1lc3BhY2UgKGRlZmF1bHRzIHRvIGRlY2FmOnJlZGlzKVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFt1c2VyXSBJZGVudGl0eSByZXBvcnRlZCBvbiBjcmVhdGVkL3VwZGF0ZWQgcmVjb3Jkc1xuICogQHByb3BlcnR5IHtSZWRpc1Rsc0NvbmZpZ30gW3Rsc10gRW5hYmxlIFRMUyBhbmQgb3B0aW9uYWxseSBzdXBwbHkgdmVyaWZpY2F0aW9uIG9wdGlvbnNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6cmVkaXNcbiAqL1xuZXhwb3J0IHR5cGUgUmVkaXNDb25maWcgPSB7XG4gIHVybD86IHN0cmluZztcbiAgaG9zdD86IHN0cmluZztcbiAgcG9ydD86IG51bWJlcjtcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICBkYXRhYmFzZT86IG51bWJlcjtcbiAgcHJlZml4Pzogc3RyaW5nO1xuICB1c2VyPzogc3RyaW5nO1xuICB0bHM/OiBSZWRpc1Rsc0NvbmZpZztcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEFkYXB0ZXIgZmxhZ3MgZW5yaWNoZWQgd2l0aCB0aGUgYWN0aW5nIHVzZXIgaWRlbnRpdHlcbiAqIEBzdW1tYXJ5IEV4dGVuZHMgdGhlIGJhc2UgYWRhcHRlciBmbGFncyB3aXRoIHRoZSBgVVVJRGAgZmllbGQgdXNlZCBieSB0aGVcbiAqIGBjcmVhdGVkQnlgL2B1cGRhdGVkQnlgIGRlY29yYXRvcnMuXG4gKiBAaW50ZXJmYWNlIFJlZGlzRmxhZ3NcbiAqIEBleHRlbmRzIEFkYXB0ZXJGbGFnc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFVVSUQgSWRlbnRpdHkgb2YgdGhlIHVzZXIgcGVyZm9ybWluZyB0aGUgb3BlcmF0aW9uXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnJlZGlzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVkaXNGbGFncyBleHRlbmRzIEFkYXB0ZXJGbGFncyB7XG4gIFVVSUQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29udGV4dHVhbCB0eXBlIHVzZWQgYnkgdGhlIFJlZGlzIGFkYXB0ZXJcbiAqIEB0eXBlZGVmIHtDb250ZXh0PFJlZGlzRmxhZ3M+fSBSZWRpc0NvbnRleHRcbiAqIEBtZW1iZXJPZiBtb2R1bGU6cmVkaXNcbiAqL1xuZXhwb3J0IHR5cGUgUmVkaXNDb250ZXh0ID0gQ29udGV4dDxSZWRpc0ZsYWdzPjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmF3IHF1ZXJ5IGRlc2NyaXB0b3IgYXBwbGllZCBpbiBtZW1vcnkgYnkgdGhlIFJlZGlzIGFkYXB0ZXJcbiAqIEBzdW1tYXJ5IE1pcnJvcnMgdGhlIGluLW1lbW9yeSBxdWVyeSBzaGFwZSBvZiB0aGUgY29yZSBSQU0gYWRhcHRlci4gVGhlIFJlZGlzXG4gKiBhZGFwdGVyIGxvYWRzIHRoZSBtYXRjaGluZyB0YWJsZSwgcmV2ZXJ0cyByZWNvcmRzIHRvIG1vZGVscyBhbmQgZXZhbHVhdGVzIHRoZVxuICogcHJlZGljYXRlL3NvcnQvYWdncmVnYXRpb24gZnVuY3Rpb25zIGluIEphdmFTY3JpcHQuXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBSYXdSZWRpc1F1ZXJ5XG4gKiBAdGVtcGxhdGUgTVxuICogQG1lbWJlck9mIG1vZHVsZTpyZWRpc1xuICovXG5leHBvcnQgdHlwZSBSYXdSZWRpc1F1ZXJ5PE0gZXh0ZW5kcyBNb2RlbCA9IGFueT4gPSB7XG4gIHNlbGVjdDogdW5kZWZpbmVkIHwgKGtleW9mIE0pW107XG4gIGZyb206IENvbnN0cnVjdG9yPE0+O1xuICB3aGVyZTogKGVsOiBNKSA9PiBib29sZWFuO1xuICBzb3J0PzogKGVsOiBNLCBlbDI6IE0pID0+IG51bWJlcjtcbiAgZ3JvdXBCeT86IChrZXlvZiBNKVtdO1xuICBsaW1pdD86IG51bWJlcjtcbiAgc2tpcD86IG51bWJlcjtcbiAgY291bnQ/OiBrZXlvZiBNIHwgbnVsbDtcbiAgY291bnREaXN0aW5jdD86IGtleW9mIE07XG4gIG1pbj86IGtleW9mIE07XG4gIG1heD86IGtleW9mIE07XG4gIHN1bT86IGtleW9mIE07XG4gIGF2Zz86IGtleW9mIE07XG4gIGRpc3RpbmN0Pzoga2V5b2YgTTtcbn07XG4iXX0=
|
|
@@ -71,4 +71,4 @@ export async function createInfraCredentialBootstrap(...args) {
|
|
|
71
71
|
await service.boot(...args);
|
|
72
72
|
return new InfraCredentialBootstrap(service);
|
|
73
73
|
}
|
|
74
|
-
//# sourceMappingURL=InfraCredentialBootstrap.js.map
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5mcmFDcmVkZW50aWFsQm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlY3JldHMvSW5mcmFDcmVkZW50aWFsQm9vdHN0cmFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1CQSxPQUFPLEVBQUUsZUFBZSxFQUFFLHNCQUFhO0FBc0R2Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQzs7O09BR0c7SUFDSCxZQUFxQixPQUF5QjtRQUF6QixZQUFPLEdBQVAsT0FBTyxDQUFrQjtJQUFHLENBQUM7SUFFbEQ7Ozs7Ozs7O09BUUc7SUFDSCxLQUFLLENBQUMsTUFBTSxDQUNWLEtBQXFDLEVBQ3JDLEdBQUcsSUFBVztRQUVkLE1BQU0sVUFBVSxHQUFzQixFQUFFLENBQUM7UUFDekMsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN6QixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDakUsSUFBSSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztnQkFBRSxTQUFTO1lBQ3hDLFVBQVUsQ0FBQyxJQUFJLENBQ2IsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FDdEIsSUFBSSxDQUFDLElBQUksRUFDVCxJQUFJLENBQUMsS0FBSyxFQUNWLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFDbEQsR0FBRyxJQUFJLENBQ1IsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxRQUFRLENBQ1osSUFBZ0IsRUFDaEIsR0FBRyxJQUFXO1FBRWQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBSSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztDQUNGO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsOEJBQThCLENBQ2xELEdBQUcsSUFBVztJQUVkLE1BQU0sT0FBTyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7SUFDdEMsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDNUIsT0FBTyxJQUFJLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL3NlY3JldHMvaW5mcmEtY3JlZGVudGlhbC1ib290c3RyYXBcbiAqIEBzdW1tYXJ5IElkZW1wb3RlbnQgc2VlZGluZyBvZiBpbmZyYXN0cnVjdHVyZSBjcmVkZW50aWFscyBpbnRvIGEgc2VjcmV0IHN0b3JlLlxuICogQGRlc2NyaXB0aW9uIFByb3ZpZGVzIHRoZSBtaW5pbWFsIHtAbGluayBJbmZyYVNlY3JldFN0b3JlfSBjb250cmFjdCBjb25zdW1lZFxuICogYnkge0BsaW5rIEluZnJhQ3JlZGVudGlhbEJvb3RzdHJhcH0sIHRoZSB7QGxpbmsgSW5mcmFDcmVkZW50aWFsU2VlZH0gaW5wdXRcbiAqIHNoYXBlLCBhbmQgdGhlIGBjcmVhdGVJbmZyYUNyZWRlbnRpYWxCb290c3RyYXBgIGZhY3RvcnkgdGhhdCB3aXJlcyB0aGVcbiAqIGJvb3RzdHJhcCB0byBhIGJvb3RlZCBge0BsaW5rIEZzU2VjcmV0U2VydmljZX1gLiBJbnRlbmRlZCBmb3Igc3RhcnR1cFxuICogcm91dGluZXMgdGhhdCBtdXN0IGd1YXJhbnRlZSBhIGtub3duIHNldCBvZiBjcmVkZW50aWFscyAoZm9yIGV4YW1wbGUgdGhlXG4gKiBNYWlscGl0IFNNVFAgY3JlZGVudGlhbHMpIGV4aXN0cyBiZWZvcmUgc2VydmljZXMgYm9vdCBhZ2FpbnN0IHRoZW0uXG4gKi9cbmltcG9ydCB0eXBlIHtcbiAgRGVsZXRlU2VjcmV0T3B0aW9ucyxcbiAgRXhpc3RzU2VjcmV0T3B0aW9ucyxcbiAgUmV0cmlldmVTZWNyZXRPcHRpb25zLFxuICBTZWNyZXROYW1lLFxuICBTZWNyZXRQYXlsb2FkLFxuICBTZWNyZXRSZWZlcmVuY2UsXG4gIFN0b3JlU2VjcmV0T3B0aW9ucyxcbn0gZnJvbSBcIi4vY29yZVwiO1xuaW1wb3J0IHsgRnNTZWNyZXRTZXJ2aWNlIH0gZnJvbSBcIi4vZnNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTWluaW1hbCBzZWNyZXQtc3RvcmUgY29udHJhY3QgcmVxdWlyZWQgYnkgdGhlIGNyZWRlbnRpYWwgYm9vdHN0cmFwXG4gKiBAc3VtbWFyeSBTdHJ1Y3R1cmFsIHN1YnNldCBvZiB0aGUgc2VjcmV0IHNlcnZpY2UgQVBJIChgc3RvcmVgLCBgcmV0cmlldmVgLFxuICogYGRlbGV0ZWAsIGBleGlzdHNgKSBzbyBhbnkgYmFja2VuZCDigJQgaW5jbHVkaW5nIHRlc3QgZG91YmxlcyDigJQgY2FuIGJhY2sgdGhlXG4gKiBib290c3RyYXAgd2l0aG91dCBpbXBvcnRpbmcgdGhlIGZ1bGwgc2VydmljZSBoaWVyYXJjaHkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5mcmFTZWNyZXRTdG9yZSB7XG4gIC8qKiBAZGVzY3JpcHRpb24gU3RvcmVzIChvciBvdmVyd3JpdGVzKSBhIG5hbWVkIHNlY3JldCBwYXlsb2FkLiAqL1xuICBzdG9yZTxUIGV4dGVuZHMgU2VjcmV0UGF5bG9hZCA9IFNlY3JldFBheWxvYWQ+KFxuICAgIG5hbWU6IFNlY3JldE5hbWUsXG4gICAgdmFsdWU6IFQsXG4gICAgb3B0aW9ucz86IFN0b3JlU2VjcmV0T3B0aW9ucyxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPFNlY3JldFJlZmVyZW5jZT47XG4gIC8qKiBAZGVzY3JpcHRpb24gUmVhZHMgYW5kIGRlY3J5cHRzIGEgc3RvcmVkIHNlY3JldCBwYXlsb2FkLiAqL1xuICByZXRyaWV2ZTxUIGV4dGVuZHMgU2VjcmV0UGF5bG9hZCA9IFNlY3JldFBheWxvYWQ+KFxuICAgIG5hbWVPclJlZjogU2VjcmV0TmFtZSB8IFNlY3JldFJlZmVyZW5jZSxcbiAgICBvcHRpb25zPzogUmV0cmlldmVTZWNyZXRPcHRpb25zLFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8VD47XG4gIC8qKiBAZGVzY3JpcHRpb24gRGVsZXRlcyBhIHN0b3JlZCBzZWNyZXQuICovXG4gIGRlbGV0ZShcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgb3B0aW9ucz86IERlbGV0ZVNlY3JldE9wdGlvbnMsXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUHJvbWlzZTx2b2lkPjtcbiAgLyoqIEBkZXNjcmlwdGlvbiBDaGVja3Mgd2hldGhlciBhIHNlY3JldCBleGlzdHMuICovXG4gIGV4aXN0cyhcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgb3B0aW9ucz86IEV4aXN0c1NlY3JldE9wdGlvbnMsXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUHJvbWlzZTxib29sZWFuPjtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gT25lIGNyZWRlbnRpYWwgdG8gZ3VhcmFudGVlIGV4aXN0ZW5jZSBvZiBpbiB0aGUgc2VjcmV0IHN0b3JlXG4gKiBAc3VtbWFyeSBgb3ZlcndyaXRlOiBmYWxzZWAgKHRoZSBkZWZhdWx0KSBtYWtlcyBgZW5zdXJlYCBza2lwIHNlZWRzIHdob3NlXG4gKiBuYW1lIGFscmVhZHkgZXhpc3RzLCBrZWVwaW5nIHN0b3JlZCB2YWx1ZXMgc3RhYmxlIGFjcm9zcyByZXN0YXJ0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmZyYUNyZWRlbnRpYWxTZWVkIHtcbiAgLyoqIEBkZXNjcmlwdGlvbiBTZWNyZXQgbmFtZSB0byBzZWVkIChub3JtYWxpemVkIGJ5IHRoZSBiYWNraW5nIHN0b3JlKS4gKi9cbiAgbmFtZTogU2VjcmV0TmFtZTtcbiAgLyoqIEBkZXNjcmlwdGlvbiBQYXlsb2FkIHRvIHN0b3JlLiAqL1xuICB2YWx1ZTogU2VjcmV0UGF5bG9hZDtcbiAgLyoqIEBkZXNjcmlwdGlvbiBPcHRpb25hbCBjb250ZW50IHR5cGUgcmVjb3JkZWQgd2l0aCB0aGUgc2VjcmV0LiAqL1xuICBjb250ZW50VHlwZT86IHN0cmluZztcbiAgLyoqIEBkZXNjcmlwdGlvbiBPcHRpb25hbCB0YWdzIHJlY29yZGVkIHdpdGggdGhlIHNlY3JldC4gKi9cbiAgdGFncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKiBAZGVzY3JpcHRpb24gV2hlbiBgdHJ1ZWAsIHJlLXN0b3JlIChvdmVyd3JpdGUpIGV2ZW4gaWYgdGhlIHNlY3JldCBhbHJlYWR5IGV4aXN0cy4gKi9cbiAgb3ZlcndyaXRlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSWRlbXBvdGVudCBpbmZyYXN0cnVjdHVyZSBjcmVkZW50aWFsIHNlZWRlclxuICogQHN1bW1hcnkgV3JhcHMgYW4ge0BsaW5rIEluZnJhU2VjcmV0U3RvcmV9IGFuZCBndWFyYW50ZWVzIGEgc2V0IG9mIG5hbWVkXG4gKiBjcmVkZW50aWFscyBleGlzdHM6IGBlbnN1cmVgIHN0b3JlcyBlYWNoIG1pc3Npbmcgc2VlZCAoc2tpcHBpbmcgZXhpc3RpbmdcbiAqIG9uZXMgdW5sZXNzIGBvdmVyd3JpdGVgIGlzIHNldCksIGByZXRyaWV2ZWAgcmVhZHMgb25lIGJhY2suIFJlZmVyZW5jZXNcbiAqIHJldHVybmVkIGJ5IGBlbnN1cmVgIGlkZW50aWZ5IHRoZSBzdG9yZWQgc2VjcmV0cyBmb3IgbGF0ZXIgY2xlYW51cC5cbiAqIEBjYXRlZ29yeSBTZWNyZXRzXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IGNyZWF0ZUluZnJhQ3JlZGVudGlhbEJvb3RzdHJhcCB9IGZyb20gXCJAZGVjYWYtdHMvaW50ZWdyYXRpb25zL3NlY3JldHNcIjtcbiAqXG4gKiBjb25zdCBib290c3RyYXAgPSBhd2FpdCBjcmVhdGVJbmZyYUNyZWRlbnRpYWxCb290c3RyYXAoe1xuICogICBrZXlTZWNyZXQ6IFwibWFzdGVyLWtleVwiLFxuICogfSk7XG4gKiBhd2FpdCBib290c3RyYXAuZW5zdXJlKFtcbiAqICAgeyBuYW1lOiBcInNtdHAtdXNlclwiLCB2YWx1ZTogeyB2YWx1ZTogXCJtYWlscGl0XCIgfSB9LFxuICogXSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIEluZnJhQ3JlZGVudGlhbEJvb3RzdHJhcCB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIGJvb3RzdHJhcCBib3VuZCB0byB0aGUgZ2l2ZW4gc2VjcmV0IHN0b3JlXG4gICAqIEBwYXJhbSB7SW5mcmFTZWNyZXRTdG9yZX0gc2VydmljZSAtIFRoZSBiYWNraW5nIHNlY3JldCBzdG9yZSAodHlwaWNhbGx5IGFuIGBGc1NlY3JldFNlcnZpY2VgKS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHNlcnZpY2U6IEluZnJhU2VjcmV0U3RvcmUpIHt9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBFbnN1cmVzIGV2ZXJ5IHNlZWQgZXhpc3RzIGluIHRoZSBiYWNraW5nIHN0b3JlXG4gICAqIEBzdW1tYXJ5IEZvciBlYWNoIHNlZWQsIHNraXBzIHdoZW4gdGhlIHNlY3JldCBhbHJlYWR5IGV4aXN0cyBhbmRcbiAgICogYG92ZXJ3cml0ZWAgaXMgbm90IHNldDsgb3RoZXJ3aXNlIHN0b3JlcyBpdCBhbmQgY29sbGVjdHMgdGhlIHJldHVybmVkXG4gICAqIHJlZmVyZW5jZXMuIEV4aXN0aW5nLWJ1dC1za2lwcGVkIHNlZWRzIGNvbnRyaWJ1dGUgbm8gcmVmZXJlbmNlLlxuICAgKiBAcGFyYW0ge3JlYWRvbmx5IEluZnJhQ3JlZGVudGlhbFNlZWRbXX0gc2VlZHMgLSBUaGUgY3JlZGVudGlhbHMgdG8gZ3VhcmFudGVlLlxuICAgKiBAcGFyYW0ge2FueVtdfSBhcmdzIC0gT3B0aW9uYWwgdHJhaWxpbmcgZGVjYWYgYENvbnRleHRgIGZvcndhcmRlZCB0byB0aGUgc3RvcmUuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFNlY3JldFJlZmVyZW5jZVtdPn0gUmVmZXJlbmNlcyBmb3IgdGhlIHNlZWRzIGFjdHVhbGx5IHN0b3JlZCBkdXJpbmcgdGhpcyBjYWxsLlxuICAgKi9cbiAgYXN5bmMgZW5zdXJlKFxuICAgIHNlZWRzOiByZWFkb25seSBJbmZyYUNyZWRlbnRpYWxTZWVkW10sXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUHJvbWlzZTxTZWNyZXRSZWZlcmVuY2VbXT4ge1xuICAgIGNvbnN0IHJlZmVyZW5jZXM6IFNlY3JldFJlZmVyZW5jZVtdID0gW107XG4gICAgZm9yIChjb25zdCBzZWVkIG9mIHNlZWRzKSB7XG4gICAgICBjb25zdCBleGlzdHMgPSBhd2FpdCB0aGlzLnNlcnZpY2UuZXhpc3RzKHNlZWQubmFtZSwge30sIC4uLmFyZ3MpO1xuICAgICAgaWYgKGV4aXN0cyAmJiAhc2VlZC5vdmVyd3JpdGUpIGNvbnRpbnVlO1xuICAgICAgcmVmZXJlbmNlcy5wdXNoKFxuICAgICAgICBhd2FpdCB0aGlzLnNlcnZpY2Uuc3RvcmUoXG4gICAgICAgICAgc2VlZC5uYW1lLFxuICAgICAgICAgIHNlZWQudmFsdWUsXG4gICAgICAgICAgeyBjb250ZW50VHlwZTogc2VlZC5jb250ZW50VHlwZSwgdGFnczogc2VlZC50YWdzIH0sXG4gICAgICAgICAgLi4uYXJnc1xuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gcmVmZXJlbmNlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmV0cmlldmVzIGEgcHJldmlvdXNseSBzZWVkZWQgY3JlZGVudGlhbCBwYXlsb2FkXG4gICAqIEBzdW1tYXJ5IFRoaW4gd3JhcHBlciBvdmVyIHRoZSBiYWNraW5nIHN0b3JlJ3MgYHJldHJpZXZlYCwgcmVzb2x2aW5nXG4gICAqIHRocm91Z2ggdGhlIGJvb3RzdHJhcCdzIHN0b3JlIHNvIGNhbGxlcnMgZG8gbm90IG5lZWQgdGhlIHNlcnZpY2UgaW5zdGFuY2UuXG4gICAqIEB0ZW1wbGF0ZSBUIC0gVGhlIGV4cGVjdGVkIHBheWxvYWQgdHlwZS5cbiAgICogQHBhcmFtIHtTZWNyZXROYW1lfSBuYW1lIC0gVGhlIHNlY3JldCBuYW1lIHRvIHJlYWQuXG4gICAqIEBwYXJhbSB7YW55W119IGFyZ3MgLSBPcHRpb25hbCB0cmFpbGluZyBkZWNhZiBgQ29udGV4dGAgZm9yd2FyZGVkIHRvIHRoZSBzdG9yZS5cbiAgICogQHJldHVybnMge1Byb21pc2U8VD59IFRoZSBkZWNyeXB0ZWQgcGF5bG9hZC5cbiAgICovXG4gIGFzeW5jIHJldHJpZXZlPFQgZXh0ZW5kcyBTZWNyZXRQYXlsb2FkID0gU2VjcmV0UGF5bG9hZD4oXG4gICAgbmFtZTogU2VjcmV0TmFtZSxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLnJldHJpZXZlPFQ+KG5hbWUsIHt9LCAuLi5hcmdzKTtcbiAgfVxufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgYm9vdHN0cmFwIHdpcmVkIHRvIGEgZnJlc2hseSBib290ZWQgZmlsZXN5c3RlbSBzZWNyZXQgc2VydmljZVxuICogQHN1bW1hcnkgQ29uc3RydWN0cyBhbiBge0BsaW5rIEZzU2VjcmV0U2VydmljZX1gLCBib290cyBpdCB3aXRoIHRoZSBzdXBwbGllZFxuICogYXJndW1lbnRzIChleHBsaWNpdCBjb25maWcgb3IgdGhlIGBzZWNyZXRzLmZzYCBFbnZpcm9ubWVudCBzbGljZSksIGFuZCB3cmFwc1xuICogaXQgaW4gYW4ge0BsaW5rIEluZnJhQ3JlZGVudGlhbEJvb3RzdHJhcH0uXG4gKiBAcGFyYW0ge2FueVtdfSBhcmdzIC0gYGJvb3QoKWAgYXJndW1lbnRzIGZvcndhcmRlZCB0byB0aGUgYEZzU2VjcmV0U2VydmljZWAgKGNvbmZpZyBhbmQgb3B0aW9uYWwgYENvbnRleHRgKS5cbiAqIEByZXR1cm5zIHtQcm9taXNlPEluZnJhQ3JlZGVudGlhbEJvb3RzdHJhcD59IFRoZSBib290c3RyYXAgYmFja2VkIGJ5IHRoZSBib290ZWQgc2VydmljZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUluZnJhQ3JlZGVudGlhbEJvb3RzdHJhcChcbiAgLi4uYXJnczogYW55W11cbik6IFByb21pc2U8SW5mcmFDcmVkZW50aWFsQm9vdHN0cmFwPiB7XG4gIGNvbnN0IHNlcnZpY2UgPSBuZXcgRnNTZWNyZXRTZXJ2aWNlKCk7XG4gIGF3YWl0IHNlcnZpY2UuYm9vdCguLi5hcmdzKTtcbiAgcmV0dXJuIG5ldyBJbmZyYUNyZWRlbnRpYWxCb290c3RyYXAoc2VydmljZSk7XG59XG4iXX0=
|
|
@@ -20,4 +20,4 @@ export const AwsSecretEnvironment = SecretEnvironment.accumulate({
|
|
|
20
20
|
},
|
|
21
21
|
},
|
|
22
22
|
});
|
|
23
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXdzU2VjcmV0RW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VjcmV0cy9hd3MvQXdzU2VjcmV0RW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHVDQUFrQztBQXFCOUQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsaUJBQWlCLENBQUMsVUFBVSxDQUFDO0lBQy9ELE9BQU8sRUFBRTtRQUNQLEdBQUcsRUFBRTtZQUNILE1BQU0sRUFBRSxFQUFFO1lBQ1YsUUFBUSxFQUFFLEVBQUU7WUFDWixLQUFLLEVBQUUsRUFBRTtZQUNULFdBQVcsRUFBRTtnQkFDWCxXQUFXLEVBQUUsRUFBRTtnQkFDZixlQUFlLEVBQUUsRUFBRTtnQkFDbkIsWUFBWSxFQUFFLEVBQUU7YUFDakI7U0FDRjtLQUNGO0NBQzJCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvc2VjcmV0cy9hd3MvZW52aXJvbm1lbnRcbiAqIEBzdW1tYXJ5IEFXUyBTZWNyZXRzIE1hbmFnZXIgZW52aXJvbm1lbnQuXG4gKiBAZGVzY3JpcHRpb24gRXh0ZW5kcyB0aGUgY29tbW9uIHNlY3JldHMgZW52aXJvbm1lbnQgd2l0aCB0aGUgYHNlY3JldHMuYXdzYCBzaGFwZVxuICogbWF0Y2hpbmcge0BsaW5rIEF3c1NlY3JldFNlcnZpY2VDb25maWd9LCBzbyB7QGxpbmsgQXdzU2VjcmV0U2VydmljZX0gY2FuIGZhbGwgYmFja1xuICogdG8gaXQgd2hlbiBubyBjb25maWcgaXMgcGFzc2VkIHRvIGBpbml0aWFsaXplYC5cbiAqL1xuaW1wb3J0IHsgU2VjcmV0RW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vY29yZS9TZWNyZXRFbnZpcm9ubWVudFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c1NlY3JldEVudmlyb25tZW50Q3JlZGVudGlhbHMge1xuICBhY2Nlc3NLZXlJZD86IHN0cmluZztcbiAgc2VjcmV0QWNjZXNzS2V5Pzogc3RyaW5nO1xuICBzZXNzaW9uVG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXdzU2VjcmV0RW52aXJvbm1lbnRDb25maWcge1xuICByZWdpb246IHN0cmluZztcbiAgZW5kcG9pbnQ/OiBzdHJpbmc7XG4gIGtleUlkPzogc3RyaW5nO1xuICBjcmVkZW50aWFscz86IEF3c1NlY3JldEVudmlyb25tZW50Q3JlZGVudGlhbHM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXdzU2VjcmV0RW52aXJvbm1lbnRTaGFwZSB7XG4gIHNlY3JldHM6IHtcbiAgICBhd3M6IEF3c1NlY3JldEVudmlyb25tZW50Q29uZmlnO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgQXdzU2VjcmV0RW52aXJvbm1lbnQgPSBTZWNyZXRFbnZpcm9ubWVudC5hY2N1bXVsYXRlKHtcbiAgc2VjcmV0czoge1xuICAgIGF3czoge1xuICAgICAgcmVnaW9uOiBcIlwiLFxuICAgICAgZW5kcG9pbnQ6IFwiXCIsXG4gICAgICBrZXlJZDogXCJcIixcbiAgICAgIGNyZWRlbnRpYWxzOiB7XG4gICAgICAgIGFjY2Vzc0tleUlkOiBcIlwiLFxuICAgICAgICBzZWNyZXRBY2Nlc3NLZXk6IFwiXCIsXG4gICAgICAgIHNlc3Npb25Ub2tlbjogXCJcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbn0gYXMgQXdzU2VjcmV0RW52aXJvbm1lbnRTaGFwZSk7XG4iXX0=
|
|
@@ -320,4 +320,4 @@ export class AwsSecretService extends ClientBasedSecretService {
|
|
|
320
320
|
return new InternalError(err);
|
|
321
321
|
}
|
|
322
322
|
}
|
|
323
|
-
//# sourceMappingURL=AwsSecretService.js.map
|
|
323
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXdzU2VjcmV0U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZWNyZXRzL2F3cy9Bd3NTZWNyZXRTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUVyQixxQkFBcUIsRUFFckIsbUJBQW1CLEVBRW5CLGtCQUFrQixFQUVsQixxQkFBcUIsR0FFdEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsa0JBQWtCLEdBRW5CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLHdCQUF3QixHQU16QiwyQkFBMkI7QUFPNUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQjtBQUM3RSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHdCQUF3QixHQUV6QiwyQkFBMkI7QUFFNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtDQUErQjtBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLDJDQUFzQztBQUMxRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLFNBQVMsRUFDVCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsR0FDZCxNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx3QkFHckM7SUFDQyxJQUFJLFFBQVE7UUFDVixPQUFPLHFCQUFxQixDQUFDO0lBQy9CLENBQUM7SUFFUyxxQkFBcUI7UUFDN0IsTUFBTSxHQUFHLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUM3QyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDOUIsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFD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UUFDbEMsQ0FBQztRQUVELElBQ0UsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFDakMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDcEMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFDbkMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDaEMsQ0FBQztZQUNELE9BQU8sSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUVELE9BQU8sSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU2VjcmV0c01hbmFnZXJDbGllbnQsXG4gIENyZWF0ZVNlY3JldENvbW1hbmQsXG4gIEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIFB1dFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgUHV0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIERlbGV0ZVNlY3JldENvbW1hbmQsXG4gIERlbGV0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgTGlzdFNlY3JldHNDb21tYW5kLFxuICBMaXN0U2VjcmV0c0NvbW1hbmRJbnB1dCxcbiAgRGVzY3JpYmVTZWNyZXRDb21tYW5kLFxuICBEZXNjcmliZVNlY3JldENvbW1hbmRJbnB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIjtcbmltcG9ydCB7XG4gIEF1dGhvcml6YXRpb25FcnJvcixcbiAgdHlwZSBNYXliZUNvbnRleHR1YWxBcmcsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgQ2xpZW50QmFzZWRTZWNyZXRTZXJ2aWNlLFxuICBTZWNyZXRQcm92aWRlcixcbiAgU2VjcmV0TmFtZSxcbiAgU2VjcmV0UGF5bG9hZCxcbiAgU2VjcmV0UmVmZXJlbmNlLFxuICBTZWNyZXRNZXRhZGF0YSxcbn0gZnJvbSBcIi4uLy4uL3NlY3JldHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgU3RvcmVTZWNyZXRPcHRpb25zLFxuICBSZXRyaWV2ZVNlY3JldE9wdGlvbnMsXG4gIERlbGV0ZVNlY3JldE9wdGlvbnMsXG4gIExpc3RTZWNyZXRzT3B0aW9ucyxcbn0gZnJvbSBcIi4uLy4uL3NlY3JldHMvY29yZVwiO1xuaW1wb3J0IHsgdmFsaWRhdGVTZWNyZXROYW1lLCBub3JtYWxpemVTZWNyZXROYW1lIH0gZnJvbSBcIi4uLy4uL3NlY3JldHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgc2VyaWFsaXplU2VjcmV0UGF5bG9hZCxcbiAgZGVzZXJpYWxpemVTZWNyZXRQYXlsb2FkLFxuICB0eXBlIFNlcmlhbGl6ZWRTZWNyZXRQYXlsb2FkLFxufSBmcm9tIFwiLi4vLi4vc2VjcmV0cy9jb3JlXCI7XG5pbXBvcnQgeyBBd3NTZWNyZXRTZXJ2aWNlQ29uZmlnIH0gZnJvbSBcIi4vQXdzU2VjcmV0U2VydmljZUNvbmZpZ1wiO1xuaW1wb3J0IHsgQXdzU2VjcmV0RW52aXJvbm1lbnQgfSBmcm9tIFwiLi9Bd3NTZWNyZXRFbnZpcm9ubWVudFwiO1xuaW1wb3J0IHsgZW52U3RyaW5nIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9lbnZpcm9ubWVudFZhbHVlXCI7XG5pbXBvcnQge1xuICBCYWRSZXF1ZXN0RXJyb3IsXG4gIEJhc2VFcnJvcixcbiAgQ29uZmxpY3RFcnJvcixcbiAgSW50ZXJuYWxFcnJvcixcbiAgTm90Rm91bmRFcnJvcixcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5cbmV4cG9ydCBjbGFzcyBBd3NTZWNyZXRTZXJ2aWNlIGV4dGVuZHMgQ2xpZW50QmFzZWRTZWNyZXRTZXJ2aWNlPFxuICBTZWNyZXRzTWFuYWdlckNsaWVudCxcbiAgQXdzU2VjcmV0U2VydmljZUNvbmZpZ1xuPiB7XG4gIGdldCBwcm92aWRlcigpOiBTZWNyZXRQcm92aWRlciB7XG4gICAgcmV0dXJuIFwiYXdzLXNlY3JldHMtbWFuYWdlclwiO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbmZpZ0Zyb21FbnZpcm9ubWVudCgpOiBBd3NTZWNyZXRTZXJ2aWNlQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBlbnYgPSBBd3NTZWNyZXRFbnZpcm9ubWVudC5zZWNyZXRzLmF3cztcbiAgICBjb25zdCByZWdpb24gPSBlbnZTdHJpbmcoZW52Py5yZWdpb24pO1xuICAgIGlmICghcmVnaW9uKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGFjY2Vzc0tleUlkID0gZW52U3RyaW5nKGVudi5jcmVkZW50aWFscz8uYWNjZXNzS2V5SWQpO1xuICAgIHJldHVybiB7XG4gICAgICBwcm92aWRlcjogXCJhd3Mtc2VjcmV0cy1tYW5hZ2VyXCIsXG4gICAgICByZWdpb24sXG4gICAgICBlbmRwb2ludDogZW52U3RyaW5nKGVudi5lbmRwb2ludCksXG4gICAgICBrZXlJZDogZW52U3RyaW5nKGVudi5rZXlJZCksXG4gICAgICBjcmVkZW50aWFsczogYWNjZXNzS2V5SWRcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBhY2Nlc3NLZXlJZCxcbiAgICAgICAgICAgIHNlY3JldEFjY2Vzc0tleTogZW52U3RyaW5nKGVudi5jcmVkZW50aWFscz8uc2VjcmV0QWNjZXNzS2V5KSBhcyBzdHJpbmcsXG4gICAgICAgICAgICBzZXNzaW9uVG9rZW46IGVudlN0cmluZyhlbnYuY3JlZGVudGlhbHM/LnNlc3Npb25Ub2tlbiksXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZShcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHsgY29uZmlnOiBBd3NTZWNyZXRTZXJ2aWNlQ29uZmlnOyBjbGllbnQ6IFNlY3JldHNNYW5hZ2VyQ2xpZW50IH0+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiaW5pdGlhbGl6ZVwiLCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5pbml0aWFsaXplXG4gICAgKTtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmdldENvbmZpZ0Zyb21BcmdzPEF3c1NlY3JldFNlcnZpY2VDb25maWc+KC4uLmFyZ3MpO1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBTZWNyZXRzTWFuYWdlckNsaWVudCh7XG4gICAgICByZWdpb246IGNvbmZpZy5yZWdpb24sXG4gICAgICBjcmVkZW50aWFsczogY29uZmlnLmNyZWRlbnRpYWxzLFxuICAgICAgZW5kcG9pbnQ6IGNvbmZpZy5lbmRwb2ludCxcbiAgICB9KTtcbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy5fY2xpZW50ID0gY2xpZW50O1xuICAgIGxvZy52ZXJib3NlKFwiSW5pdGlhbGl6ZWQgQVdTIFNlY3JldHMgTWFuYWdlciBjbGllbnRcIik7XG4gICAgcmV0dXJuIHsgY29uZmlnLCBjbGllbnQgfTtcbiAgfVxuXG4gIGFzeW5jIHN0b3JlPFQgZXh0ZW5kcyBTZWNyZXRQYXlsb2FkID0gU2VjcmV0UGF5bG9hZD4oXG4gICAgbmFtZTogU2VjcmV0TmFtZSxcbiAgICB2YWx1ZTogVCxcbiAgICBvcHRpb25zOiBTdG9yZVNlY3JldE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPFNlY3JldFJlZmVyZW5jZT4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJzdG9yZVwiLCB0cnVlKSkuZm9yKHRoaXMuc3RvcmUpO1xuICAgIGxvZy52ZXJib3NlKGBTdG9yaW5nIHNlY3JldCAke25hbWV9YCk7XG5cbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGVTZWNyZXROYW1lKG5hbWUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXplU2VjcmV0TmFtZShuYW1lKTtcbiAgICBjb25zdCBzZXJpYWxpemVkID0gc2VyaWFsaXplU2VjcmV0UGF5bG9hZCh2YWx1ZSk7XG4gICAgY29uc3Qgc2VjcmV0U3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoc2VyaWFsaXplZCk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5jbGllbnQuc2VuZChcbiAgICAgICAgbmV3IENyZWF0ZVNlY3JldENvbW1hbmQoe1xuICAgICAgICAgIE5hbWU6IG5vcm1hbGl6ZWROYW1lLFxuICAgICAgICAgIFNlY3JldFN0cmluZzogc2VjcmV0U3RyaW5nLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICBpZiAoZXJyb3I/Lm5hbWUgPT09IFwiUmVzb3VyY2VFeGlzdHNFeGNlcHRpb25cIikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGlucHV0OiBQdXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCA9IHtcbiAgICAgICAgICAgIFNlY3JldElkOiBub3JtYWxpemVkTmFtZSxcbiAgICAgICAgICAgIFNlY3JldFN0cmluZzogc2VjcmV0U3RyaW5nLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYXdhaXQgdGhpcy5jbGllbnQuc2VuZChuZXcgUHV0U2VjcmV0VmFsdWVDb21tYW5kKGlucHV0KSk7XG4gICAgICAgIH0gY2F0Y2ggKHB1dEVycm9yKSB7XG4gICAgICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKHB1dEVycm9yIGFzIEVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsXG4gICAgICBuYW1lOiBub3JtYWxpemVkTmFtZSxcbiAgICAgIHZlcnNpb246IG9wdGlvbnMudmVyc2lvbixcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgcmV0cmlldmU8VCBleHRlbmRzIFNlY3JldFBheWxvYWQgPSBTZWNyZXRQYXlsb2FkPihcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgb3B0aW9uczogUmV0cmlldmVTZWNyZXRPcHRpb25zID0ge30sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxUPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInJldHJpZXZlXCIsIHRydWUpKS5mb3IoXG4gICAgICB0aGlzLnJldHJpZXZlXG4gICAgKTtcbiAgICBjb25zdCBuYW1lU3RyID0gdHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIiA/IG5hbWVPclJlZiA6IG5hbWVPclJlZi5uYW1lO1xuICAgIGxvZy52ZXJib3NlKGBSZXRyaWV2aW5nIHNlY3JldCAke25hbWVTdHJ9YCk7XG5cbiAgICBsZXQgbmFtZTogc3RyaW5nO1xuICAgIGxldCB2ZXJzaW9uU3RhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIGlmICh0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBuYW1lID0gbmFtZU9yUmVmO1xuICAgICAgdmVyc2lvblN0YWdlID0gb3B0aW9ucy52ZXJzaW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBuYW1lID0gbmFtZU9yUmVmLm5hbWU7XG4gICAgICB2ZXJzaW9uU3RhZ2UgPSBuYW1lT3JSZWYudmVyc2lvbjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGVTZWNyZXROYW1lKG5hbWUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXplU2VjcmV0TmFtZShuYW1lKTtcblxuICAgIGNvbnN0IGlucHV0OiBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCA9IHtcbiAgICAgIFNlY3JldElkOiBub3JtYWxpemVkTmFtZSxcbiAgICB9O1xuXG4gICAgaWYgKHZlcnNpb25TdGFnZSkge1xuICAgICAgaW5wdXQuVmVyc2lvblN0YWdlID0gdmVyc2lvblN0YWdlO1xuICAgIH1cblxuICAgIGxldCBwYXlsb2FkOiBTZXJpYWxpemVkU2VjcmV0UGF5bG9hZDtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5zZW5kKG5ldyBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQoaW5wdXQpKTtcbiAgICAgIGlmIChyZXNwb25zZS5TZWNyZXRTdHJpbmcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwYXlsb2FkID0gSlNPTi5wYXJzZShyZXNwb25zZS5TZWNyZXRTdHJpbmcpIGFzIFNlcmlhbGl6ZWRTZWNyZXRQYXlsb2FkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoXG4gICAgICAgICAgYE5vIHNlY3JldCB2YWx1ZSBmb3VuZCBmb3IgXCIke25vcm1hbGl6ZWROYW1lfVwiYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cblxuICAgIHJldHVybiBkZXNlcmlhbGl6ZVNlY3JldFBheWxvYWQocGF5bG9hZCkgYXMgVDtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZShcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgb3B0aW9uczogRGVsZXRlU2VjcmV0T3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJkZWxldGVcIiwgdHJ1ZSkpLmZvcih0aGlzLmRlbGV0ZSk7XG4gICAgY29uc3QgbmFtZVN0ciA9IHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIgPyBuYW1lT3JSZWYgOiBuYW1lT3JSZWYubmFtZTtcbiAgICBsb2cudmVyYm9zZShgRGVsZXRpbmcgc2VjcmV0ICR7bmFtZVN0cn1gKTtcblxuICAgIGxldCBuYW1lOiBzdHJpbmc7XG5cbiAgICBpZiAodHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuXG4gICAgY29uc3QgaW5wdXQ6IERlbGV0ZVNlY3JldENvbW1hbmRJbnB1dCA9IHtcbiAgICAgIFNlY3JldElkOiBub3JtYWxpemVkTmFtZSxcbiAgICAgIEZvcmNlRGVsZXRlV2l0aG91dFJlY292ZXJ5OiBvcHRpb25zLmZvcmNlID8/IGZhbHNlLFxuICAgIH07XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5jbGllbnQuc2VuZChuZXcgRGVsZXRlU2VjcmV0Q29tbWFuZChpbnB1dCkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGV4aXN0cyhcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImV4aXN0c1wiLCB0cnVlKSkuZm9yKHRoaXMuZXhpc3RzKTtcbiAgICBjb25zdCBuYW1lU3RyID0gdHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIiA/IG5hbWVPclJlZiA6IG5hbWVPclJlZi5uYW1lO1xuICAgIGxvZy52ZXJib3NlKGBDaGVja2luZyBpZiBzZWNyZXQgJHtuYW1lU3RyfSBleGlzdHNgKTtcblxuICAgIGxldCBuYW1lOiBzdHJpbmc7XG5cbiAgICBpZiAodHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuXG4gICAgY29uc3QgaW5wdXQ6IERlc2NyaWJlU2VjcmV0Q29tbWFuZElucHV0ID0ge1xuICAgICAgU2VjcmV0SWQ6IG5vcm1hbGl6ZWROYW1lLFxuICAgIH07XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5jbGllbnQuc2VuZChuZXcgRGVzY3JpYmVTZWNyZXRDb21tYW5kKGlucHV0KSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3I7XG4gICAgICBpZiAoXG4gICAgICAgIGVyci5uYW1lID09PSBcIlJlc291cmNlTm90Rm91bmRFeGNlcHRpb25cIiB8fFxuICAgICAgICBlcnIubWVzc2FnZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8XG4gICAgICAgIGVyci5tZXNzYWdlLmluY2x1ZGVzKFwiNDA0XCIpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbGlzdChcbiAgICBvcHRpb25zOiBMaXN0U2VjcmV0c09wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPFNlY3JldE1ldGFkYXRhW10+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwibGlzdFwiLCB0cnVlKSkuZm9yKHRoaXMubGlzdCk7XG4gICAgbG9nLnZlcmJvc2UoXCJMaXN0aW5nIHNlY3JldHNcIik7XG5cbiAgICBjb25zdCByZXN1bHQ6IFNlY3JldE1ldGFkYXRhW10gPSBbXTtcblxuICAgIGxldCBuZXh0VG9rZW46IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIGRvIHtcbiAgICAgIGNvbnN0IGlucHV0OiBMaXN0U2VjcmV0c0NvbW1hbmRJbnB1dCA9IHtcbiAgICAgICAgTmV4dFRva2VuOiBuZXh0VG9rZW4sXG4gICAgICAgIE1heFJlc3VsdHM6IG9wdGlvbnMubGltaXQgPz8gNTAsXG4gICAgICB9O1xuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnNlbmQobmV3IExpc3RTZWNyZXRzQ29tbWFuZChpbnB1dCkpO1xuICAgICAgICBuZXh0VG9rZW4gPSByZXNwb25zZS5OZXh0VG9rZW47XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLlNlY3JldExpc3QpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHNlY3JldCBvZiByZXNwb25zZS5TZWNyZXRMaXN0KSB7XG4gICAgICAgICAgICBpZiAoc2VjcmV0Lk5hbWUpIHtcbiAgICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyLFxuICAgICAgICAgICAgICAgIG5hbWU6IHNlY3JldC5OYW1lLFxuICAgICAgICAgICAgICAgIHZlcnNpb246IHNlY3JldC5MYXN0Q2hhbmdlZERhdGUgPyB1bmRlZmluZWQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY3JlYXRlZEF0OiBzZWNyZXQuQ3JlYXRlZERhdGUsXG4gICAgICAgICAgICAgICAgdXBkYXRlZEF0OiBzZWNyZXQuTGFzdENoYW5nZWREYXRlLFxuICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdGFnczogc2VjcmV0LlRhZ3M/LnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PihcbiAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgYWNjOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICAgICAgICAgICAgICAgICAgICB0YWc6IHsgS2V5Pzogc3RyaW5nOyBWYWx1ZT86IHN0cmluZyB9XG4gICAgICAgICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRhZy5LZXkgJiYgdGFnLlZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgYWNjW3RhZy5LZXldID0gdGFnLlZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge31cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgICB9XG4gICAgfSB3aGlsZSAobmV4dFRva2VuKTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBhc3luYyBtZXRhZGF0YShcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxTZWNyZXRNZXRhZGF0YSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJtZXRhZGF0YVwiLCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5tZXRhZGF0YVxuICAgICk7XG4gICAgY29uc3QgbmFtZVN0ciA9IHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIgPyBuYW1lT3JSZWYgOiBuYW1lT3JSZWYubmFtZTtcbiAgICBsb2cudmVyYm9zZShgR2V0dGluZyBtZXRhZGF0YSBmb3Igc2VjcmV0ICR7bmFtZVN0cn1gKTtcblxuICAgIGxldCBuYW1lOiBzdHJpbmc7XG5cbiAgICBpZiAodHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuXG4gICAgY29uc3QgaW5wdXQ6IERlc2NyaWJlU2VjcmV0Q29tbWFuZElucHV0ID0ge1xuICAgICAgU2VjcmV0SWQ6IG5vcm1hbGl6ZWROYW1lLFxuICAgIH07XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5zZW5kKG5ldyBEZXNjcmliZVNlY3JldENvbW1hbmQoaW5wdXQpKTtcblxuICAgICAgaWYgKCFyZXNwb25zZS5OYW1lKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1ldGE6IFNlY3JldE1ldGFkYXRhID0ge1xuICAgICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcixcbiAgICAgICAgbmFtZTogcmVzcG9uc2UuTmFtZSxcbiAgICAgICAgY3JlYXRlZEF0OiByZXNwb25zZS5DcmVhdGVkRGF0ZSxcbiAgICAgICAgdXBkYXRlZEF0OiByZXNwb25zZS5MYXN0Q2hhbmdlZERhdGUsXG4gICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgIHRhZ3M6IHJlc3BvbnNlLlRhZ3M/LnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PihcbiAgICAgICAgICAoXG4gICAgICAgICAgICBhY2M6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgICAgICAgICB0YWc6IHsgS2V5Pzogc3RyaW5nOyBWYWx1ZT86IHN0cmluZyB9XG4gICAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICBpZiAodGFnLktleSAmJiB0YWcuVmFsdWUpIHtcbiAgICAgICAgICAgICAgYWNjW3RhZy5LZXldID0gdGFnLlZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9LFxuICAgICAgICAgIHt9XG4gICAgICAgICksXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gbWV0YTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3I7XG4gICAgICBpZiAoXG4gICAgICAgIGVyci5uYW1lID09PSBcIlJlc291cmNlTm90Rm91bmRFeGNlcHRpb25cIiB8fFxuICAgICAgICBlcnIubWVzc2FnZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8XG4gICAgICAgIGVyci5tZXNzYWdlLmluY2x1ZGVzKFwiNDA0XCIpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnIpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUVycm9yKGVycm9yOiB1bmtub3duKTogRXJyb3Ige1xuICAgIGNvbnN0IGVyciA9IGVycm9yIGFzIEVycm9yO1xuICAgIGlmIChlcnIgaW5zdGFuY2VvZiBCYXNlRXJyb3IpIHJldHVybiBlcnI7XG4gICAgY29uc3QgbWVzc2FnZSA9IGVyci5tZXNzYWdlIHx8IGVyci5uYW1lIHx8IFwiVW5rbm93biBlcnJvclwiO1xuICAgIGNvbnN0IGxvd2VyTWVzc2FnZSA9IG1lc3NhZ2UudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmIChcbiAgICAgIGVyci5uYW1lID09PSBcIlJlc291cmNlTm90Rm91bmRFeGNlcHRpb25cIiB8fFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJjYW4ndCBmaW5kXCIpIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDRcIilcbiAgICApIHtcbiAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihlcnIpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGVyci5uYW1lID09PSBcIlJlc291cmNlRXhpc3RzRXhjZXB0aW9uXCIgfHxcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImFscmVhZHkgZXhpc3RzXCIpIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJjb25mbGljdFwiKSB8fFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDA5XCIpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbmV3IENvbmZsaWN0RXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiZGlzYWJsZWRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAzXCIpKSB7XG4gICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidW5hdXRob3JpemVkXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwMVwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKGVycik7XG4gICAgfVxuXG4gICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcInBlcm1pc3Npb25cIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAzXCIpKSB7XG4gICAgICByZXR1cm4gbmV3IEF1dGhvcml6YXRpb25FcnJvcihlcnIpO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJyYXRlIGxpbWl0XCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQyOVwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBCYWRSZXF1ZXN0RXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJwcm92aWRlclwiKSB8fFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidW5hdmFpbGFibGVcIikgfHxcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImNvbm5lY3Rpb25cIikgfHxcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcInRpbWVvdXRcIilcbiAgICApIHtcbiAgICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihlcnIpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihlcnIpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXdzU2VjcmV0U2VydmljZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZWNyZXRzL2F3cy9Bd3NTZWNyZXRTZXJ2aWNlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL3NlY3JldHMvYXdzL2NvbmZpZ1xuICogQHN1bW1hcnkgQVdTIHNlY3JldCBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uXG4gKiBAZGVzY3JpcHRpb24gQ29uZmlndXJhdGlvbiBzY2hlbWEgZm9yIHRoZSBBV1MgU2VjcmV0cyBNYW5hZ2VyIGludGVncmF0aW9uLlxuICovXG5pbXBvcnQgeyBTZWNyZXRTZXJ2aWNlQ29uZmlnIH0gZnJvbSBcIi4uLy4uL3NlY3JldHMvY29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c1NlY3JldFNlcnZpY2VDb25maWcgZXh0ZW5kcyBTZWNyZXRTZXJ2aWNlQ29uZmlnIHtcbiAgcHJvdmlkZXI6IFwiYXdzLXNlY3JldHMtbWFuYWdlclwiO1xuICByZWdpb246IHN0cmluZztcbiAgY3JlZGVudGlhbHM/OiB7XG4gICAgYWNjZXNzS2V5SWQ6IHN0cmluZztcbiAgICBzZWNyZXRBY2Nlc3NLZXk6IHN0cmluZztcbiAgICBzZXNzaW9uVG9rZW4/OiBzdHJpbmc7XG4gIH07XG4gIGVuZHBvaW50Pzogc3RyaW5nO1xufVxuIl19
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
export * from "./AwsSecretService.js";
|
|
7
7
|
export * from "./AwsSecretServiceConfig.js";
|
|
8
8
|
export * from "./AwsSecretEnvironment.js";
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VjcmV0cy9hd3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILHNDQUFtQztBQUNuQyw0Q0FBeUM7QUFDekMsMENBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9zZWNyZXRzL2F3c1xuICogQHN1bW1hcnkgQVdTIHNlY3JldCBzZXJ2aWNlIGV4cG9ydHMuXG4gKiBAZGVzY3JpcHRpb24gUmUtZXhwb3J0cyB0aGUgQVdTIFNlY3JldHMgTWFuYWdlciBzZXJ2aWNlIGFuZCBpdHMgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vQXdzU2VjcmV0U2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vQXdzU2VjcmV0U2VydmljZUNvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vQXdzU2VjcmV0RW52aXJvbm1lbnRcIjtcbiJdfQ==
|