@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
|
@@ -24,5 +24,5 @@ __exportStar(require("./rls.template.cjs"), exports);
|
|
|
24
24
|
__exportStar(require("./rls-bootstrap.service.cjs"), exports);
|
|
25
25
|
__exportStar(require("./principal-resolver.cjs"), exports);
|
|
26
26
|
__exportStar(require("./session-binding.cjs"), exports);
|
|
27
|
-
//# sourceMappingURL=
|
|
28
|
-
//# sourceMappingURL=
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbmFtZXNwYWNlcy9ybHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsbUNBQWdDO0FBQ2hDLCtCQUE0QjtBQUM1QixrQ0FBK0I7QUFDL0IsMkNBQXdDO0FBQ3hDLHdDQUFxQztBQUNyQyxxQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL25hbWVzcGFjZXMvcmxzXG4gKiBAc3VtbWFyeSBOYW1lc3BhY2Ugcm93LWxldmVsLXNlY3VyaXR5IHRlbXBsYXRlLCBib290c3RyYXAgc2VydmljZSwgYW5kIHNlc3Npb24gaGVscGVycy5cbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vcmxzLmNvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmxzLnR5cGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ybHMudGVtcGxhdGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Jscy1ib290c3RyYXAuc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJpbmNpcGFsLXJlc29sdmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZXNzaW9uLWJpbmRpbmdcIjtcbiJdfQ==
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7OztHQUdHO0FBQ0gscURBQW1DO0FBQ25DLGlEQUErQjtBQUMvQixvREFBa0M7QUFDbEMsNkRBQTJDO0FBQzNDLDBEQUF3QztBQUN4Qyx1REFBcUM7QUFDckMsMDFCQUEwMUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL25hbWVzcGFjZXMvcmxzXG4gKiBAc3VtbWFyeSBOYW1lc3BhY2Ugcm93LWxldmVsLXNlY3VyaXR5IHRlbXBsYXRlLCBib290c3RyYXAgc2VydmljZSwgYW5kIHNlc3Npb24gaGVscGVycy5cbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vcmxzLmNvbnN0YW50cy5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmxzLnR5cGVzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ybHMudGVtcGxhdGUuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Jscy1ib290c3RyYXAuc2VydmljZS5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJpbmNpcGFsLXJlc29sdmVyLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZXNzaW9uLWJpbmRpbmcuanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdmJtRnRaWE53WVdObGN5OXliSE12YVc1a1pYZ3VkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN096dEhRVWRITzBGQlEwZ3NiVU5CUVdkRE8wRkJRMmhETEN0Q1FVRTBRanRCUVVNMVFpeHJRMEZCSzBJN1FVRkRMMElzTWtOQlFYZERPMEZCUTNoRExIZERRVUZ4UXp0QlFVTnlReXh4UTBGQmEwTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lwY2JpQXFJRUJ0YjJSMWJHVWdhVzUwWldkeVlYUnBiMjV6TDI1aGJXVnpjR0ZqWlhNdmNteHpYRzRnS2lCQWMzVnRiV0Z5ZVNCT1lXMWxjM0JoWTJVZ2NtOTNMV3hsZG1Wc0xYTmxZM1Z5YVhSNUlIUmxiWEJzWVhSbExDQmliMjkwYzNSeVlYQWdjMlZ5ZG1salpTd2dZVzVrSUhObGMzTnBiMjRnYUdWc2NHVnljeTVjYmlBcUwxeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZjbXh6TG1OdmJuTjBZVzUwYzF3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZjbXh6TG5SNWNHVnpYQ0k3WEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5eWJITXVkR1Z0Y0d4aGRHVmNJanRjYm1WNGNHOXlkQ0FxSUdaeWIyMGdYQ0l1TDNKc2N5MWliMjkwYzNSeVlYQXVjMlZ5ZG1salpWd2lPMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2Y0hKcGJtTnBjR0ZzTFhKbGMyOXNkbVZ5WENJN1hHNWxlSEJ2Y25RZ0tpQm1jbTl0SUZ3aUxpOXpaWE56YVc5dUxXSnBibVJwYm1kY0lqdGNiaUpkZlE9PSJdfQ==
|
|
@@ -62,5 +62,5 @@ async function resolvePrincipalForSubject(client, subject, tenantId) {
|
|
|
62
62
|
const normalized = principalId.trim();
|
|
63
63
|
return exports.PRINCIPAL_UUID_PATTERN.test(normalized) ? normalized : undefined;
|
|
64
64
|
}
|
|
65
|
-
//# sourceMappingURL=
|
|
66
|
-
//# sourceMappingURL=principal-resolver.cjs.map
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLXJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25hbWVzcGFjZXMvcmxzL3ByaW5jaXBhbC1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFxQjFEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQ2pDLGlFQUFpRSxDQUFDO0FBRXBFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsMEJBQTBCLENBQzlDLE1BQW1DLEVBQ25DLE9BQWUsRUFDZixRQUFpQjtJQUVqQixJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxVQUFVO1FBQy9DLE1BQU0sSUFBSSxlQUFlLENBQ3ZCLDhHQUE4RyxDQUMvRyxDQUFDO0lBQ0osTUFBTSxpQkFBaUIsR0FBRyxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzVFLElBQUksQ0FBQyxpQkFBaUI7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUN6QyxJQUFJLFFBQVEsS0FBSyxTQUFTLElBQUksUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2hELElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUN4RSxNQUFNLElBQUksZUFBZSxDQUN2QixrRUFBa0UsQ0FDbkUsQ0FBQztJQUNOLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FDaEMsOERBQThELEVBQzlELENBQUMsaUJBQWlCLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUN0QyxDQUFRLENBQUM7SUFDVixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7SUFDM0QsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzVFLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUTtRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ3RELE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QyxPQUFPLHNCQUFzQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvbmFtZXNwYWNlcy9ybHMvcHJpbmNpcGFsLXJlc29sdmVyXG4gKiBAc3VtbWFyeSBSZXNvbHZlcyBhIGRlY2FmIGBwcmluY2lwYWxzLmlkYCBVVUlEIGZyb20gYW4gYXV0aGVudGljYXRlZCBzdWJqZWN0IHRocm91Z2ggdGhlIFJMUyBgU0VDVVJJVFkgREVGSU5FUmAgaGVscGVyLlxuICogQGRlc2NyaXB0aW9uIEV4cG9zZXMge0BsaW5rIHJlc29sdmVQcmluY2lwYWxGb3JTdWJqZWN0fSwgYSBmYWlsLWNsb3NlZCxcbiAqIGZ1bGx5IHBhcmFtZXRlcml6ZWQgbG9va3VwIHRoYXQgbWFwcyBhbiBhdXRoZW50aWNhdGVkIHN1YmplY3QgaWQgKGFuZFxuICogb3B0aW9uYWwgdGVuYW50KSB0byB0aGUgc2luZ2xlIG1hdGNoaW5nIHByaW5jaXBhbCBVVUlEIHZpYSB0aGVcbiAqIGBhcHBfcmxzX3ByaW5jaXBhbF9mb3Jfc3ViamVjdCh0ZXh0LCB1dWlkKWAgU1FMIGhlbHBlciBpbnN0YWxsZWQgYnkgdGhlXG4gKiBuYW1lc3BhY2UgUkxTIHRlbXBsYXRlLiBJbnRlbmRlZCBmb3IgcHJpdmlsZWdlZCBpbmZyYXN0cnVjdHVyZSBjb2RlIChhdXRoXG4gKiBwcmltZSAvIHNlcnZpY2Ugcm9sZSkgdGhhdCBtdXN0IHRyYW5zbGF0ZSBhIGxvZ2luIGlkZW50aXR5IGludG8gdGhlXG4gKiBwcmluY2lwYWwgVVVJRCB0aGUgVHlwZU9STSBhZGFwdGVyIGJpbmRzIHRyYW5zYWN0aW9uLWxvY2FsbHkgdG9cbiAqIGBhcHAucHJpbmNpcGFsX2lkYDsgaXQgaXMgbm90IG1lYW50IHRvIHJ1biBvbiBhbiBSTFMtcmVzdHJpY3RlZCBhcHBsaWNhdGlvblxuICogc2Vzc2lvbi5cbiAqL1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIE1pbmltYWwgU1FMIGNsaWVudCBjb250cmFjdCBmb3IgdGhlIHByaW5jaXBhbC1zdWJqZWN0IHJlc29sdmVyXG4gKiBAc3VtbWFyeSBTdHJ1Y3R1cmFsIHN1YnNldCBjb25zdW1lZCBieSBgcmVzb2x2ZVByaW5jaXBhbEZvclN1YmplY3RgOyBhbnlcbiAqIHByaXZpbGVnZWQgY2xpZW50IGFibGUgdG8gcnVuIHBhcmFtZXRlcml6ZWQgcXVlcmllcyAoZm9yIGV4YW1wbGUgYSBgcGdgXG4gKiBgQ2xpZW50YCBvciBhIFR5cGVPUk0gYFF1ZXJ5UnVubmVyYCkgc2F0aXNmaWVzIGl0LiBUaGUgcmVzb2x2ZXIgcmVxdWlyZXMgYVxuICogcHJpdmlsZWdlZCBhdXRoLXByaW1lL3NlcnZpY2Utcm9sZSBjbGllbnQgYmVjYXVzZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGlzXG4gKiBgUkVWT0tFYGQgZnJvbSBgUFVCTElDYC5cbiAqIEBpbnRlcmZhY2UgUHJpbmNpcGFsU3ViamVjdFF1ZXJ5Q2xpZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJpbmNpcGFsU3ViamVjdFF1ZXJ5Q2xpZW50IHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlcyBhIHBhcmFtZXRlcml6ZWQgU1FMIHN0YXRlbWVudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3FsIC0gVGhlIFNRTCB0ZXh0IHdpdGggcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuICAgKiBAcGFyYW0ge2FueVtdfSBbdmFsdWVzXSAtIFBvc2l0aW9uYWwgcGFyYW1ldGVyIHZhbHVlcy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IFRoZSByYXcgZHJpdmVyIHJlc3VsdCAoYSByb3dzIGFycmF5IG9yIGFuIG9iamVjdCB3aXRoIGEgYHJvd3NgIGFycmF5KS5cbiAgICovXG4gIHF1ZXJ5KHNxbDogc3RyaW5nLCB2YWx1ZXM/OiBhbnlbXSk6IFByb21pc2U8dW5rbm93bj47XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFBhdHRlcm4gZW5mb3JjaW5nIFVVSUQgc2hhcGUgb24gcmVzb2x2ZWQgcHJpbmNpcGFscyBhbmQgdGVuYW50IGlkc1xuICogQHN1bW1hcnkgVXNlZCB0byB2YWxpZGF0ZSB0aGUgb3B0aW9uYWwgYHRlbmFudElkYCBhcmd1bWVudCBhbmQgdG8gZmFpbFxuICogY2xvc2VkIG9uIGRyaXZlciByZXN1bHRzIHRoYXQgYXJlIG5vdCBVVUlELXNoYXBlZCBzdHJpbmdzLlxuICogQGNvbnN0IFBSSU5DSVBBTF9VVUlEX1BBVFRFUk5cbiAqL1xuZXhwb3J0IGNvbnN0IFBSSU5DSVBBTF9VVUlEX1BBVFRFUk4gPVxuICAvXlswLTlhLWZdezh9LVswLTlhLWZdezR9LVswLTlhLWZdezR9LVswLTlhLWZdezR9LVswLTlhLWZdezEyfSQvaTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmVzb2x2ZXMgdGhlIHByaW5jaXBhbCBVVUlEIGZvciBhbiBhdXRoZW50aWNhdGVkIHN1YmplY3RcbiAqIEBzdW1tYXJ5IENhbGxzIHRoZSBgU0VDVVJJVFkgREVGSU5FUmAgaGVscGVyXG4gKiBgYXBwX3Jsc19wcmluY2lwYWxfZm9yX3N1YmplY3QodGV4dCwgdXVpZClgIHRocm91Z2ggdGhlIGdpdmVuIHByaXZpbGVnZWRcbiAqIGNsaWVudCB3aXRoIGZ1bGx5IHBhcmFtZXRlcml6ZWQgU1FMLiBGYWlscyBjbG9zZWQ6IGFuIGVtcHR5IHN1YmplY3QsIGFuXG4gKiBhbWJpZ3VvdXMgc3ViamVjdCAodGhlIGhlbHBlciByZXR1cm5zIGBOVUxMYCB1bmxlc3MgZXhhY3RseSBvbmUgcHJpbmNpcGFsXG4gKiBtYXRjaGVzKSwgYW5kIGRyaXZlciByZXN1bHRzIHRoYXQgYXJlIG5vdCBVVUlELXNoYXBlZCBzdHJpbmdzIGFsbCByZXNvbHZlIHRvXG4gKiBgdW5kZWZpbmVkYCByYXRoZXIgdGhhbiB0aHJvd2luZywgc28gY2FsbGVycyBoYW5kbGUgXCJubyBwcmluY2lwYWxcIiB1bmlmb3JtbHlcbiAqIGJ5IGRlbnlpbmcuIFJlcXVpcmVzIGEgcHJpdmlsZWdlZCBhdXRoLXByaW1lL3NlcnZpY2Utcm9sZSBjbGllbnQ7IHRoaXNcbiAqIHJlc29sdmVyIG11c3QgbmV2ZXIgYmUgaW52b2tlZCB3aXRoIGFuIGFwcGxpY2F0aW9uIHNlc3Npb24gY2xpZW50LlxuICogQGZ1bmN0aW9uIHJlc29sdmVQcmluY2lwYWxGb3JTdWJqZWN0XG4gKiBAcGFyYW0ge1ByaW5jaXBhbFN1YmplY3RRdWVyeUNsaWVudH0gY2xpZW50IC0gUHJpdmlsZWdlZCBjbGllbnQgdXNlZCB0byBydW4gdGhlIGhlbHBlciBxdWVyeS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBzdWJqZWN0IC0gVGhlIGF1dGhlbnRpY2F0ZWQgc3ViamVjdCBpZCAoYHByaW5jaXBhbHMuc3ViamVjdF9pZGApLlxuICogQHBhcmFtIHtzdHJpbmd9IFt0ZW5hbnRJZF0gLSBPcHRpb25hbCB0ZW5hbnQgVVVJRCBzY29waW5nIHRoZSBsb29rdXAuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+fSBUaGUgcHJpbmNpcGFsIFVVSUQsIG9yIGB1bmRlZmluZWRgIHdoZW4gbm9uZSBjYW4gYmUgcmVzb2x2ZWQuXG4gKiBAdGhyb3dzIHtWYWxpZGF0aW9uRXJyb3J9IFdoZW4gdGhlIGNsaWVudCBpcyBub3QgcXVlcnktY2FwYWJsZSwgb3IgYHRlbmFudElkYCBpcyBwcm92aWRlZCBidXQgbm90IGEgVVVJRC5cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBwcmluY2lwYWxJZCA9IGF3YWl0IHJlc29sdmVQcmluY2lwYWxGb3JTdWJqZWN0KHBnQ2xpZW50LCBhdXRoU3ViamVjdCwgdGVuYW50SWQpO1xuICogaWYgKCFwcmluY2lwYWxJZClcbiAqICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gcHJpbmNpcGFsIGZvciBzdWJqZWN0XCIpOyAvLyBmYWlsIGNsb3NlZFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZVByaW5jaXBhbEZvclN1YmplY3QoXG4gIGNsaWVudDogUHJpbmNpcGFsU3ViamVjdFF1ZXJ5Q2xpZW50LFxuICBzdWJqZWN0OiBzdHJpbmcsXG4gIHRlbmFudElkPzogc3RyaW5nXG4pOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICBpZiAoIWNsaWVudCB8fCB0eXBlb2YgY2xpZW50LnF1ZXJ5ICE9PSBcImZ1bmN0aW9uXCIpXG4gICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgIFwicmVzb2x2ZVByaW5jaXBhbEZvclN1YmplY3QgcmVxdWlyZXMgYSBwcml2aWxlZ2VkIGF1dGgtcHJpbWUvc2VydmljZS1yb2xlIGNsaWVudCwgbm90IHRoZSBhcHBsaWNhdGlvbiBzZXNzaW9uXCJcbiAgICApO1xuICBjb25zdCBub3JtYWxpemVkU3ViamVjdCA9IHR5cGVvZiBzdWJqZWN0ID09PSBcInN0cmluZ1wiID8gc3ViamVjdC50cmltKCkgOiBcIlwiO1xuICBpZiAoIW5vcm1hbGl6ZWRTdWJqZWN0KSByZXR1cm4gdW5kZWZpbmVkO1xuICBpZiAodGVuYW50SWQgIT09IHVuZGVmaW5lZCAmJiB0ZW5hbnRJZCAhPT0gbnVsbCkge1xuICAgIGlmICh0eXBlb2YgdGVuYW50SWQgIT09IFwic3RyaW5nXCIgfHwgIVBSSU5DSVBBTF9VVUlEX1BBVFRFUk4udGVzdCh0ZW5hbnRJZCkpXG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBcInJlc29sdmVQcmluY2lwYWxGb3JTdWJqZWN0IHRlbmFudElkIG11c3QgYmUgYSBVVUlEIHdoZW4gcHJvdmlkZWRcIlxuICAgICAgKTtcbiAgfVxuICBjb25zdCByZXN1bHQgPSAoYXdhaXQgY2xpZW50LnF1ZXJ5KFxuICAgIFwiU0VMRUNUIGFwcF9ybHNfcHJpbmNpcGFsX2Zvcl9zdWJqZWN0KCQxLCAkMikgQVMgcHJpbmNpcGFsX2lkXCIsXG4gICAgW25vcm1hbGl6ZWRTdWJqZWN0LCB0ZW5hbnRJZCA/PyBudWxsXVxuICApKSBhcyBhbnk7XG4gIGNvbnN0IHJvd3MgPSBBcnJheS5pc0FycmF5KHJlc3VsdCkgPyByZXN1bHQgOiByZXN1bHQ/LnJvd3M7XG4gIGNvbnN0IHByaW5jaXBhbElkID0gQXJyYXkuaXNBcnJheShyb3dzKSA/IHJvd3NbMF0/LnByaW5jaXBhbF9pZCA6IHVuZGVmaW5lZDtcbiAgaWYgKHR5cGVvZiBwcmluY2lwYWxJZCAhPT0gXCJzdHJpbmdcIikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IHByaW5jaXBhbElkLnRyaW0oKTtcbiAgcmV0dXJuIFBSSU5DSVBBTF9VVUlEX1BBVFRFUk4udGVzdChub3JtYWxpemVkKSA/IG5vcm1hbGl6ZWQgOiB1bmRlZmluZWQ7XG59XG4iXX0=
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbmNpcGFsLXJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicHJpbmNpcGFsLXJlc29sdmVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTBDQSxnRUFpQkM7QUEzREQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsMkRBQTBEO0FBQzFEOzs7OztHQUtHO0FBQ1UsUUFBQSxzQkFBc0IsR0FBRyxpRUFBaUUsQ0FBQztBQUN4Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSSxLQUFLLFVBQVUsMEJBQTBCLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRO0lBQ3RFLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFVBQVU7UUFDN0MsTUFBTSxJQUFJLCtCQUFlLENBQUMsOEdBQThHLENBQUMsQ0FBQztJQUM5SSxNQUFNLGlCQUFpQixHQUFHLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDNUUsSUFBSSxDQUFDLGlCQUFpQjtRQUNsQixPQUFPLFNBQVMsQ0FBQztJQUNyQixJQUFJLFFBQVEsS0FBSyxTQUFTLElBQUksUUFBUSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzlDLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLENBQUMsOEJBQXNCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUN0RSxNQUFNLElBQUksK0JBQWUsQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLEtBQUssQ0FBQyw4REFBOEQsRUFBRSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0ksTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO0lBQzNELE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM1RSxJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVE7UUFDL0IsT0FBTyxTQUFTLENBQUM7SUFDckIsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RDLE9BQU8sOEJBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUM1RSxDQUFDO0FBQ0QsMGlRQUEwaVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL25hbWVzcGFjZXMvcmxzL3ByaW5jaXBhbC1yZXNvbHZlclxuICogQHN1bW1hcnkgUmVzb2x2ZXMgYSBkZWNhZiBgcHJpbmNpcGFscy5pZGAgVVVJRCBmcm9tIGFuIGF1dGhlbnRpY2F0ZWQgc3ViamVjdCB0aHJvdWdoIHRoZSBSTFMgYFNFQ1VSSVRZIERFRklORVJgIGhlbHBlci5cbiAqIEBkZXNjcmlwdGlvbiBFeHBvc2VzIHtAbGluayByZXNvbHZlUHJpbmNpcGFsRm9yU3ViamVjdH0sIGEgZmFpbC1jbG9zZWQsXG4gKiBmdWxseSBwYXJhbWV0ZXJpemVkIGxvb2t1cCB0aGF0IG1hcHMgYW4gYXV0aGVudGljYXRlZCBzdWJqZWN0IGlkIChhbmRcbiAqIG9wdGlvbmFsIHRlbmFudCkgdG8gdGhlIHNpbmdsZSBtYXRjaGluZyBwcmluY2lwYWwgVVVJRCB2aWEgdGhlXG4gKiBgYXBwX3Jsc19wcmluY2lwYWxfZm9yX3N1YmplY3QodGV4dCwgdXVpZClgIFNRTCBoZWxwZXIgaW5zdGFsbGVkIGJ5IHRoZVxuICogbmFtZXNwYWNlIFJMUyB0ZW1wbGF0ZS4gSW50ZW5kZWQgZm9yIHByaXZpbGVnZWQgaW5mcmFzdHJ1Y3R1cmUgY29kZSAoYXV0aFxuICogcHJpbWUgLyBzZXJ2aWNlIHJvbGUpIHRoYXQgbXVzdCB0cmFuc2xhdGUgYSBsb2dpbiBpZGVudGl0eSBpbnRvIHRoZVxuICogcHJpbmNpcGFsIFVVSUQgdGhlIFR5cGVPUk0gYWRhcHRlciBiaW5kcyB0cmFuc2FjdGlvbi1sb2NhbGx5IHRvXG4gKiBgYXBwLnByaW5jaXBhbF9pZGA7IGl0IGlzIG5vdCBtZWFudCB0byBydW4gb24gYW4gUkxTLXJlc3RyaWN0ZWQgYXBwbGljYXRpb25cbiAqIHNlc3Npb24uXG4gKi9cbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gUGF0dGVybiBlbmZvcmNpbmcgVVVJRCBzaGFwZSBvbiByZXNvbHZlZCBwcmluY2lwYWxzIGFuZCB0ZW5hbnQgaWRzXG4gKiBAc3VtbWFyeSBVc2VkIHRvIHZhbGlkYXRlIHRoZSBvcHRpb25hbCBgdGVuYW50SWRgIGFyZ3VtZW50IGFuZCB0byBmYWlsXG4gKiBjbG9zZWQgb24gZHJpdmVyIHJlc3VsdHMgdGhhdCBhcmUgbm90IFVVSUQtc2hhcGVkIHN0cmluZ3MuXG4gKiBAY29uc3QgUFJJTkNJUEFMX1VVSURfUEFUVEVSTlxuICovXG5leHBvcnQgY29uc3QgUFJJTkNJUEFMX1VVSURfUEFUVEVSTiA9IC9eWzAtOWEtZl17OH0tWzAtOWEtZl17NH0tWzAtOWEtZl17NH0tWzAtOWEtZl17NH0tWzAtOWEtZl17MTJ9JC9pO1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmVzb2x2ZXMgdGhlIHByaW5jaXBhbCBVVUlEIGZvciBhbiBhdXRoZW50aWNhdGVkIHN1YmplY3RcbiAqIEBzdW1tYXJ5IENhbGxzIHRoZSBgU0VDVVJJVFkgREVGSU5FUmAgaGVscGVyXG4gKiBgYXBwX3Jsc19wcmluY2lwYWxfZm9yX3N1YmplY3QodGV4dCwgdXVpZClgIHRocm91Z2ggdGhlIGdpdmVuIHByaXZpbGVnZWRcbiAqIGNsaWVudCB3aXRoIGZ1bGx5IHBhcmFtZXRlcml6ZWQgU1FMLiBGYWlscyBjbG9zZWQ6IGFuIGVtcHR5IHN1YmplY3QsIGFuXG4gKiBhbWJpZ3VvdXMgc3ViamVjdCAodGhlIGhlbHBlciByZXR1cm5zIGBOVUxMYCB1bmxlc3MgZXhhY3RseSBvbmUgcHJpbmNpcGFsXG4gKiBtYXRjaGVzKSwgYW5kIGRyaXZlciByZXN1bHRzIHRoYXQgYXJlIG5vdCBVVUlELXNoYXBlZCBzdHJpbmdzIGFsbCByZXNvbHZlIHRvXG4gKiBgdW5kZWZpbmVkYCByYXRoZXIgdGhhbiB0aHJvd2luZywgc28gY2FsbGVycyBoYW5kbGUgXCJubyBwcmluY2lwYWxcIiB1bmlmb3JtbHlcbiAqIGJ5IGRlbnlpbmcuIFJlcXVpcmVzIGEgcHJpdmlsZWdlZCBhdXRoLXByaW1lL3NlcnZpY2Utcm9sZSBjbGllbnQ7IHRoaXNcbiAqIHJlc29sdmVyIG11c3QgbmV2ZXIgYmUgaW52b2tlZCB3aXRoIGFuIGFwcGxpY2F0aW9uIHNlc3Npb24gY2xpZW50LlxuICogQGZ1bmN0aW9uIHJlc29sdmVQcmluY2lwYWxGb3JTdWJqZWN0XG4gKiBAcGFyYW0ge1ByaW5jaXBhbFN1YmplY3RRdWVyeUNsaWVudH0gY2xpZW50IC0gUHJpdmlsZWdlZCBjbGllbnQgdXNlZCB0byBydW4gdGhlIGhlbHBlciBxdWVyeS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBzdWJqZWN0IC0gVGhlIGF1dGhlbnRpY2F0ZWQgc3ViamVjdCBpZCAoYHByaW5jaXBhbHMuc3ViamVjdF9pZGApLlxuICogQHBhcmFtIHtzdHJpbmd9IFt0ZW5hbnRJZF0gLSBPcHRpb25hbCB0ZW5hbnQgVVVJRCBzY29waW5nIHRoZSBsb29rdXAuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+fSBUaGUgcHJpbmNpcGFsIFVVSUQsIG9yIGB1bmRlZmluZWRgIHdoZW4gbm9uZSBjYW4gYmUgcmVzb2x2ZWQuXG4gKiBAdGhyb3dzIHtWYWxpZGF0aW9uRXJyb3J9IFdoZW4gdGhlIGNsaWVudCBpcyBub3QgcXVlcnktY2FwYWJsZSwgb3IgYHRlbmFudElkYCBpcyBwcm92aWRlZCBidXQgbm90IGEgVVVJRC5cbiAqIEBleGFtcGxlXG4gKiBjb25zdCBwcmluY2lwYWxJZCA9IGF3YWl0IHJlc29sdmVQcmluY2lwYWxGb3JTdWJqZWN0KHBnQ2xpZW50LCBhdXRoU3ViamVjdCwgdGVuYW50SWQpO1xuICogaWYgKCFwcmluY2lwYWxJZClcbiAqICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gcHJpbmNpcGFsIGZvciBzdWJqZWN0XCIpOyAvLyBmYWlsIGNsb3NlZFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZVByaW5jaXBhbEZvclN1YmplY3QoY2xpZW50LCBzdWJqZWN0LCB0ZW5hbnRJZCkge1xuICAgIGlmICghY2xpZW50IHx8IHR5cGVvZiBjbGllbnQucXVlcnkgIT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcInJlc29sdmVQcmluY2lwYWxGb3JTdWJqZWN0IHJlcXVpcmVzIGEgcHJpdmlsZWdlZCBhdXRoLXByaW1lL3NlcnZpY2Utcm9sZSBjbGllbnQsIG5vdCB0aGUgYXBwbGljYXRpb24gc2Vzc2lvblwiKTtcbiAgICBjb25zdCBub3JtYWxpemVkU3ViamVjdCA9IHR5cGVvZiBzdWJqZWN0ID09PSBcInN0cmluZ1wiID8gc3ViamVjdC50cmltKCkgOiBcIlwiO1xuICAgIGlmICghbm9ybWFsaXplZFN1YmplY3QpXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgaWYgKHRlbmFudElkICE9PSB1bmRlZmluZWQgJiYgdGVuYW50SWQgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0ZW5hbnRJZCAhPT0gXCJzdHJpbmdcIiB8fCAhUFJJTkNJUEFMX1VVSURfUEFUVEVSTi50ZXN0KHRlbmFudElkKSlcbiAgICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXCJyZXNvbHZlUHJpbmNpcGFsRm9yU3ViamVjdCB0ZW5hbnRJZCBtdXN0IGJlIGEgVVVJRCB3aGVuIHByb3ZpZGVkXCIpO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSAoYXdhaXQgY2xpZW50LnF1ZXJ5KFwiU0VMRUNUIGFwcF9ybHNfcHJpbmNpcGFsX2Zvcl9zdWJqZWN0KCQxLCAkMikgQVMgcHJpbmNpcGFsX2lkXCIsIFtub3JtYWxpemVkU3ViamVjdCwgdGVuYW50SWQgPz8gbnVsbF0pKTtcbiAgICBjb25zdCByb3dzID0gQXJyYXkuaXNBcnJheShyZXN1bHQpID8gcmVzdWx0IDogcmVzdWx0Py5yb3dzO1xuICAgIGNvbnN0IHByaW5jaXBhbElkID0gQXJyYXkuaXNBcnJheShyb3dzKSA/IHJvd3NbMF0/LnByaW5jaXBhbF9pZCA6IHVuZGVmaW5lZDtcbiAgICBpZiAodHlwZW9mIHByaW5jaXBhbElkICE9PSBcInN0cmluZ1wiKVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBwcmluY2lwYWxJZC50cmltKCk7XG4gICAgcmV0dXJuIFBSSU5DSVBBTF9VVUlEX1BBVFRFUk4udGVzdChub3JtYWxpemVkKSA/IG5vcm1hbGl6ZWQgOiB1bmRlZmluZWQ7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2ljSEpwYm1OcGNHRnNMWEpsYzI5c2RtVnlMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZjM0pqTDI1aGJXVnpjR0ZqWlhNdmNteHpMM0J5YVc1amFYQmhiQzF5WlhOdmJIWmxjaTUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUczdPenM3T3pzN096czdPMGRCV1VjN1FVRkRTQ3hQUVVGUExFVkJRVVVzWlVGQlpTeEZRVUZGTEUxQlFVMHNlVUpCUVhsQ0xFTkJRVU03UVVGeFFqRkVPenM3T3p0SFFVdEhPMEZCUTBnc1RVRkJUU3hEUVVGRExFMUJRVTBzYzBKQlFYTkNMRWRCUTJwRExHbEZRVUZwUlN4RFFVRkRPMEZCUlhCRk96czdPenM3T3pzN096czdPenM3T3pzN096dEhRVzlDUnp0QlFVTklMRTFCUVUwc1EwRkJReXhMUVVGTExGVkJRVlVzTUVKQlFUQkNMRU5CUXpsRExFMUJRVzFETEVWQlEyNURMRTlCUVdVc1JVRkRaaXhSUVVGcFFqdEpRVVZxUWl4SlFVRkpMRU5CUVVNc1RVRkJUU3hKUVVGSkxFOUJRVThzVFVGQlRTeERRVUZETEV0QlFVc3NTMEZCU3l4VlFVRlZPMUZCUXk5RExFMUJRVTBzU1VGQlNTeGxRVUZsTEVOQlEzWkNMRGhIUVVFNFJ5eERRVU12Unl4RFFVRkRPMGxCUTBvc1RVRkJUU3hwUWtGQmFVSXNSMEZCUnl4UFFVRlBMRTlCUVU4c1MwRkJTeXhSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETEU5QlFVOHNRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETzBsQlF6VkZMRWxCUVVrc1EwRkJReXhwUWtGQmFVSTdVVUZCUlN4UFFVRlBMRk5CUVZNc1EwRkJRenRKUVVONlF5eEpRVUZKTEZGQlFWRXNTMEZCU3l4VFFVRlRMRWxCUVVrc1VVRkJVU3hMUVVGTExFbEJRVWtzUlVGQlJTeERRVUZETzFGQlEyaEVMRWxCUVVrc1QwRkJUeXhSUVVGUkxFdEJRVXNzVVVGQlVTeEpRVUZKTEVOQlFVTXNjMEpCUVhOQ0xFTkJRVU1zU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXp0WlFVTjRSU3hOUVVGTkxFbEJRVWtzWlVGQlpTeERRVU4yUWl4clJVRkJhMFVzUTBGRGJrVXNRMEZCUXp0SlFVTk9MRU5CUVVNN1NVRkRSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eERRVUZETEUxQlFVMHNUVUZCVFN4RFFVRkRMRXRCUVVzc1EwRkRhRU1zT0VSQlFUaEVMRVZCUXpsRUxFTkJRVU1zYVVKQlFXbENMRVZCUVVVc1VVRkJVU3hKUVVGSkxFbEJRVWtzUTBGQlF5eERRVU4wUXl4RFFVRlJMRU5CUVVNN1NVRkRWaXhOUVVGTkxFbEJRVWtzUjBGQlJ5eExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTFCUVUwc1JVRkJSU3hKUVVGSkxFTkJRVU03U1VGRE0wUXNUVUZCVFN4WFFVRlhMRWRCUVVjc1MwRkJTeXhEUVVGRExFOUJRVThzUTBGQlF5eEpRVUZKTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEZsQlFWa3NRMEZCUXl4RFFVRkRMRU5CUVVNc1UwRkJVeXhEUVVGRE8wbEJRelZGTEVsQlFVa3NUMEZCVHl4WFFVRlhMRXRCUVVzc1VVRkJVVHRSUVVGRkxFOUJRVThzVTBGQlV5eERRVUZETzBsQlEzUkVMRTFCUVUwc1ZVRkJWU3hIUVVGSExGZEJRVmNzUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXp0SlFVTjBReXhQUVVGUExITkNRVUZ6UWl4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVExFTkJRVU03UVVGRE1VVXNRMEZCUXlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLbHh1SUNvZ1FHMXZaSFZzWlNCcGJuUmxaM0poZEdsdmJuTXZibUZ0WlhOd1lXTmxjeTl5YkhNdmNISnBibU5wY0dGc0xYSmxjMjlzZG1WeVhHNGdLaUJBYzNWdGJXRnllU0JTWlhOdmJIWmxjeUJoSUdSbFkyRm1JR0J3Y21sdVkybHdZV3h6TG1sa1lDQlZWVWxFSUdaeWIyMGdZVzRnWVhWMGFHVnVkR2xqWVhSbFpDQnpkV0pxWldOMElIUm9jbTkxWjJnZ2RHaGxJRkpNVXlCZ1UwVkRWVkpKVkZrZ1JFVkdTVTVGVW1BZ2FHVnNjR1Z5TGx4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVWNGNHOXpaWE1nZTBCc2FXNXJJSEpsYzI5c2RtVlFjbWx1WTJsd1lXeEdiM0pUZFdKcVpXTjBmU3dnWVNCbVlXbHNMV05zYjNObFpDeGNiaUFxSUdaMWJHeDVJSEJoY21GdFpYUmxjbWw2WldRZ2JHOXZhM1Z3SUhSb1lYUWdiV0Z3Y3lCaGJpQmhkWFJvWlc1MGFXTmhkR1ZrSUhOMVltcGxZM1FnYVdRZ0tHRnVaRnh1SUNvZ2IzQjBhVzl1WVd3Z2RHVnVZVzUwS1NCMGJ5QjBhR1VnYzJsdVoyeGxJRzFoZEdOb2FXNW5JSEJ5YVc1amFYQmhiQ0JWVlVsRUlIWnBZU0IwYUdWY2JpQXFJR0JoY0hCZmNteHpYM0J5YVc1amFYQmhiRjltYjNKZmMzVmlhbVZqZENoMFpYaDBMQ0IxZFdsa0tXQWdVMUZNSUdobGJIQmxjaUJwYm5OMFlXeHNaV1FnWW5rZ2RHaGxYRzRnS2lCdVlXMWxjM0JoWTJVZ1VreFRJSFJsYlhCc1lYUmxMaUJKYm5SbGJtUmxaQ0JtYjNJZ2NISnBkbWxzWldkbFpDQnBibVp5WVhOMGNuVmpkSFZ5WlNCamIyUmxJQ2hoZFhSb1hHNGdLaUJ3Y21sdFpTQXZJSE5sY25acFkyVWdjbTlzWlNrZ2RHaGhkQ0J0ZFhOMElIUnlZVzV6YkdGMFpTQmhJR3h2WjJsdUlHbGtaVzUwYVhSNUlHbHVkRzhnZEdobFhHNGdLaUJ3Y21sdVkybHdZV3dnVlZWSlJDQjBhR1VnVkhsd1pVOVNUU0JoWkdGd2RHVnlJR0pwYm1SeklIUnlZVzV6WVdOMGFXOXVMV3h2WTJGc2JIa2dkRzljYmlBcUlHQmhjSEF1Y0hKcGJtTnBjR0ZzWDJsa1lEc2dhWFFnYVhNZ2JtOTBJRzFsWVc1MElIUnZJSEoxYmlCdmJpQmhiaUJTVEZNdGNtVnpkSEpwWTNSbFpDQmhjSEJzYVdOaGRHbHZibHh1SUNvZ2MyVnpjMmx2Ymk1Y2JpQXFMMXh1YVcxd2IzSjBJSHNnVm1Gc2FXUmhkR2x2YmtWeWNtOXlJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWWkxa1pXTnZjbUYwYjNKelhDSTdYRzVjYmk4cUtseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlFMXBibWx0WVd3Z1UxRk1JR05zYVdWdWRDQmpiMjUwY21GamRDQm1iM0lnZEdobElIQnlhVzVqYVhCaGJDMXpkV0pxWldOMElISmxjMjlzZG1WeVhHNGdLaUJBYzNWdGJXRnllU0JUZEhKMVkzUjFjbUZzSUhOMVluTmxkQ0JqYjI1emRXMWxaQ0JpZVNCZ2NtVnpiMngyWlZCeWFXNWphWEJoYkVadmNsTjFZbXBsWTNSZ095QmhibmxjYmlBcUlIQnlhWFpwYkdWblpXUWdZMnhwWlc1MElHRmliR1VnZEc4Z2NuVnVJSEJoY21GdFpYUmxjbWw2WldRZ2NYVmxjbWxsY3lBb1ptOXlJR1Y0WVcxd2JHVWdZU0JnY0dkZ1hHNGdLaUJnUTJ4cFpXNTBZQ0J2Y2lCaElGUjVjR1ZQVWswZ1lGRjFaWEo1VW5WdWJtVnlZQ2tnYzJGMGFYTm1hV1Z6SUdsMExpQlVhR1VnY21WemIyeDJaWElnY21WeGRXbHlaWE1nWVZ4dUlDb2djSEpwZG1sc1pXZGxaQ0JoZFhSb0xYQnlhVzFsTDNObGNuWnBZMlV0Y205c1pTQmpiR2xsYm5RZ1ltVmpZWFZ6WlNCMGFHVWdhR1ZzY0dWeUlHWjFibU4wYVc5dUlHbHpYRzRnS2lCZ1VrVldUMHRGWUdRZ1puSnZiU0JnVUZWQ1RFbERZQzVjYmlBcUlFQnBiblJsY21aaFkyVWdVSEpwYm1OcGNHRnNVM1ZpYW1WamRGRjFaWEo1UTJ4cFpXNTBYRzRnS2k5Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1VISnBibU5wY0dGc1UzVmlhbVZqZEZGMVpYSjVRMnhwWlc1MElIdGNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQkZlR1ZqZFhSbGN5QmhJSEJoY21GdFpYUmxjbWw2WldRZ1UxRk1JSE4wWVhSbGJXVnVkRnh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2MzRnNJQzBnVkdobElGTlJUQ0IwWlhoMElIZHBkR2dnY0c5emFYUnBiMjVoYkNCd1lYSmhiV1YwWlhKekxseHVJQ0FnS2lCQWNHRnlZVzBnZTJGdWVWdGRmU0JiZG1Gc2RXVnpYU0F0SUZCdmMybDBhVzl1WVd3Z2NHRnlZVzFsZEdWeUlIWmhiSFZsY3k1Y2JpQWdJQ29nUUhKbGRIVnlibk1nZTFCeWIyMXBjMlU4ZFc1cmJtOTNiajU5SUZSb1pTQnlZWGNnWkhKcGRtVnlJSEpsYzNWc2RDQW9ZU0J5YjNkeklHRnljbUY1SUc5eUlHRnVJRzlpYW1WamRDQjNhWFJvSUdFZ1lISnZkM05nSUdGeWNtRjVLUzVjYmlBZ0lDb3ZYRzRnSUhGMVpYSjVLSE54YkRvZ2MzUnlhVzVuTENCMllXeDFaWE0vT2lCaGJubGJYU2s2SUZCeWIyMXBjMlU4ZFc1cmJtOTNiajQ3WEc1OVhHNWNiaThxS2x4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUZCaGRIUmxjbTRnWlc1bWIzSmphVzVuSUZWVlNVUWdjMmhoY0dVZ2IyNGdjbVZ6YjJ4MlpXUWdjSEpwYm1OcGNHRnNjeUJoYm1RZ2RHVnVZVzUwSUdsa2MxeHVJQ29nUUhOMWJXMWhjbmtnVlhObFpDQjBieUIyWVd4cFpHRjBaU0IwYUdVZ2IzQjBhVzl1WVd3Z1lIUmxibUZ1ZEVsa1lDQmhjbWQxYldWdWRDQmhibVFnZEc4Z1ptRnBiRnh1SUNvZ1kyeHZjMlZrSUc5dUlHUnlhWFpsY2lCeVpYTjFiSFJ6SUhSb1lYUWdZWEpsSUc1dmRDQlZWVWxFTFhOb1lYQmxaQ0J6ZEhKcGJtZHpMbHh1SUNvZ1FHTnZibk4wSUZCU1NVNURTVkJCVEY5VlZVbEVYMUJCVkZSRlVrNWNiaUFxTDF4dVpYaHdiM0owSUdOdmJuTjBJRkJTU1U1RFNWQkJURjlWVlVsRVgxQkJWRlJGVWs0Z1BWeHVJQ0F2WGxzd0xUbGhMV1pkZXpoOUxWc3dMVGxoTFdaZGV6UjlMVnN3TFRsaExXWmRlelI5TFZzd0xUbGhMV1pkZXpSOUxWc3dMVGxoTFdaZGV6RXlmU1F2YVR0Y2JseHVMeW9xWEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnVW1WemIyeDJaWE1nZEdobElIQnlhVzVqYVhCaGJDQlZWVWxFSUdadmNpQmhiaUJoZFhSb1pXNTBhV05oZEdWa0lITjFZbXBsWTNSY2JpQXFJRUJ6ZFcxdFlYSjVJRU5oYkd4eklIUm9aU0JnVTBWRFZWSkpWRmtnUkVWR1NVNUZVbUFnYUdWc2NHVnlYRzRnS2lCZ1lYQndYM0pzYzE5d2NtbHVZMmx3WVd4ZlptOXlYM04xWW1wbFkzUW9kR1Y0ZEN3Z2RYVnBaQ2xnSUhSb2NtOTFaMmdnZEdobElHZHBkbVZ1SUhCeWFYWnBiR1ZuWldSY2JpQXFJR05zYVdWdWRDQjNhWFJvSUdaMWJHeDVJSEJoY21GdFpYUmxjbWw2WldRZ1UxRk1MaUJHWVdsc2N5QmpiRzl6WldRNklHRnVJR1Z0Y0hSNUlITjFZbXBsWTNRc0lHRnVYRzRnS2lCaGJXSnBaM1Z2ZFhNZ2MzVmlhbVZqZENBb2RHaGxJR2hsYkhCbGNpQnlaWFIxY201eklHQk9WVXhNWUNCMWJteGxjM01nWlhoaFkzUnNlU0J2Ym1VZ2NISnBibU5wY0dGc1hHNGdLaUJ0WVhSamFHVnpLU3dnWVc1a0lHUnlhWFpsY2lCeVpYTjFiSFJ6SUhSb1lYUWdZWEpsSUc1dmRDQlZWVWxFTFhOb1lYQmxaQ0J6ZEhKcGJtZHpJR0ZzYkNCeVpYTnZiSFpsSUhSdlhHNGdLaUJnZFc1a1pXWnBibVZrWUNCeVlYUm9aWElnZEdoaGJpQjBhSEp2ZDJsdVp5d2djMjhnWTJGc2JHVnljeUJvWVc1a2JHVWdYQ0p1YnlCd2NtbHVZMmx3WVd4Y0lpQjFibWxtYjNKdGJIbGNiaUFxSUdKNUlHUmxibmxwYm1jdUlGSmxjWFZwY21WeklHRWdjSEpwZG1sc1pXZGxaQ0JoZFhSb0xYQnlhVzFsTDNObGNuWnBZMlV0Y205c1pTQmpiR2xsYm5RN0lIUm9hWE5jYmlBcUlISmxjMjlzZG1WeUlHMTFjM1FnYm1WMlpYSWdZbVVnYVc1MmIydGxaQ0IzYVhSb0lHRnVJR0Z3Y0d4cFkyRjBhVzl1SUhObGMzTnBiMjRnWTJ4cFpXNTBMbHh1SUNvZ1FHWjFibU4wYVc5dUlISmxjMjlzZG1WUWNtbHVZMmx3WVd4R2IzSlRkV0pxWldOMFhHNGdLaUJBY0dGeVlXMGdlMUJ5YVc1amFYQmhiRk4xWW1wbFkzUlJkV1Z5ZVVOc2FXVnVkSDBnWTJ4cFpXNTBJQzBnVUhKcGRtbHNaV2RsWkNCamJHbGxiblFnZFhObFpDQjBieUJ5ZFc0Z2RHaGxJR2hsYkhCbGNpQnhkV1Z5ZVM1Y2JpQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQnpkV0pxWldOMElDMGdWR2hsSUdGMWRHaGxiblJwWTJGMFpXUWdjM1ZpYW1WamRDQnBaQ0FvWUhCeWFXNWphWEJoYkhNdWMzVmlhbVZqZEY5cFpHQXBMbHh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUZ0MFpXNWhiblJKWkYwZ0xTQlBjSFJwYjI1aGJDQjBaVzVoYm5RZ1ZWVkpSQ0J6WTI5d2FXNW5JSFJvWlNCc2IyOXJkWEF1WEc0Z0tpQkFjbVYwZFhKdWN5QjdVSEp2YldselpUeHpkSEpwYm1jZ2ZDQjFibVJsWm1sdVpXUStmU0JVYUdVZ2NISnBibU5wY0dGc0lGVlZTVVFzSUc5eUlHQjFibVJsWm1sdVpXUmdJSGRvWlc0Z2JtOXVaU0JqWVc0Z1ltVWdjbVZ6YjJ4MlpXUXVYRzRnS2lCQWRHaHliM2R6SUh0V1lXeHBaR0YwYVc5dVJYSnliM0o5SUZkb1pXNGdkR2hsSUdOc2FXVnVkQ0JwY3lCdWIzUWdjWFZsY25rdFkyRndZV0pzWlN3Z2IzSWdZSFJsYm1GdWRFbGtZQ0JwY3lCd2NtOTJhV1JsWkNCaWRYUWdibTkwSUdFZ1ZWVkpSQzVjYmlBcUlFQmxlR0Z0Y0d4bFhHNGdLaUJqYjI1emRDQndjbWx1WTJsd1lXeEpaQ0E5SUdGM1lXbDBJSEpsYzI5c2RtVlFjbWx1WTJsd1lXeEdiM0pUZFdKcVpXTjBLSEJuUTJ4cFpXNTBMQ0JoZFhSb1UzVmlhbVZqZEN3Z2RHVnVZVzUwU1dRcE8xeHVJQ29nYVdZZ0tDRndjbWx1WTJsd1lXeEpaQ2xjYmlBcUlDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtGd2lUbThnY0hKcGJtTnBjR0ZzSUdadmNpQnpkV0pxWldOMFhDSXBPeUF2THlCbVlXbHNJR05zYjNObFpGeHVJQ292WEc1bGVIQnZjblFnWVhONWJtTWdablZ1WTNScGIyNGdjbVZ6YjJ4MlpWQnlhVzVqYVhCaGJFWnZjbE4xWW1wbFkzUW9YRzRnSUdOc2FXVnVkRG9nVUhKcGJtTnBjR0ZzVTNWaWFtVmpkRkYxWlhKNVEyeHBaVzUwTEZ4dUlDQnpkV0pxWldOME9pQnpkSEpwYm1jc1hHNGdJSFJsYm1GdWRFbGtQem9nYzNSeWFXNW5YRzRwT2lCUWNtOXRhWE5sUEhOMGNtbHVaeUI4SUhWdVpHVm1hVzVsWkQ0Z2UxeHVJQ0JwWmlBb0lXTnNhV1Z1ZENCOGZDQjBlWEJsYjJZZ1kyeHBaVzUwTG5GMVpYSjVJQ0U5UFNCY0ltWjFibU4wYVc5dVhDSXBYRzRnSUNBZ2RHaHliM2NnYm1WM0lGWmhiR2xrWVhScGIyNUZjbkp2Y2loY2JpQWdJQ0FnSUZ3aWNtVnpiMngyWlZCeWFXNWphWEJoYkVadmNsTjFZbXBsWTNRZ2NtVnhkV2x5WlhNZ1lTQndjbWwyYVd4bFoyVmtJR0YxZEdndGNISnBiV1V2YzJWeWRtbGpaUzF5YjJ4bElHTnNhV1Z1ZEN3Z2JtOTBJSFJvWlNCaGNIQnNhV05oZEdsdmJpQnpaWE56YVc5dVhDSmNiaUFnSUNBcE8xeHVJQ0JqYjI1emRDQnViM0p0WVd4cGVtVmtVM1ZpYW1WamRDQTlJSFI1Y0dWdlppQnpkV0pxWldOMElEMDlQU0JjSW5OMGNtbHVaMXdpSUQ4Z2MzVmlhbVZqZEM1MGNtbHRLQ2tnT2lCY0lsd2lPMXh1SUNCcFppQW9JVzV2Y20xaGJHbDZaV1JUZFdKcVpXTjBLU0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh1SUNCcFppQW9kR1Z1WVc1MFNXUWdJVDA5SUhWdVpHVm1hVzVsWkNBbUppQjBaVzVoYm5SSlpDQWhQVDBnYm5Wc2JDa2dlMXh1SUNBZ0lHbG1JQ2gwZVhCbGIyWWdkR1Z1WVc1MFNXUWdJVDA5SUZ3aWMzUnlhVzVuWENJZ2ZId2dJVkJTU1U1RFNWQkJURjlWVlVsRVgxQkJWRlJGVWs0dWRHVnpkQ2gwWlc1aGJuUkpaQ2twWEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnVm1Gc2FXUmhkR2x2YmtWeWNtOXlLRnh1SUNBZ0lDQWdJQ0JjSW5KbGMyOXNkbVZRY21sdVkybHdZV3hHYjNKVGRXSnFaV04wSUhSbGJtRnVkRWxrSUcxMWMzUWdZbVVnWVNCVlZVbEVJSGRvWlc0Z2NISnZkbWxrWldSY0lseHVJQ0FnSUNBZ0tUdGNiaUFnZlZ4dUlDQmpiMjV6ZENCeVpYTjFiSFFnUFNBb1lYZGhhWFFnWTJ4cFpXNTBMbkYxWlhKNUtGeHVJQ0FnSUZ3aVUwVk1SVU5VSUdGd2NGOXliSE5mY0hKcGJtTnBjR0ZzWDJadmNsOXpkV0pxWldOMEtDUXhMQ0FrTWlrZ1FWTWdjSEpwYm1OcGNHRnNYMmxrWENJc1hHNGdJQ0FnVzI1dmNtMWhiR2w2WldSVGRXSnFaV04wTENCMFpXNWhiblJKWkNBL1B5QnVkV3hzWFZ4dUlDQXBLU0JoY3lCaGJuazdYRzRnSUdOdmJuTjBJSEp2ZDNNZ1BTQkJjbkpoZVM1cGMwRnljbUY1S0hKbGMzVnNkQ2tnUHlCeVpYTjFiSFFnT2lCeVpYTjFiSFEvTG5KdmQzTTdYRzRnSUdOdmJuTjBJSEJ5YVc1amFYQmhiRWxrSUQwZ1FYSnlZWGt1YVhOQmNuSmhlU2h5YjNkektTQS9JSEp2ZDNOYk1GMC9MbkJ5YVc1amFYQmhiRjlwWkNBNklIVnVaR1ZtYVc1bFpEdGNiaUFnYVdZZ0tIUjVjR1Z2WmlCd2NtbHVZMmx3WVd4SlpDQWhQVDBnWENKemRISnBibWRjSWlrZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2JpQWdZMjl1YzNRZ2JtOXliV0ZzYVhwbFpDQTlJSEJ5YVc1amFYQmhiRWxrTG5SeWFXMG9LVHRjYmlBZ2NtVjBkWEp1SUZCU1NVNURTVkJCVEY5VlZVbEVYMUJCVkZSRlVrNHVkR1Z6ZENodWIzSnRZV3hwZW1Wa0tTQS9JRzV2Y20xaGJHbDZaV1FnT2lCMWJtUmxabWx1WldRN1hHNTlYRzRpWFgwPSJdfQ==
|
|
@@ -265,5 +265,5 @@ async function runAsPrincipal(executor, principalId, run, options = {}) {
|
|
|
265
265
|
throw error;
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
|
-
//# sourceMappingURL=rls-bootstrap.service.js.map
|
|
269
|
-
//# sourceMappingURL=rls-bootstrap.service.cjs.map
|
|
268
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmxzLWJvb3RzdHJhcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25hbWVzcGFjZXMvcmxzL3Jscy1ib290c3RyYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBQ0gsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixtQkFBbUIsR0FDcEIsMEJBQXVCO0FBTXhCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsMkJBQXdCO0FBRXpFLE1BQU0sWUFBWSxHQUNoQixpRUFBaUUsQ0FBQztBQUVwRTs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBQ3RELFlBQVksT0FBZTtRQUN6QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLHVCQUF1QixDQUFDO0lBQ3RDLENBQUM7Q0FDRjtBQWdCRCxTQUFTLDZCQUE2QixDQUNwQyxNQUFjLEVBQ2QsT0FBc0M7SUFFdEMsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNyRSxNQUFNLElBQUksZUFBZSxDQUN2QixHQUFHLE1BQU0sK0VBQStFLENBQ3pGLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFdBQW1CO0lBQ25ELElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDcEQsTUFBTSxJ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QUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQztZQUNILE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsZ0NBQWdDO1FBQ2xDLENBQUM7UUFDRCxNQUFNLEtBQUssQ0FBQztJQUNkLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9uYW1lc3BhY2VzL3Jscy9ib290c3RyYXBcbiAqIEBzdW1tYXJ5IEJvb3RzdHJhcCBzZXJ2aWNlIHRoYXQgYXBwbGllcyB0aGUgbmFtZXNwYWNlIHJvdy1sZXZlbC1zZWN1cml0eSB0ZW1wbGF0ZS5cbiAqIEBkZXNjcmlwdGlvbiBXaXJlcyB0aGUgU1FMIHRlbXBsYXRlIGludG8gYSBxdWVyeSBleGVjdXRvciAoZm9yIGV4YW1wbGUgYVxuICogYHBnLkNsaWVudGApIHNvIGRlcGxveW1lbnRzIGFwcGx5IHRoZSBwb2xpY2llcyB0aHJvdWdoIGFwcGxpY2F0aW9uIGJvb3RzdHJhcFxuICogb3IgYSBtaWdyYXRpb24gcnVubmVyIGluc3RlYWQgb2YgaGFuZC1ydW5uaW5nIFNRTC4gQWxzbyBleHBvc2VzIGhlbHBlcnNcbiAqIHRoYXQgYmluZCBgYXBwLnByaW5jaXBhbF9pZGAgdHJhbnNhY3Rpb24tbG9jYWxseSBmb3IgcmVxdWVzdC1zY29wZWQgYWNjZXNzLlxuICovXG5pbXBvcnQgeyBDbGllbnRCYXNlZFNlcnZpY2UgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IEludGVybmFsRXJyb3IsIFZhbGlkYXRpb25FcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHtcbiAgUkxTX0ZVTkNUSU9OX1NUQVRFTUVOVFMsXG4gIHJsc0Jvb3RzdHJhcFN0YXRlbWVudHMsXG4gIHJsc1BvbGljeVN0YXRlbWVudHMsXG59IGZyb20gXCIuL3Jscy50ZW1wbGF0ZVwiO1xuaW1wb3J0IHR5cGUge1xuICBSbHNCb290c3RyYXBDb25maWcsXG4gIFJsc1F1ZXJ5RXhlY3V0b3IsXG4gIFJ1bkFzUHJpbmNpcGFsT3B0aW9ucyxcbn0gZnJvbSBcIi4vcmxzLnR5cGVzXCI7XG5pbXBvcnQgeyBSTFNfRlVOQ1RJT05fT1dORVJfUVVFUlksIFJMU19TRVRUSU5HUyB9IGZyb20gXCIuL3Jscy5jb25zdGFudHNcIjtcblxuY29uc3QgVVVJRF9QQVRURVJOID1cbiAgL15bMC05YS1mXXs4fS1bMC05YS1mXXs0fS1bMC05YS1mXXs0fS1bMC05YS1mXXs0fS1bMC05YS1mXXsxMn0kL2k7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFRocm93biB3aGVuIHRoZSBleGVjdXRvciByb2xlIGNhbm5vdCBzYWZlbHkgb3duIHRoZSBSTFMgaGVscGVyIGZ1bmN0aW9ucy5cbiAqIEBzdW1tYXJ5IFJhaXNlZCBieVxuICogYFJsc0Jvb3RzdHJhcFNlcnZpY2UuYXNzZXJ0RnVuY3Rpb25Pd25lclByaXZpbGVnZXMoKWAgd2hlbiB0aGUgY3VycmVudFxuICogZGF0YWJhc2Ugcm9sZSBpcyBuZWl0aGVyIGBTVVBFUlVTRVJgIG5vciBgQllQQVNTUkxTYCAob3Igd2hlbiBpdHNcbiAqIHByaXZpbGVnZXMgY2Fubm90IGJlIGRldGVybWluZWQpLiBFeHRlbmRzXG4gKiBge0BsaW5rIEludGVybmFsRXJyb3J9YCBzbyBjYWxsZXJzIGNhbiBjYXRjaCBpdCBnZW5lcmljYWxseSwgd2hpbGVcbiAqIGNhcnJ5aW5nIHRoZSBkaXN0aW5jdGl2ZSBgUmxzRnVuY3Rpb25Pd25lckVycm9yYCBuYW1lIGZvclxuICogZmFpbC1jbG9zZWQgbWF0Y2hpbmcuXG4gKiBAY2xhc3MgUmxzRnVuY3Rpb25Pd25lckVycm9yXG4gKiBAY2F0ZWdvcnkgTmFtZXNwYWNlc1xuICovXG5leHBvcnQgY2xhc3MgUmxzRnVuY3Rpb25Pd25lckVycm9yIGV4dGVuZHMgSW50ZXJuYWxFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9IFwiUmxzRnVuY3Rpb25Pd25lckVycm9yXCI7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gT3B0aW9ucyBhY2NlcHRlZCBieSB0aGUgdHJhbnNhY3Rpb24tbG9jYWwgUkxTIGJpbmRpbmcgaGVscGVycy5cbiAqIEBzdW1tYXJ5IFNlc3Npb24td2lkZSBiaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWQ6IHRoZSBvbmx5IGFjY2VwdGFibGUgdmFsdWUgaXNcbiAqIGBsb2NhbDogdHJ1ZWAsIHdoaWNoIGlzIGFsc28gdGhlIGRlZmF1bHQuIEEgYGxvY2FsOiBmYWxzZWAgcmVxdWVzdCBpc1xuICogcmVqZWN0ZWQgd2l0aCBgVmFsaWRhdGlvbkVycm9yYCBiZWZvcmUgYW55IFNRTCBpcyBzZW50LCBiZWNhdXNlIGFcbiAqIHNlc3Npb24td2lkZSBzZXR0aW5nIG9uIGEgcG9vbGVkIGNvbm5lY3Rpb24gbGVha3MgYWNyb3NzIHJlcXVlc3RzLlxuICogQGludGVyZmFjZSBSbHNCaW5kaW5nT3B0aW9uc1xuICogQHByb3BlcnR5IHt0cnVlfSBbbG9jYWxdIC0gTXVzdCBiZSBgdHJ1ZWAgb3Igb21pdHRlZCAodGhlIGRlZmF1bHQgaXMgYHRydWVgKTtcbiAqIGFueSBvdGhlciB2YWx1ZSBpcyByZWplY3RlZCBiZWZvcmUgYW55IFNRTCBpcyBzZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJsc0JpbmRpbmdPcHRpb25zIHtcbiAgbG9jYWw/OiB0cnVlO1xufVxuXG5mdW5jdGlvbiBhc3NlcnRUcmFuc2FjdGlvbkxvY2FsQmluZGluZyhcbiAgbWV0aG9kOiBzdHJpbmcsXG4gIG9wdGlvbnM6IFJsc0JpbmRpbmdPcHRpb25zIHwgdW5kZWZpbmVkXG4pOiB2b2lkIHtcbiAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5sb2NhbCAhPT0gdW5kZWZpbmVkICYmIG9wdGlvbnMubG9jYWwgIT09IHRydWUpIHtcbiAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgYCR7bWV0aG9kfSBvbmx5IHN1cHBvcnRzIHRyYW5zYWN0aW9uLWxvY2FsIGJpbmRpbmc6IHNlc3Npb24td2lkZSBiaW5kaW5nIGlzIG5vdCBhbGxvd2VkYFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gVmFsaWRhdGVzIGEgcHJpbmNpcGFsIGlkZW50aWZpZXIgYmVmb3JlIGJpbmRpbmcgaXQgdG8gdGhlXG4gKiBgYXBwLnByaW5jaXBhbF9pZGAgUkxTIHNldHRpbmcuXG4gKiBAc3VtbWFyeSBGYWlsLWNsb3NlZCBzaGFwZSBndWFyZCBzaGFyZWQgYnkgdGhlIGJpbmRpbmcgaGVscGVyczogdGhlIHZhbHVlXG4gKiBtdXN0IGJlIGEgbm9uLWVtcHR5IFVVSUQgc3RyaW5nLiBPbiBmYWlsdXJlIGl0IHRocm93cyBhIGBWYWxpZGF0aW9uRXJyb3JgXG4gKiB3aXRoIGEgZml4ZWQgbWVzc2FnZSB0aGF0IG5ldmVyIGVjaG9lcyB0aGUgcmVqZWN0ZWQgdmFsdWUsIHNvIGludmFsaWQgaW5wdXRcbiAqIGNhbm5vdCBsZWFrIGludG8gZXJyb3Igc3VyZmFjZXMgb3IgbG9ncy5cbiAqIEBmdW5jdGlvbiBhc3NlcnRQcmluY2lwYWxJZFxuICogQHBhcmFtIHtzdHJpbmd9IHByaW5jaXBhbElkIC0gQ2FuZGlkYXRlIHByaW5jaXBhbCAob3IgdGVuYW50KSBVVUlEIHRvIHZhbGlkYXRlLlxuICogQHJldHVybnMge3ZvaWR9XG4gKiBAdGhyb3dzIHtWYWxpZGF0aW9uRXJyb3J9IFdoZW4gdGhlIHZhbHVlIGlzIGVtcHR5IG9yIG5vdCBVVUlELXNoYXBlZDsgdGhlIG1lc3NhZ2UgZG9lcyBub3QgaW5jbHVkZSB0aGUgcmVqZWN0ZWQgdmFsdWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRQcmluY2lwYWxJZChwcmluY2lwYWxJZDogc3RyaW5nKTogdm9pZCB7XG4gIGlmICghcHJpbmNpcGFsSWQgfHwgIVVVSURfUEFUVEVSTi50ZXN0KHByaW5jaXBhbElkKSkge1xuICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXCJJbnZhbGlkIFJMUyBwcmluY2lwYWwgaWRcIik7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQXBwbGllcyB0aGUgbmFtZXNwYWNlIFJMUyB0ZW1wbGF0ZSB0aHJvdWdoIGEgU1FMIGV4ZWN1dG9yLlxuICogQHN1bW1hcnkgVGhlIHNlcnZpY2UgYm9vdHMgd2l0aCBhIFNRTCBleGVjdXRvciAoYHBnLkNsaWVudGAsIGBwZy5Qb29sYCwgb3IgYVxuICogY29tcGF0aWJsZSB3cmFwcGVyKSBhbmQgYXBwbGllcyB0aGUgbmFtZXNwYWNlIHJvdy1sZXZlbC1zZWN1cml0eSB0ZW1wbGF0ZTpcbiAqIGZ1bmN0aW9uIHBsdXMgcG9saWN5IERETCBleGVjdXRlZCBzZXF1ZW50aWFsbHkuIEl0IGlzIHRoZSBkZXBsb3ltZW50LXNpZGVcbiAqIGVudHJ5IHBvaW50IGZvciB0aGUgUkxTIHRlbXBsYXRlLCBtZWFudCB0byBydW4gZHVyaW5nIGFwcGxpY2F0aW9uIGJvb3RzdHJhcFxuICogb3IgYSBtaWdyYXRpb24gcnVubmVyIGluc3RlYWQgb2YgaGFuZC1ydW5uaW5nIFNRTC4gVGhlIHRlbXBsYXRlIGlzXG4gKiBpZGVtcG90ZW50IGFuZCBtYXkgcnVuIG9uIGV2ZXJ5IGRlcGxveW1lbnQuXG4gKiBAY2xhc3MgUmxzQm9vdHN0cmFwU2VydmljZVxuICogQGNhdGVnb3J5IE5hbWVzcGFjZXNcbiAqL1xuZXhwb3J0IGNsYXNzIFJsc0Jvb3RzdHJhcFNlcnZpY2UgZXh0ZW5kcyBDbGllbnRCYXNlZFNlcnZpY2U8XG4gIFJsc1F1ZXJ5RXhlY3V0b3IsXG4gIFJsc0Jvb3RzdHJhcENvbmZpZ1xuPiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBhc3luYyBpbml0aWFsaXplKC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx7XG4gICAgY29uZmlnOiBSbHNCb290c3RyYXBDb25maWc7XG4gICAgY2xpZW50OiBSbHNRdWVyeUV4ZWN1dG9yO1xuICB9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gYXJnc1swXSBhcyBSbHNRdWVyeUV4ZWN1dG9yIHwgdW5kZWZpbmVkO1xuICAgIGlmICghY2xpZW50IHx8IHR5cGVvZiBjbGllbnQucXVlcnkgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgXCJSbHNCb290c3RyYXBTZXJ2aWNlIHJlcXVpcmVzIGEgcXVlcnkgZXhlY3V0b3IgYXMgaXRzIGZpcnN0IGFyZ3VtZW50XCJcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGNvbmZpZyA9IChhcmdzWzFdIGFzIFJsc0Jvb3RzdHJhcENvbmZpZyB8IHVuZGVmaW5lZCkgPz8ge307XG4gICAgcmV0dXJuIHsgY29uZmlnLCBjbGllbnQgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQXBwbGllcyB0aGUgY29uZmlndXJlZCAob3IgYnVuZGxlZCkgUkxTIHN0YXRlbWVudCBsaXN0LlxuICAgKiBAc3VtbWFyeSBUaGUgc2VydmljZSBpcyBib290ZWQgd2l0aCBhbiBleGVjdXRvciAoYHBnLkNsaWVudGAsIGBwZy5Qb29sYCwgb3IgYVxuICAgKiBjb21wYXRpYmxlIHdyYXBwZXIpIGFuZCBhcHBsaWVzIGZ1bmN0aW9uIHBsdXMgcG9saWN5IERETCBzZXF1ZW50aWFsbHkuIFRoZVxuICAgKiB0ZW1wbGF0ZSBpcyBpZGVtcG90ZW50IGFuZCBtYXkgcnVuIG9uIGV2ZXJ5IGRlcGxveW1lbnQuIEJlZm9yZSBhbnkgRERMIGlzXG4gICAqIHNlbnQsIGBhc3NlcnRGdW5jdGlvbk93bmVyUHJpdmlsZWdlcygpYCB2ZXJpZmllcyB0aGF0IHRoZSBjdXJyZW50XG4gICAqIGV4ZWN1dG9yIHJvbGUgaXMgYFNVUEVSVVNFUmAgb3IgYEJZUEFTU1JMU2AgYW5kIGZhaWxzIGNsb3NlZCBvdGhlcndpc2UsXG4gICAqIHNvIGBTRUNVUklUWSBERUZJTkVSYCBoZWxwZXIgZnVuY3Rpb25zIGFyZSBuZXZlciBjcmVhdGVkIHdpdGggYW4gb3duZXJcbiAgICogdGhhdCB3b3VsZCByZWN1cnNlIHVuZGVyIGBGT1JDRSBST1cgTEVWRUwgU0VDVVJJVFlgLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHthcHBsaWVkOiBudW1iZXJ9Pn0gVGhlIG51bWJlciBvZiBzdGF0ZW1lbnRzIGV4ZWN1dGVkLlxuICAgKiBAdGhyb3dzIHtSbHNGdW5jdGlvbk93bmVyRXJyb3J9IFdoZW4gdGhlIGV4ZWN1dG9yIHJvbGUgaXMgbmVpdGhlciBgU1VQRVJVU0VSYCBub3IgYEJZUEFTU1JMU2AsIG9yIGl0cyBwcml2aWxlZ2VzIGNhbm5vdCBiZSBkZXRlcm1pbmVkLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIHRoZSByZXNvbHZlZCBzdGF0ZW1lbnQgbGlzdCBpcyBlbXB0eS5cbiAgICovXG4gIGFzeW5jIGFwcGx5KC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx7IGFwcGxpZWQ6IG51bWJlciB9PiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImFwcGx5XCIsIHRydWUpKS5mb3IodGhpcy5hcHBseSk7XG4gICAgY29uc3Qgc3RhdGVtZW50cyA9IHRoaXMuc3RhdGVtZW50cygpO1xuICAgIGlmICghc3RhdGVtZW50cy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiTm8gUkxTIHN0YXRlbWVudHMgdG8gYXBwbHlcIik7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuYXNzZXJ0RnVuY3Rpb25Pd25lclByaXZpbGVnZXMoLi4uYXJncyk7XG4gICAgbG9nLnZlcmJvc2UoYEFwcGx5aW5nICR7c3RhdGVtZW50cy5sZW5ndGh9IFJMUyBzdGF0ZW1lbnRzYCk7XG4gICAgZm9yIChjb25zdCBzdGF0ZW1lbnQgb2Ygc3RhdGVtZW50cykge1xuICAgICAgYXdhaXQgdGhpcy5jbGllbnQucXVlcnkoc3RhdGVtZW50KTtcbiAgICB9XG4gICAgbG9nLmluZm8oXG4gICAgICBgQXBwbGllZCBuYW1lc3BhY2UgUkxTIHRlbXBsYXRlICgke3N0YXRlbWVudHMubGVuZ3RofSBzdGF0ZW1lbnRzKWBcbiAgICApO1xuICAgIHJldHVybiB7IGFwcGxpZWQ6IHN0YXRlbWVudHMubGVuZ3RoIH07XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFZlcmlmaWVzIHRoYXQgdGhlIGN1cnJlbnQgZXhlY3V0b3Igcm9sZSBjYW4gb3duIHRoZSBSTFMgaGVscGVyIGZ1bmN0aW9ucy5cbiAgICogQHN1bW1hcnkgUnVucyBgUkxTX0ZVTkNUSU9OX09XTkVSX1FVRVJZYCB0aHJvdWdoIHRoZSBjb25maWd1cmVkIGV4ZWN1dG9yXG4gICAqIGFuZCByZWFkcyB0aGUgY3VycmVudCByb2xlJ3MgYHJvbHN1cGVyYC9gcm9sYnlwYXNzcmxzYCBmbGFncyBmcm9tXG4gICAqIGBwZ19yb2xlc2AuIEZhaWxzIGNsb3NlZDogd2hlbiB0aGUgcm93IGlzIG1pc3Npbmcgb3IgdGhlIGZsYWdzIGFyZSBub3RcbiAgICogYm9vbGVhbnMsIGl0IHRocm93cyBgUmxzRnVuY3Rpb25Pd25lckVycm9yYCB3aXRoIHRoZSBzYW1lXG4gICAqIGZhaWwtY2xvc2VkIHNlbWFudGljcyBhcyBhbiBleHBsaWNpdCBwcml2aWxlZ2UgZmFpbHVyZS4gQ2FsbGVkXG4gICAqIGF1dG9tYXRpY2FsbHkgYnkgYGFwcGx5KClgIGJlZm9yZSBhbnkgRERMIGlzIGV4ZWN1dGVkLlxuICAgKiBAcGFyYW0gYXJncyAtIE9wdGlvbmFsIHRyYWlsaW5nIGRlY2FmIGBDb250ZXh0YCBhcmd1bWVudHMgZm9yd2FyZGVkIHRvIHRoZSBsb2cgY29udGV4dC5cbiAgICogQHJldHVybiBSZXNvbHZlcyB3aGVuIHRoZSBjdXJyZW50IHJvbGUgaXMgYFNVUEVSVVNFUmAgb3IgYEJZUEFTU1JMU2AuXG4gICAqIEB0aHJvd3Mge1Jsc0Z1bmN0aW9uT3duZXJFcnJvcn0gV2hlbiB0aGUgZXhlY3V0b3Igcm9sZSBpcyBuZWl0aGVyIGBTVVBFUlVTRVJgIG5vciBgQllQQVNTUkxTYCwgb3Igd2hlbiBpdHMgcHJpdmlsZWdlcyBjYW5ub3QgYmUgZGV0ZXJtaW5lZCBmcm9tIGBwZ19yb2xlc2AuXG4gICAqL1xuICBhc3luYyBhc3NlcnRGdW5jdGlvbk93bmVyUHJpdmlsZWdlcyguLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImFzc2VydEZ1bmN0aW9uT3duZXJQcml2aWxlZ2VzXCIsIHRydWUpXG4gICAgKS5mb3IodGhpcy5hc3NlcnRGdW5jdGlvbk93bmVyUHJpdmlsZWdlcyk7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jbGllbnQucXVlcnkoUkxTX0ZVTkNUSU9OX09XTkVSX1FVRVJZKTtcbiAgICBjb25zdCByb3cgPSAocmVzdWx0LnJvd3M/LlswXSA/PyB1bmRlZmluZWQpIGFzXG4gICAgICB8IHsgcm9sbmFtZT86IHN0cmluZzsgcm9sc3VwZXI/OiBib29sZWFuOyByb2xieXBhc3NybHM/OiBib29sZWFuIH1cbiAgICAgIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IHJvbGVOYW1lID0gcm93Py5yb2xuYW1lXG4gICAgICA/IEpTT04uc3RyaW5naWZ5KHJvdy5yb2xuYW1lKVxuICAgICAgOiBcImN1cnJlbnRfdXNlclwiO1xuICAgIGlmIChcbiAgICAgIHR5cGVvZiByb3c/LnJvbHN1cGVyICE9PSBcImJvb2xlYW5cIiB8fFxuICAgICAgdHlwZW9mIHJvdz8ucm9sYnlwYXNzcmxzICE9PSBcImJvb2xlYW5cIlxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IFJsc0Z1bmN0aW9uT3duZXJFcnJvcihcbiAgICAgICAgYENhbm5vdCBhcHBseSB0aGUgbmFtZXNwYWNlIFJMUyB0ZW1wbGF0ZTogY291bGQgbm90IGRldGVybWluZSB0aGUgcHJpdmlsZWdlcyBvZiAke3JvbGVOYW1lfS4gYCArXG4gICAgICAgICAgXCJUaGUgU0VDVVJJVFkgREVGSU5FUiBoZWxwZXIgZnVuY3Rpb25zIHJlcXVpcmUgYSBTVVBFUlVTRVIgb3IgQllQQVNTUkxTIG93bmVyOyByZWZ1c2luZyB0byBcIiArXG4gICAgICAgICAgXCJhcHBseSBwb2xpY2llcyB0aGF0IHdvdWxkIHJlY3Vyc2UgdW5kZXIgRk9SQ0UgUk9XIExFVkVMIFNFQ1VSSVRZLlwiXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoIXJvdy5yb2xzdXBlciAmJiAhcm93LnJvbGJ5cGFzc3Jscykge1xuICAgICAgdGhyb3cgbmV3IFJsc0Z1bmN0aW9uT3duZXJFcnJvcihcbiAgICAgICAgYENhbm5vdCBhcHBseSB0aGUgbmFtZXNwYWNlIFJMUyB0ZW1wbGF0ZSBhcyAke3JvbGVOYW1lfTogdGhlIGV4ZWN1dG9yIHJvbGUgaXMgbmVpdGhlciBTVVBFUlVTRVIgYCArXG4gICAgICAgICAgXCJub3IgQllQQVNTUkxTLiBUaGUgU0VDVVJJVFkgREVGSU5FUiBoZWxwZXIgZnVuY3Rpb25zIG11c3QgYmUgb3duZWQgYnkgYSByb2xlIHRoYXQgYnlwYXNzZXMgUkxTLCBcIiArXG4gICAgICAgICAgXCJvdGhlcndpc2UgZXZlcnkgcG9saWN5IGV2YWx1YXRpb24gcmVjdXJzZXMgdW5kZXIgRk9SQ0UgUk9XIExFVkVMIFNFQ1VSSVRZIGFuZCBmYWlscy4gQ29ubmVjdCBhcyBcIiArXG4gICAgICAgICAgXCJ0aGUgZGF0YWJhc2Ugb3duZXIvQllQQVNTUkxTIG1pZ3JhdGlvbiByb2xlLCBvciBjcmVhdGUgdGhlIGhlbHBlciBmdW5jdGlvbnMgd2l0aCBhIGRlZGljYXRlZCBcIiArXG4gICAgICAgICAgXCJCWVBBU1NSTFMgb3duZXIuXCJcbiAgICAgICk7XG4gICAgfVxuICAgIGxvZy52ZXJib3NlKGBWZXJpZmllZCBSTFMgZnVuY3Rpb24gb3duZXIgcHJpdmlsZWdlcyBmb3IgJHtyb2xlTmFtZX1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVzb2x2ZXMgdGhlIHN0YXRlbWVudCBsaXN0IGZvciB0aGUgYWN0aXZlIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBzdGF0ZW1lbnRzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLl9jb25maWcgPz8ge307XG4gICAgaWYgKGNvbmZpZy5zdGF0ZW1lbnRzKSByZXR1cm4gWy4uLmNvbmZpZy5zdGF0ZW1lbnRzXTtcbiAgICBpZiAoY29uZmlnLnBvbGljaWVzKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5STFNfRlVOQ1RJT05fU1RBVEVNRU5UUyxcbiAgICAgICAgLi4ucmxzUG9saWN5U3RhdGVtZW50cyhjb25maWcucG9saWNpZXMpLFxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIHJsc0Jvb3RzdHJhcFN0YXRlbWVudHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQmluZHMgdGhlIGFjdGluZyBwcmluY2lwYWwgZm9yIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uLlxuICAgKiBAc3VtbWFyeSBJc3N1ZXMgcGFyYW1ldGVyaXplZCBgU0VMRUNUIHNldF9jb25maWcoJDEsICQyLCB0cnVlKWAgYWZ0ZXJcbiAgICogdmFsaWRhdGlvbiwgc28gdGhlIGJpbmRpbmcgbGl2ZXMgb25seSBmb3IgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gYW5kIGlzXG4gICAqIGRpc2NhcmRlZCBvbiBjb21taXQvcm9sbGJhY2sg4oCUIHNhZmUgb24gcG9vbGVkIGNvbm5lY3Rpb25zLiBBIHNlc3Npb24td2lkZVxuICAgKiBiaW5kaW5nIHJlcXVlc3QgZmFpbHMgd2l0aCBgVmFsaWRhdGlvbkVycm9yYCBiZWZvcmUgYW55IFNRTCBpcyBzZW50LCBhbmRcbiAgICogdGhlIHZlcmJvc2UgbG9nIHJlY29yZHMgb25seSB0aGF0IGEgYmluZGluZyBoYXBwZW5lZCwgbmV2ZXIgdGhlIHByaW5jaXBhbFxuICAgKiBpZC5cbiAgICogQHBhcmFtIHByaW5jaXBhbElkIFByaW5jaXBhbCBVVUlEIHN0b3JlZCBpbiBgYXBwLnByaW5jaXBhbF9pZGAuXG4gICAqIEBwYXJhbSBvcHRpb25zIE9ubHkgYGxvY2FsOiB0cnVlYCAodGhlIGRlZmF1bHQpIGlzIGFjY2VwdGVkOyB0aGUgYmluZGluZyBpc1xuICAgKiBhbHdheXMgdHJhbnNhY3Rpb24tbG9jYWwgYW5kIGlzIGRpc2NhcmRlZCBvbiBjb21taXQvcm9sbGJhY2suXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBSZXNvbHZlcyBvbmNlIHRoZSBzZXR0aW5nIGlzIGJvdW5kIHRyYW5zYWN0aW9uLWxvY2FsbHkuXG4gICAqIEB0aHJvd3Mge1ZhbGlkYXRpb25FcnJvcn0gV2hlbiB0aGUgcHJpbmNpcGFsIGlkIGlzIGludmFsaWQgb3IgYSBzZXNzaW9uLXdpZGUgYmluZGluZyBpcyByZXF1ZXN0ZWQuXG4gICAqL1xuICBhc3luYyBzZXRQcmluY2lwYWwoXG4gICAgcHJpbmNpcGFsSWQ6IHN0cmluZyxcbiAgICBvcHRpb25zOiBSbHNCaW5kaW5nT3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJzZXRQcmluY2lwYWxcIiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMuc2V0UHJpbmNpcGFsXG4gICAgKTtcbiAgICBhc3NlcnRQcmluY2lwYWxJZChwcmluY2lwYWxJZCk7XG4gICAgYXNzZXJ0VHJhbnNhY3Rpb25Mb2NhbEJpbmRpbmcoXCJzZXRQcmluY2lwYWxcIiwgb3B0aW9ucyk7XG4gICAgYXdhaXQgdGhpcy5jbGllbnQucXVlcnkoXCJTRUxFQ1Qgc2V0X2NvbmZpZygkMSwgJDIsIHRydWUpXCIsIFtcbiAgICAgIFJMU19TRVRUSU5HUy5QcmluY2lwYWwsXG4gICAgICBwcmluY2lwYWxJZCxcbiAgICBdKTtcbiAgICBsb2cudmVyYm9zZShcIkJvdW5kIFJMUyBwcmluY2lwYWwgKHRyYW5zYWN0aW9uLWxvY2FsKVwiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQmluZHMgdGhlIGFjdGluZyB0ZW5hbnQgZm9yIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uLlxuICAgKiBAc3VtbWFyeSBJc3N1ZXMgcGFyYW1ldGVyaXplZCBgU0VMRUNUIHNldF9jb25maWcoJDEsICQyLCB0cnVlKWAgYWZ0ZXJcbiAgICogdmFsaWRhdGlvbiwgc28gdGhlIGJpbmRpbmcgbGl2ZXMgb25seSBmb3IgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gYW5kIGlzXG4gICAqIGRpc2NhcmRlZCBvbiBjb21taXQvcm9sbGJhY2sg4oCUIHNhZmUgb24gcG9vbGVkIGNvbm5lY3Rpb25zLiBBIHNlc3Npb24td2lkZVxuICAgKiBiaW5kaW5nIHJlcXVlc3QgZmFpbHMgd2l0aCBgVmFsaWRhdGlvbkVycm9yYCBiZWZvcmUgYW55IFNRTCBpcyBzZW50LCBhbmRcbiAgICogdGhlIHZlcmJvc2UgbG9nIHJlY29yZHMgb25seSB0aGF0IGEgYmluZGluZyBoYXBwZW5lZCwgbmV2ZXIgdGhlIHRlbmFudFxuICAgKiBpZC5cbiAgICogQHBhcmFtIHRlbmFudElkIFRlbmFudCBVVUlEIHN0b3JlZCBpbiBgYXBwLnRlbmFudF9pZGAuXG4gICAqIEBwYXJhbSBvcHRpb25zIE9ubHkgYGxvY2FsOiB0cnVlYCAodGhlIGRlZmF1bHQpIGlzIGFjY2VwdGVkOyB0aGUgYmluZGluZyBpc1xuICAgKiBhbHdheXMgdHJhbnNhY3Rpb24tbG9jYWwgYW5kIGlzIGRpc2NhcmRlZCBvbiBjb21taXQvcm9sbGJhY2suXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBSZXNvbHZlcyBvbmNlIHRoZSBzZXR0aW5nIGlzIGJvdW5kIHRyYW5zYWN0aW9uLWxvY2FsbHkuXG4gICAqIEB0aHJvd3Mge1ZhbGlkYXRpb25FcnJvcn0gV2hlbiB0aGUgdGVuYW50IGlkIGlzIGludmFsaWQgb3IgYSBzZXNzaW9uLXdpZGUgYmluZGluZyBpcyByZXF1ZXN0ZWQuXG4gICAqL1xuICBhc3luYyBzZXRUZW5hbnQoXG4gICAgdGVuYW50SWQ6IHN0cmluZyxcbiAgICBvcHRpb25zOiBSbHNCaW5kaW5nT3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJzZXRUZW5hbnRcIiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMuc2V0VGVuYW50XG4gICAgKTtcbiAgICBhc3NlcnRQcmluY2lwYWxJZCh0ZW5hbnRJZCk7XG4gICAgYXNzZXJ0VHJhbnNhY3Rpb25Mb2NhbEJpbmRpbmcoXCJzZXRUZW5hbnRcIiwgb3B0aW9ucyk7XG4gICAgYXdhaXQgdGhpcy5jbGllbnQucXVlcnkoXCJTRUxFQ1Qgc2V0X2NvbmZpZygkMSwgJDIsIHRydWUpXCIsIFtcbiAgICAgIFJMU19TRVRUSU5HUy5UZW5hbnQsXG4gICAgICB0ZW5hbnRJZCxcbiAgICBdKTtcbiAgICBsb2cudmVyYm9zZShcIkJvdW5kIFJMUyB0ZW5hbnQgKHRyYW5zYWN0aW9uLWxvY2FsKVwiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ2xlYXJzIHRoZSBhY3RpbmcgcHJpbmNpcGFsIGZvciB0aGUgY3VycmVudCB0cmFuc2FjdGlvbi5cbiAgICogQHN1bW1hcnkgUmVzZXRzIGBhcHAucHJpbmNpcGFsX2lkYCB0byB0aGUgZW1wdHkgc3RyaW5nIHdpdGhcbiAgICogYFNFTEVDVCBzZXRfY29uZmlnKCQxLCAkMiwgdHJ1ZSlgLCBzbyB0aGUgY2xlYXIgaXMgYWxzbyB0cmFuc2FjdGlvbi1sb2NhbFxuICAgKiBhbmQgbmV2ZXIgcmVhY2hlcyB0aGUgcG9vbGVkIHNlc3Npb24uIEEgc2Vzc2lvbi13aWRlIGNsZWFyIHJlcXVlc3QgZmFpbHNcbiAgICogd2l0aCBgVmFsaWRhdGlvbkVycm9yYCBiZWZvcmUgYW55IFNRTCBpcyBzZW50LlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPbmx5IGBsb2NhbDogdHJ1ZWAgKHRoZSBkZWZhdWx0KSBpcyBhY2NlcHRlZDsgdGhlIGNsZWFyIGlzXG4gICAqIGFsd2F5cyB0cmFuc2FjdGlvbi1sb2NhbCBhbmQgZG9lcyBub3QgcmVhY2ggdGhlIHBvb2xlZCBzZXNzaW9uLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gUmVzb2x2ZXMgb25jZSB0aGUgc2V0dGluZyBpcyBjbGVhcmVkIHRyYW5zYWN0aW9uLWxvY2FsbHkuXG4gICAqIEB0aHJvd3Mge1ZhbGlkYXRpb25FcnJvcn0gV2hlbiBhIHNlc3Npb24td2lkZSBjbGVhciBpcyByZXF1ZXN0ZWQuXG4gICAqL1xuICBhc3luYyBjbGVhclByaW5jaXBhbChcbiAgICBvcHRpb25zOiBSbHNCaW5kaW5nT3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJjbGVhclByaW5jaXBhbFwiLCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5jbGVhclByaW5jaXBhbFxuICAgICk7XG4gICAgYXNzZXJ0VHJhbnNhY3Rpb25Mb2NhbEJpbmRpbmcoXCJjbGVhclByaW5jaXBhbFwiLCBvcHRpb25zKTtcbiAgICBhd2FpdCB0aGlzLmNsaWVudC5xdWVyeShcIlNFTEVDVCBzZXRfY29uZmlnKCQxLCAkMiwgdHJ1ZSlcIiwgW1xuICAgICAgUkxTX1NFVFRJTkdTLlByaW5jaXBhbCxcbiAgICAgIFwiXCIsXG4gICAgXSk7XG4gICAgbG9nLnZlcmJvc2UoXCJDbGVhcmVkIFJMUyBwcmluY2lwYWwgKHRyYW5zYWN0aW9uLWxvY2FsKVwiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmV0dXJucyB0aGUgcHJpbmNpcGFsIGN1cnJlbnRseSBib3VuZCB0byB0aGUgY29ubmVjdGlvbi5cbiAgICovXG4gIGFzeW5jIGN1cnJlbnRQcmluY2lwYWwoLi4uYXJnczogYW55W10pOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiY3VycmVudFByaW5jaXBhbFwiLCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5jdXJyZW50UHJpbmNpcGFsXG4gICAgKTtcbiAgICBsb2cudmVyYm9zZShcIlJlYWRpbmcgY3VycmVudCBSTFMgcHJpbmNpcGFsXCIpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2xpZW50LnF1ZXJ5KFxuICAgICAgXCJTRUxFQ1QgYXBwX3Jsc19wcmluY2lwYWxfaWQoKSBBUyBwcmluY2lwYWxfaWRcIlxuICAgICk7XG4gICAgY29uc3Qgcm93ID0gKHJlc3VsdC5yb3dzPy5bMF0gPz8ge30pIGFzIHsgcHJpbmNpcGFsX2lkPzogc3RyaW5nIHwgbnVsbCB9O1xuICAgIHJldHVybiByb3cucHJpbmNpcGFsX2lkID8/IG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUnVucyBhIGNhbGxiYWNrIGluc2lkZSBhIHRyYW5zYWN0aW9uIHdpdGggdGhlIFJMUyBwcmluY2lwYWwgYm91bmQuXG4gKiBAc3VtbWFyeSBUaGUgZXhlY3V0b3IgbXVzdCBiZSBhIHNpbmdsZSBjb25uZWN0aW9uIChgcGcuQ2xpZW50YCksIG5vdCBhIHBvb2wsXG4gKiBiZWNhdXNlIHRoZSB0cmFuc2FjdGlvbiBhbmQgdGhlIGBhcHAucHJpbmNpcGFsX2lkYCBzZXR0aW5nIGFyZVxuICogY29ubmVjdGlvbi1zY29wZWQuIEJ5IGRlZmF1bHQgdGhlIHRyYW5zYWN0aW9uIGlzIHJvbGxlZCBiYWNrLCBrZWVwaW5nXG4gKiBpbnRlZ3JhdGlvbi10ZXN0IG11dGF0aW9ucyBpc29sYXRlZDsgcGFzcyBgeyBjb21taXQ6IHRydWUgfWAgZm9yIHJlYWwgd3JpdGVzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuQXNQcmluY2lwYWw8VD4oXG4gIGV4ZWN1dG9yOiBSbHNRdWVyeUV4ZWN1dG9yLFxuICBwcmluY2lwYWxJZDogc3RyaW5nLFxuICBydW46IChleGVjdXRvcjogUmxzUXVlcnlFeGVjdXRvcikgPT4gUHJvbWlzZTxUPixcbiAgb3B0aW9uczogUnVuQXNQcmluY2lwYWxPcHRpb25zID0ge31cbik6IFByb21pc2U8VD4ge1xuICBhc3NlcnRQcmluY2lwYWxJZChwcmluY2lwYWxJZCk7XG4gIGF3YWl0IGV4ZWN1dG9yLnF1ZXJ5KFwiQkVHSU5cIik7XG4gIHRyeSB7XG4gICAgYXdhaXQgZXhlY3V0b3IucXVlcnkoXCJTRUxFQ1Qgc2V0X2NvbmZpZygkMSwgJDIsIHRydWUpXCIsIFtcbiAgICAgIFJMU19TRVRUSU5HUy5QcmluY2lwYWwsXG4gICAgICBwcmluY2lwYWxJZCxcbiAgICBdKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBydW4oZXhlY3V0b3IpO1xuICAgIGF3YWl0IGV4ZWN1dG9yLnF1ZXJ5KG9wdGlvbnMuY29tbWl0ID8gXCJDT01NSVRcIiA6IFwiUk9MTEJBQ0tcIik7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZXhlY3V0b3IucXVlcnkoXCJST0xMQkFDS1wiKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIHByZXNlcnZlIHRoZSBvcmlnaW5hbCBmYWlsdXJlXG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59XG4iXX0=
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmxzLWJvb3RzdHJhcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicmxzLWJvb3RzdHJhcC5zZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWdEQSw4Q0FJQztBQTBMRCx3Q0FxQkM7QUFuUUQ7Ozs7Ozs7R0FPRztBQUNILHlDQUFvRDtBQUNwRCwyREFBeUU7QUFDekUsdURBQTBHO0FBQzFHLHlEQUE0RTtBQUM1RSxNQUFNLFlBQVksR0FBRyxpRUFBaUUsQ0FBQztBQUN2Rjs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQWEscUJBQXNCLFNBQVEsNkJBQWE7SUFDcEQsWUFBWSxPQUFPO1FBQ2YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyx1QkFBdUIsQ0FBQztJQUN4QyxDQUFDO0NBQ0o7QUFMRCxzREFLQztBQUNELFNBQVMsNkJBQTZCLENBQUMsTUFBTSxFQUFFLE9BQU87SUFDbEQsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNuRSxNQUFNLElBQUksK0JBQWUsQ0FBQyxHQUFHLE1BQU0sK0VBQStFLENBQUMsQ0FBQztJQUN4SCxDQUFDO0FBQ0wsQ0FBQztBQUNEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsV0FBVztJQUN6QyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQ2xELE1BQU0sSUFBSSwrQkFBZSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDMUQsQ0FBQztBQUNMLENBQUM7QUFDRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSx5QkFBa0I7SUFDdkQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSTtRQUNwQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLE1BQU0sQ0FBQyxLQUFLLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDaEQsTUFBTSxJQUFJLCtCQUFlLENBQUMscUVBQXFFLENBQUMsQ0FBQztRQUNyRyxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFDRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSTtRQUNmLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksNkJBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxNQUFNLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2xELEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxVQUFVLENBQUMsTUFBTSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVELEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFLENBQUM7WUFDakMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsVUFBVSxDQUFDLE1BQU0sY0FBYyxDQUFDLENBQUM7UUFDN0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUNEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsS0FBSyxDQUFDLDZCQUE2QixDQUFDLEdBQUcsSUFBSTtRQUN2QyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLCtCQUErQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ3pILE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMkNBQXdCLENBQUMsQ0FBQztRQUNqRSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQztRQUM1QyxNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUUsT0FBTztZQUN6QixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxjQUFjLENBQUM7UUFDckIsSUFBSSxPQUFPLEdBQUcsRUFBRSxRQUFRLEtBQUssU0FBUztZQUNsQyxPQUFPLEdBQUcsRUFBRSxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDekMsTUFBTSxJQUFJLHFCQUFxQixDQUFDLGtGQUFrRixRQUFRLElBQUk7Z0JBQzFILDRGQUE0RjtnQkFDNUYsbUVBQW1FLENBQUMsQ0FBQztRQUM3RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLHFCQUFxQixDQUFDLDhDQUE4QyxRQUFRLDJDQUEyQztnQkFDN0gsa0dBQWtHO2dCQUNsRyxrR0FBa0c7Z0JBQ2xHLCtGQUErRjtnQkFDL0Ysa0JBQWtCLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQ0QsR0FBRyxDQUFDLE9BQU8sQ0FBQyw4Q0FBOEMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxVQUFVO1FBQ04sTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDbEMsSUFBSSxNQUFNLENBQUMsVUFBVTtZQUNqQixPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEMsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTztnQkFDSCxHQUFHLHlDQUF1QjtnQkFDMUIsR0FBRyxJQUFBLHFDQUFtQixFQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7YUFDMUMsQ0FBQztRQUNOLENBQUM7UUFDRCxPQUFPLElBQUEsd0NBQXNCLEdBQUUsQ0FBQztJQUNwQyxDQUFDO0lBQ0Q7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsR0FBRyxJQUFJO1FBQ2pELE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2RixpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQiw2QkFBNkIsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdkQsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsRUFBRTtZQUN2RCwrQkFBWSxDQUFDLFNBQVM7WUFDdEIsV0FBVztTQUNkLENBQUMsQ0FBQztRQUNILEdBQUcsQ0FBQyxPQUFPLENBQUMseUNBQXlDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0Q7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNILEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQUUsR0FBRyxJQUFJO1FBQzNDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRixpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1Qiw2QkFBNkIsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDcEQsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsRUFBRTtZQUN2RCwrQkFBWSxDQUFDLE1BQU07WUFDbkIsUUFBUTtTQUNYLENBQUMsQ0FBQztRQUNILEdBQUcsQ0FBQyxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBQ0Q7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxHQUFHLEVBQUUsRUFBRSxHQUFHLElBQUk7UUFDdEMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0YsNkJBQTZCLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekQsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsRUFBRTtZQUN2RCwrQkFBWSxDQUFDLFNBQVM7WUFDdEIsRUFBRTtTQUNMLENBQUMsQ0FBQztRQUNILEdBQUcsQ0FBQyxPQUFPLENBQUMsMkNBQTJDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0Q7O09BRUc7SUFDSCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJO1FBQzFCLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDL0YsR0FBRyxDQUFDLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUN4RixNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyQyxPQUFPLEdBQUcsQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDO0lBQ3BDLENBQUM7Q0FDSjtBQXRLRCxrREFzS0M7QUFDRDs7Ozs7O0dBTUc7QUFDSSxLQUFLLFVBQVUsY0FBYyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLE9BQU8sR0FBRyxFQUFFO0lBQ3pFLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixJQUFJLENBQUM7UUFDRCxNQUFNLFFBQVEsQ0FBQyxLQUFLLENBQUMsaUNBQWlDLEVBQUU7WUFDcEQsK0JBQVksQ0FBQyxTQUFTO1lBQ3RCLFdBQVc7U0FDZCxDQUFDLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxNQUFNLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBQ0QsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQztZQUNELE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsTUFBTSxDQUFDO1lBQ0gsZ0NBQWdDO1FBQ3BDLENBQUM7UUFDRCxNQUFNLEtBQUssQ0FBQztJQUNoQixDQUFDO0FBQ0wsQ0FBQztBQUNELHN5MUJBQXN5MUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL25hbWVzcGFjZXMvcmxzL2Jvb3RzdHJhcFxuICogQHN1bW1hcnkgQm9vdHN0cmFwIHNlcnZpY2UgdGhhdCBhcHBsaWVzIHRoZSBuYW1lc3BhY2Ugcm93LWxldmVsLXNlY3VyaXR5IHRlbXBsYXRlLlxuICogQGRlc2NyaXB0aW9uIFdpcmVzIHRoZSBTUUwgdGVtcGxhdGUgaW50byBhIHF1ZXJ5IGV4ZWN1dG9yIChmb3IgZXhhbXBsZSBhXG4gKiBgcGcuQ2xpZW50YCkgc28gZGVwbG95bWVudHMgYXBwbHkgdGhlIHBvbGljaWVzIHRocm91Z2ggYXBwbGljYXRpb24gYm9vdHN0cmFwXG4gKiBvciBhIG1pZ3JhdGlvbiBydW5uZXIgaW5zdGVhZCBvZiBoYW5kLXJ1bm5pbmcgU1FMLiBBbHNvIGV4cG9zZXMgaGVscGVyc1xuICogdGhhdCBiaW5kIGBhcHAucHJpbmNpcGFsX2lkYCB0cmFuc2FjdGlvbi1sb2NhbGx5IGZvciByZXF1ZXN0LXNjb3BlZCBhY2Nlc3MuXG4gKi9cbmltcG9ydCB7IENsaWVudEJhc2VkU2VydmljZSB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciwgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBSTFNfRlVOQ1RJT05fU1RBVEVNRU5UUywgcmxzQm9vdHN0cmFwU3RhdGVtZW50cywgcmxzUG9saWN5U3RhdGVtZW50cywgfSBmcm9tIFwiLi9ybHMudGVtcGxhdGUuanNcIjtcbmltcG9ydCB7IFJMU19GVU5DVElPTl9PV05FUl9RVUVSWSwgUkxTX1NFVFRJTkdTIH0gZnJvbSBcIi4vcmxzLmNvbnN0YW50cy5qc1wiO1xuY29uc3QgVVVJRF9QQVRURVJOID0gL15bMC05YS1mXXs4fS1bMC05YS1mXXs0fS1bMC05YS1mXXs0fS1bMC05YS1mXXs0fS1bMC05YS1mXXsxMn0kL2k7XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUaHJvd24gd2hlbiB0aGUgZXhlY3V0b3Igcm9sZSBjYW5ub3Qgc2FmZWx5IG93biB0aGUgUkxTIGhlbHBlciBmdW5jdGlvbnMuXG4gKiBAc3VtbWFyeSBSYWlzZWQgYnlcbiAqIGBSbHNCb290c3RyYXBTZXJ2aWNlLmFzc2VydEZ1bmN0aW9uT3duZXJQcml2aWxlZ2VzKClgIHdoZW4gdGhlIGN1cnJlbnRcbiAqIGRhdGFiYXNlIHJvbGUgaXMgbmVpdGhlciBgU1VQRVJVU0VSYCBub3IgYEJZUEFTU1JMU2AgKG9yIHdoZW4gaXRzXG4gKiBwcml2aWxlZ2VzIGNhbm5vdCBiZSBkZXRlcm1pbmVkKS4gRXh0ZW5kc1xuICogYHtAbGluayBJbnRlcm5hbEVycm9yfWAgc28gY2FsbGVycyBjYW4gY2F0Y2ggaXQgZ2VuZXJpY2FsbHksIHdoaWxlXG4gKiBjYXJyeWluZyB0aGUgZGlzdGluY3RpdmUgYFJsc0Z1bmN0aW9uT3duZXJFcnJvcmAgbmFtZSBmb3JcbiAqIGZhaWwtY2xvc2VkIG1hdGNoaW5nLlxuICogQGNsYXNzIFJsc0Z1bmN0aW9uT3duZXJFcnJvclxuICogQGNhdGVnb3J5IE5hbWVzcGFjZXNcbiAqL1xuZXhwb3J0IGNsYXNzIFJsc0Z1bmN0aW9uT3duZXJFcnJvciBleHRlbmRzIEludGVybmFsRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSk7XG4gICAgICAgIHRoaXMubmFtZSA9IFwiUmxzRnVuY3Rpb25Pd25lckVycm9yXCI7XG4gICAgfVxufVxuZnVuY3Rpb24gYXNzZXJ0VHJhbnNhY3Rpb25Mb2NhbEJpbmRpbmcobWV0aG9kLCBvcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5sb2NhbCAhPT0gdW5kZWZpbmVkICYmIG9wdGlvbnMubG9jYWwgIT09IHRydWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihgJHttZXRob2R9IG9ubHkgc3VwcG9ydHMgdHJhbnNhY3Rpb24tbG9jYWwgYmluZGluZzogc2Vzc2lvbi13aWRlIGJpbmRpbmcgaXMgbm90IGFsbG93ZWRgKTtcbiAgICB9XG59XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBWYWxpZGF0ZXMgYSBwcmluY2lwYWwgaWRlbnRpZmllciBiZWZvcmUgYmluZGluZyBpdCB0byB0aGVcbiAqIGBhcHAucHJpbmNpcGFsX2lkYCBSTFMgc2V0dGluZy5cbiAqIEBzdW1tYXJ5IEZhaWwtY2xvc2VkIHNoYXBlIGd1YXJkIHNoYXJlZCBieSB0aGUgYmluZGluZyBoZWxwZXJzOiB0aGUgdmFsdWVcbiAqIG11c3QgYmUgYSBub24tZW1wdHkgVVVJRCBzdHJpbmcuIE9uIGZhaWx1cmUgaXQgdGhyb3dzIGEgYFZhbGlkYXRpb25FcnJvcmBcbiAqIHdpdGggYSBmaXhlZCBtZXNzYWdlIHRoYXQgbmV2ZXIgZWNob2VzIHRoZSByZWplY3RlZCB2YWx1ZSwgc28gaW52YWxpZCBpbnB1dFxuICogY2Fubm90IGxlYWsgaW50byBlcnJvciBzdXJmYWNlcyBvciBsb2dzLlxuICogQGZ1bmN0aW9uIGFzc2VydFByaW5jaXBhbElkXG4gKiBAcGFyYW0ge3N0cmluZ30gcHJpbmNpcGFsSWQgLSBDYW5kaWRhdGUgcHJpbmNpcGFsIChvciB0ZW5hbnQpIFVVSUQgdG8gdmFsaWRhdGUuXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqIEB0aHJvd3Mge1ZhbGlkYXRpb25FcnJvcn0gV2hlbiB0aGUgdmFsdWUgaXMgZW1wdHkgb3Igbm90IFVVSUQtc2hhcGVkOyB0aGUgbWVzc2FnZSBkb2VzIG5vdCBpbmNsdWRlIHRoZSByZWplY3RlZCB2YWx1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFByaW5jaXBhbElkKHByaW5jaXBhbElkKSB7XG4gICAgaWYgKCFwcmluY2lwYWxJZCB8fCAhVVVJRF9QQVRURVJOLnRlc3QocHJpbmNpcGFsSWQpKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXCJJbnZhbGlkIFJMUyBwcmluY2lwYWwgaWRcIik7XG4gICAgfVxufVxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQXBwbGllcyB0aGUgbmFtZXNwYWNlIFJMUyB0ZW1wbGF0ZSB0aHJvdWdoIGEgU1FMIGV4ZWN1dG9yLlxuICogQHN1bW1hcnkgVGhlIHNlcnZpY2UgYm9vdHMgd2l0aCBhIFNRTCBleGVjdXRvciAoYHBnLkNsaWVudGAsIGBwZy5Qb29sYCwgb3IgYVxuICogY29tcGF0aWJsZSB3cmFwcGVyKSBhbmQgYXBwbGllcyB0aGUgbmFtZXNwYWNlIHJvdy1sZXZlbC1zZWN1cml0eSB0ZW1wbGF0ZTpcbiAqIGZ1bmN0aW9uIHBsdXMgcG9saWN5IERETCBleGVjdXRlZCBzZXF1ZW50aWFsbHkuIEl0IGlzIHRoZSBkZXBsb3ltZW50LXNpZGVcbiAqIGVudHJ5IHBvaW50IGZvciB0aGUgUkxTIHRlbXBsYXRlLCBtZWFudCB0byBydW4gZHVyaW5nIGFwcGxpY2F0aW9uIGJvb3RzdHJhcFxuICogb3IgYSBtaWdyYXRpb24gcnVubmVyIGluc3RlYWQgb2YgaGFuZC1ydW5uaW5nIFNRTC4gVGhlIHRlbXBsYXRlIGlzXG4gKiBpZGVtcG90ZW50IGFuZCBtYXkgcnVuIG9uIGV2ZXJ5IGRlcGxveW1lbnQuXG4gKiBAY2xhc3MgUmxzQm9vdHN0cmFwU2VydmljZVxuICogQGNhdGVnb3J5IE5hbWVzcGFjZXNcbiAqL1xuZXhwb3J0IGNsYXNzIFJsc0Jvb3RzdHJhcFNlcnZpY2UgZXh0ZW5kcyBDbGllbnRCYXNlZFNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICBhc3luYyBpbml0aWFsaXplKC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgY2xpZW50ID0gYXJnc1swXTtcbiAgICAgICAgaWYgKCFjbGllbnQgfHwgdHlwZW9mIGNsaWVudC5xdWVyeSAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFwiUmxzQm9vdHN0cmFwU2VydmljZSByZXF1aXJlcyBhIHF1ZXJ5IGV4ZWN1dG9yIGFzIGl0cyBmaXJzdCBhcmd1bWVudFwiKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb25maWcgPSBhcmdzWzFdID8/IHt9O1xuICAgICAgICByZXR1cm4geyBjb25maWcsIGNsaWVudCB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQXBwbGllcyB0aGUgY29uZmlndXJlZCAob3IgYnVuZGxlZCkgUkxTIHN0YXRlbWVudCBsaXN0LlxuICAgICAqIEBzdW1tYXJ5IFRoZSBzZXJ2aWNlIGlzIGJvb3RlZCB3aXRoIGFuIGV4ZWN1dG9yIChgcGcuQ2xpZW50YCwgYHBnLlBvb2xgLCBvciBhXG4gICAgICogY29tcGF0aWJsZSB3cmFwcGVyKSBhbmQgYXBwbGllcyBmdW5jdGlvbiBwbHVzIHBvbGljeSBEREwgc2VxdWVudGlhbGx5LiBUaGVcbiAgICAgKiB0ZW1wbGF0ZSBpcyBpZGVtcG90ZW50IGFuZCBtYXkgcnVuIG9uIGV2ZXJ5IGRlcGxveW1lbnQuIEJlZm9yZSBhbnkgRERMIGlzXG4gICAgICogc2VudCwgYGFzc2VydEZ1bmN0aW9uT3duZXJQcml2aWxlZ2VzKClgIHZlcmlmaWVzIHRoYXQgdGhlIGN1cnJlbnRcbiAgICAgKiBleGVjdXRvciByb2xlIGlzIGBTVVBFUlVTRVJgIG9yIGBCWVBBU1NSTFNgIGFuZCBmYWlscyBjbG9zZWQgb3RoZXJ3aXNlLFxuICAgICAqIHNvIGBTRUNVUklUWSBERUZJTkVSYCBoZWxwZXIgZnVuY3Rpb25zIGFyZSBuZXZlciBjcmVhdGVkIHdpdGggYW4gb3duZXJcbiAgICAgKiB0aGF0IHdvdWxkIHJlY3Vyc2UgdW5kZXIgYEZPUkNFIFJPVyBMRVZFTCBTRUNVUklUWWAuXG4gICAgICogQHJldHVybiB7UHJvbWlzZTx7YXBwbGllZDogbnVtYmVyfT59IFRoZSBudW1iZXIgb2Ygc3RhdGVtZW50cyBleGVjdXRlZC5cbiAgICAgKiBAdGhyb3dzIHtSbHNGdW5jdGlvbk93bmVyRXJyb3J9IFdoZW4gdGhlIGV4ZWN1dG9yIHJvbGUgaXMgbmVpdGhlciBgU1VQRVJVU0VSYCBub3IgYEJZUEFTU1JMU2AsIG9yIGl0cyBwcml2aWxlZ2VzIGNhbm5vdCBiZSBkZXRlcm1pbmVkLlxuICAgICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gdGhlIHJlc29sdmVkIHN0YXRlbWVudCBsaXN0IGlzIGVtcHR5LlxuICAgICAqL1xuICAgIGFzeW5jIGFwcGx5KC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImFwcGx5XCIsIHRydWUpKS5mb3IodGhpcy5hcHBseSk7XG4gICAgICAgIGNvbnN0IHN0YXRlbWVudHMgPSB0aGlzLnN0YXRlbWVudHMoKTtcbiAgICAgICAgaWYgKCFzdGF0ZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJObyBSTFMgc3RhdGVtZW50cyB0byBhcHBseVwiKTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCB0aGlzLmFzc2VydEZ1bmN0aW9uT3duZXJQcml2aWxlZ2VzKC4uLmFyZ3MpO1xuICAgICAgICBsb2cudmVyYm9zZShgQXBwbHlpbmcgJHtzdGF0ZW1lbnRzLmxlbmd0aH0gUkxTIHN0YXRlbWVudHNgKTtcbiAgICAgICAgZm9yIChjb25zdCBzdGF0ZW1lbnQgb2Ygc3RhdGVtZW50cykge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5jbGllbnQucXVlcnkoc3RhdGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICBsb2cuaW5mbyhgQXBwbGllZCBuYW1lc3BhY2UgUkxTIHRlbXBsYXRlICgke3N0YXRlbWVudHMubGVuZ3RofSBzdGF0ZW1lbnRzKWApO1xuICAgICAgICByZXR1cm4geyBhcHBsaWVkOiBzdGF0ZW1lbnRzLmxlbmd0aCB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gVmVyaWZpZXMgdGhhdCB0aGUgY3VycmVudCBleGVjdXRvciByb2xlIGNhbiBvd24gdGhlIFJMUyBoZWxwZXIgZnVuY3Rpb25zLlxuICAgICAqIEBzdW1tYXJ5IFJ1bnMgYFJMU19GVU5DVElPTl9PV05FUl9RVUVSWWAgdGhyb3VnaCB0aGUgY29uZmlndXJlZCBleGVjdXRvclxuICAgICAqIGFuZCByZWFkcyB0aGUgY3VycmVudCByb2xlJ3MgYHJvbHN1cGVyYC9gcm9sYnlwYXNzcmxzYCBmbGFncyBmcm9tXG4gICAgICogYHBnX3JvbGVzYC4gRmFpbHMgY2xvc2VkOiB3aGVuIHRoZSByb3cgaXMgbWlzc2luZyBvciB0aGUgZmxhZ3MgYXJlIG5vdFxuICAgICAqIGJvb2xlYW5zLCBpdCB0aHJvd3MgYFJsc0Z1bmN0aW9uT3duZXJFcnJvcmAgd2l0aCB0aGUgc2FtZVxuICAgICAqIGZhaWwtY2xvc2VkIHNlbWFudGljcyBhcyBhbiBleHBsaWNpdCBwcml2aWxlZ2UgZmFpbHVyZS4gQ2FsbGVkXG4gICAgICogYXV0b21hdGljYWxseSBieSBgYXBwbHkoKWAgYmVmb3JlIGFueSBEREwgaXMgZXhlY3V0ZWQuXG4gICAgICogQHBhcmFtIGFyZ3MgLSBPcHRpb25hbCB0cmFpbGluZyBkZWNhZiBgQ29udGV4dGAgYXJndW1lbnRzIGZvcndhcmRlZCB0byB0aGUgbG9nIGNvbnRleHQuXG4gICAgICogQHJldHVybiBSZXNvbHZlcyB3aGVuIHRoZSBjdXJyZW50IHJvbGUgaXMgYFNVUEVSVVNFUmAgb3IgYEJZUEFTU1JMU2AuXG4gICAgICogQHRocm93cyB7UmxzRnVuY3Rpb25Pd25lckVycm9yfSBXaGVuIHRoZSBleGVjdXRvciByb2xlIGlzIG5laXRoZXIgYFNVUEVSVVNFUmAgbm9yIGBCWVBBU1NSTFNgLCBvciB3aGVuIGl0cyBwcml2aWxlZ2VzIGNhbm5vdCBiZSBkZXRlcm1pbmVkIGZyb20gYHBnX3JvbGVzYC5cbiAgICAgKi9cbiAgICBhc3luYyBhc3NlcnRGdW5jdGlvbk93bmVyUHJpdmlsZWdlcyguLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJhc3NlcnRGdW5jdGlvbk93bmVyUHJpdmlsZWdlc1wiLCB0cnVlKSkuZm9yKHRoaXMuYXNzZXJ0RnVuY3Rpb25Pd25lclByaXZpbGVnZXMpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNsaWVudC5xdWVyeShSTFNfRlVOQ1RJT05fT1dORVJfUVVFUlkpO1xuICAgICAgICBjb25zdCByb3cgPSAocmVzdWx0LnJvd3M/LlswXSA/PyB1bmRlZmluZWQpO1xuICAgICAgICBjb25zdCByb2xlTmFtZSA9IHJvdz8ucm9sbmFtZVxuICAgICAgICAgICAgPyBKU09OLnN0cmluZ2lmeShyb3cucm9sbmFtZSlcbiAgICAgICAgICAgIDogXCJjdXJyZW50X3VzZXJcIjtcbiAgICAgICAgaWYgKHR5cGVvZiByb3c/LnJvbHN1cGVyICE9PSBcImJvb2xlYW5cIiB8fFxuICAgICAgICAgICAgdHlwZW9mIHJvdz8ucm9sYnlwYXNzcmxzICE9PSBcImJvb2xlYW5cIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFJsc0Z1bmN0aW9uT3duZXJFcnJvcihgQ2Fubm90IGFwcGx5IHRoZSBuYW1lc3BhY2UgUkxTIHRlbXBsYXRlOiBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBwcml2aWxlZ2VzIG9mICR7cm9sZU5hbWV9LiBgICtcbiAgICAgICAgICAgICAgICBcIlRoZSBTRUNVUklUWSBERUZJTkVSIGhlbHBlciBmdW5jdGlvbnMgcmVxdWlyZSBhIFNVUEVSVVNFUiBvciBCWVBBU1NSTFMgb3duZXI7IHJlZnVzaW5nIHRvIFwiICtcbiAgICAgICAgICAgICAgICBcImFwcGx5IHBvbGljaWVzIHRoYXQgd291bGQgcmVjdXJzZSB1bmRlciBGT1JDRSBST1cgTEVWRUwgU0VDVVJJVFkuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcm93LnJvbHN1cGVyICYmICFyb3cucm9sYnlwYXNzcmxzKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgUmxzRnVuY3Rpb25Pd25lckVycm9yKGBDYW5ub3QgYXBwbHkgdGhlIG5hbWVzcGFjZSBSTFMgdGVtcGxhdGUgYXMgJHtyb2xlTmFtZX06IHRoZSBleGVjdXRvciByb2xlIGlzIG5laXRoZXIgU1VQRVJVU0VSIGAgK1xuICAgICAgICAgICAgICAgIFwibm9yIEJZUEFTU1JMUy4gVGhlIFNFQ1VSSVRZIERFRklORVIgaGVscGVyIGZ1bmN0aW9ucyBtdXN0IGJlIG93bmVkIGJ5IGEgcm9sZSB0aGF0IGJ5cGFzc2VzIFJMUywgXCIgK1xuICAgICAgICAgICAgICAgIFwib3RoZXJ3aXNlIGV2ZXJ5IHBvbGljeSBldmFsdWF0aW9uIHJlY3Vyc2VzIHVuZGVyIEZPUkNFIFJPVyBMRVZFTCBTRUNVUklUWSBhbmQgZmFpbHMuIENvbm5lY3QgYXMgXCIgK1xuICAgICAgICAgICAgICAgIFwidGhlIGRhdGFiYXNlIG93bmVyL0JZUEFTU1JMUyBtaWdyYXRpb24gcm9sZSwgb3IgY3JlYXRlIHRoZSBoZWxwZXIgZnVuY3Rpb25zIHdpdGggYSBkZWRpY2F0ZWQgXCIgK1xuICAgICAgICAgICAgICAgIFwiQllQQVNTUkxTIG93bmVyLlwiKTtcbiAgICAgICAgfVxuICAgICAgICBsb2cudmVyYm9zZShgVmVyaWZpZWQgUkxTIGZ1bmN0aW9uIG93bmVyIHByaXZpbGVnZXMgZm9yICR7cm9sZU5hbWV9YCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBSZXNvbHZlcyB0aGUgc3RhdGVtZW50IGxpc3QgZm9yIHRoZSBhY3RpdmUgY29uZmlndXJhdGlvbi5cbiAgICAgKi9cbiAgICBzdGF0ZW1lbnRzKCkge1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLl9jb25maWcgPz8ge307XG4gICAgICAgIGlmIChjb25maWcuc3RhdGVtZW50cylcbiAgICAgICAgICAgIHJldHVybiBbLi4uY29uZmlnLnN0YXRlbWVudHNdO1xuICAgICAgICBpZiAoY29uZmlnLnBvbGljaWVzKSB7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIC4uLlJMU19GVU5DVElPTl9TVEFURU1FTlRTLFxuICAgICAgICAgICAgICAgIC4uLnJsc1BvbGljeVN0YXRlbWVudHMoY29uZmlnLnBvbGljaWVzKSxcbiAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJsc0Jvb3RzdHJhcFN0YXRlbWVudHMoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEJpbmRzIHRoZSBhY3RpbmcgcHJpbmNpcGFsIGZvciB0aGUgY3VycmVudCB0cmFuc2FjdGlvbi5cbiAgICAgKiBAc3VtbWFyeSBJc3N1ZXMgcGFyYW1ldGVyaXplZCBgU0VMRUNUIHNldF9jb25maWcoJDEsICQyLCB0cnVlKWAgYWZ0ZXJcbiAgICAgKiB2YWxpZGF0aW9uLCBzbyB0aGUgYmluZGluZyBsaXZlcyBvbmx5IGZvciB0aGUgY3VycmVudCB0cmFuc2FjdGlvbiBhbmQgaXNcbiAgICAgKiBkaXNjYXJkZWQgb24gY29tbWl0L3JvbGxiYWNrIOKAlCBzYWZlIG9uIHBvb2xlZCBjb25uZWN0aW9ucy4gQSBzZXNzaW9uLXdpZGVcbiAgICAgKiBiaW5kaW5nIHJlcXVlc3QgZmFpbHMgd2l0aCBgVmFsaWRhdGlvbkVycm9yYCBiZWZvcmUgYW55IFNRTCBpcyBzZW50LCBhbmRcbiAgICAgKiB0aGUgdmVyYm9zZSBsb2cgcmVjb3JkcyBvbmx5IHRoYXQgYSBiaW5kaW5nIGhhcHBlbmVkLCBuZXZlciB0aGUgcHJpbmNpcGFsXG4gICAgICogaWQuXG4gICAgICogQHBhcmFtIHByaW5jaXBhbElkIFByaW5jaXBhbCBVVUlEIHN0b3JlZCBpbiBgYXBwLnByaW5jaXBhbF9pZGAuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgT25seSBgbG9jYWw6IHRydWVgICh0aGUgZGVmYXVsdCkgaXMgYWNjZXB0ZWQ7IHRoZSBiaW5kaW5nIGlzXG4gICAgICogYWx3YXlzIHRyYW5zYWN0aW9uLWxvY2FsIGFuZCBpcyBkaXNjYXJkZWQgb24gY29tbWl0L3JvbGxiYWNrLlxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBSZXNvbHZlcyBvbmNlIHRoZSBzZXR0aW5nIGlzIGJvdW5kIHRyYW5zYWN0aW9uLWxvY2FsbHkuXG4gICAgICogQHRocm93cyB7VmFsaWRhdGlvbkVycm9yfSBXaGVuIHRoZSBwcmluY2lwYWwgaWQgaXMgaW52YWxpZCBvciBhIHNlc3Npb24td2lkZSBiaW5kaW5nIGlzIHJlcXVlc3RlZC5cbiAgICAgKi9cbiAgICBhc3luYyBzZXRQcmluY2lwYWwocHJpbmNpcGFsSWQsIG9wdGlvbnMgPSB7fSwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwic2V0UHJpbmNpcGFsXCIsIHRydWUpKS5mb3IodGhpcy5zZXRQcmluY2lwYWwpO1xuICAgICAgICBhc3NlcnRQcmluY2lwYWxJZChwcmluY2lwYWxJZCk7XG4gICAgICAgIGFzc2VydFRyYW5zYWN0aW9uTG9jYWxCaW5kaW5nKFwic2V0UHJpbmNpcGFsXCIsIG9wdGlvbnMpO1xuICAgICAgICBhd2FpdCB0aGlzLmNsaWVudC5xdWVyeShcIlNFTEVDVCBzZXRfY29uZmlnKCQxLCAkMiwgdHJ1ZSlcIiwgW1xuICAgICAgICAgICAgUkxTX1NFVFRJTkdTLlByaW5jaXBhbCxcbiAgICAgICAgICAgIHByaW5jaXBhbElkLFxuICAgICAgICBdKTtcbiAgICAgICAgbG9nLnZlcmJvc2UoXCJCb3VuZCBSTFMgcHJpbmNpcGFsICh0cmFuc2FjdGlvbi1sb2NhbClcIik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBCaW5kcyB0aGUgYWN0aW5nIHRlbmFudCBmb3IgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24uXG4gICAgICogQHN1bW1hcnkgSXNzdWVzIHBhcmFtZXRlcml6ZWQgYFNFTEVDVCBzZXRfY29uZmlnKCQxLCAkMiwgdHJ1ZSlgIGFmdGVyXG4gICAgICogdmFsaWRhdGlvbiwgc28gdGhlIGJpbmRpbmcgbGl2ZXMgb25seSBmb3IgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gYW5kIGlzXG4gICAgICogZGlzY2FyZGVkIG9uIGNvbW1pdC9yb2xsYmFjayDigJQgc2FmZSBvbiBwb29sZWQgY29ubmVjdGlvbnMuIEEgc2Vzc2lvbi13aWRlXG4gICAgICogYmluZGluZyByZXF1ZXN0IGZhaWxzIHdpdGggYFZhbGlkYXRpb25FcnJvcmAgYmVmb3JlIGFueSBTUUwgaXMgc2VudCwgYW5kXG4gICAgICogdGhlIHZlcmJvc2UgbG9nIHJlY29yZHMgb25seSB0aGF0IGEgYmluZGluZyBoYXBwZW5lZCwgbmV2ZXIgdGhlIHRlbmFudFxuICAgICAqIGlkLlxuICAgICAqIEBwYXJhbSB0ZW5hbnRJZCBUZW5hbnQgVVVJRCBzdG9yZWQgaW4gYGFwcC50ZW5hbnRfaWRgLlxuICAgICAqIEBwYXJhbSBvcHRpb25zIE9ubHkgYGxvY2FsOiB0cnVlYCAodGhlIGRlZmF1bHQpIGlzIGFjY2VwdGVkOyB0aGUgYmluZGluZyBpc1xuICAgICAqIGFsd2F5cyB0cmFuc2FjdGlvbi1sb2NhbCBhbmQgaXMgZGlzY2FyZGVkIG9uIGNvbW1pdC9yb2xsYmFjay5cbiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gUmVzb2x2ZXMgb25jZSB0aGUgc2V0dGluZyBpcyBib3VuZCB0cmFuc2FjdGlvbi1sb2NhbGx5LlxuICAgICAqIEB0aHJvd3Mge1ZhbGlkYXRpb25FcnJvcn0gV2hlbiB0aGUgdGVuYW50IGlkIGlzIGludmFsaWQgb3IgYSBzZXNzaW9uLXdpZGUgYmluZGluZyBpcyByZXF1ZXN0ZWQuXG4gICAgICovXG4gICAgYXN5bmMgc2V0VGVuYW50KHRlbmFudElkLCBvcHRpb25zID0ge30sIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInNldFRlbmFudFwiLCB0cnVlKSkuZm9yKHRoaXMuc2V0VGVuYW50KTtcbiAgICAgICAgYXNzZXJ0UHJpbmNpcGFsSWQodGVuYW50SWQpO1xuICAgICAgICBhc3NlcnRUcmFuc2FjdGlvbkxvY2FsQmluZGluZyhcInNldFRlbmFudFwiLCBvcHRpb25zKTtcbiAgICAgICAgYXdhaXQgdGhpcy5jbGllbnQucXVlcnkoXCJTRUxFQ1Qgc2V0X2NvbmZpZygkMSwgJDIsIHRydWUpXCIsIFtcbiAgICAgICAgICAgIFJMU19TRVRUSU5HUy5UZW5hbnQsXG4gICAgICAgICAgICB0ZW5hbnRJZCxcbiAgICAgICAgXSk7XG4gICAgICAgIGxvZy52ZXJib3NlKFwiQm91bmQgUkxTIHRlbmFudCAodHJhbnNhY3Rpb24tbG9jYWwpXCIpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ2xlYXJzIHRoZSBhY3RpbmcgcHJpbmNpcGFsIGZvciB0aGUgY3VycmVudCB0cmFuc2FjdGlvbi5cbiAgICAgKiBAc3VtbWFyeSBSZXNldHMgYGFwcC5wcmluY2lwYWxfaWRgIHRvIHRoZSBlbXB0eSBzdHJpbmcgd2l0aFxuICAgICAqIGBTRUxFQ1Qgc2V0X2NvbmZpZygkMSwgJDIsIHRydWUpYCwgc28gdGhlIGNsZWFyIGlzIGFsc28gdHJhbnNhY3Rpb24tbG9jYWxcbiAgICAgKiBhbmQgbmV2ZXIgcmVhY2hlcyB0aGUgcG9vbGVkIHNlc3Npb24uIEEgc2Vzc2lvbi13aWRlIGNsZWFyIHJlcXVlc3QgZmFpbHNcbiAgICAgKiB3aXRoIGBWYWxpZGF0aW9uRXJyb3JgIGJlZm9yZSBhbnkgU1FMIGlzIHNlbnQuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgT25seSBgbG9jYWw6IHRydWVgICh0aGUgZGVmYXVsdCkgaXMgYWNjZXB0ZWQ7IHRoZSBjbGVhciBpc1xuICAgICAqIGFsd2F5cyB0cmFuc2FjdGlvbi1sb2NhbCBhbmQgZG9lcyBub3QgcmVhY2ggdGhlIHBvb2xlZCBzZXNzaW9uLlxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBSZXNvbHZlcyBvbmNlIHRoZSBzZXR0aW5nIGlzIGNsZWFyZWQgdHJhbnNhY3Rpb24tbG9jYWxseS5cbiAgICAgKiBAdGhyb3dzIHtWYWxpZGF0aW9uRXJyb3J9IFdoZW4gYSBzZXNzaW9uLXdpZGUgY2xlYXIgaXMgcmVxdWVzdGVkLlxuICAgICAqL1xuICAgIGFzeW5jIGNsZWFyUHJpbmNpcGFsKG9wdGlvbnMgPSB7fSwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiY2xlYXJQcmluY2lwYWxcIiwgdHJ1ZSkpLmZvcih0aGlzLmNsZWFyUHJpbmNpcGFsKTtcbiAgICAgICAgYXNzZXJ0VHJhbnNhY3Rpb25Mb2NhbEJpbmRpbmcoXCJjbGVhclByaW5jaXBhbFwiLCBvcHRpb25zKTtcbiAgICAgICAgYXdhaXQgdGhpcy5jbGllbnQucXVlcnkoXCJTRUxFQ1Qgc2V0X2NvbmZpZygkMSwgJDIsIHRydWUpXCIsIFtcbiAgICAgICAgICAgIFJMU19TRVRUSU5HUy5QcmluY2lwYWwsXG4gICAgICAgICAgICBcIlwiLFxuICAgICAgICBdKTtcbiAgICAgICAgbG9nLnZlcmJvc2UoXCJDbGVhcmVkIFJMUyBwcmluY2lwYWwgKHRyYW5zYWN0aW9uLWxvY2FsKVwiKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJldHVybnMgdGhlIHByaW5jaXBhbCBjdXJyZW50bHkgYm91bmQgdG8gdGhlIGNvbm5lY3Rpb24uXG4gICAgICovXG4gICAgYXN5bmMgY3VycmVudFByaW5jaXBhbCguLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJjdXJyZW50UHJpbmNpcGFsXCIsIHRydWUpKS5mb3IodGhpcy5jdXJyZW50UHJpbmNpcGFsKTtcbiAgICAgICAgbG9nLnZlcmJvc2UoXCJSZWFkaW5nIGN1cnJlbnQgUkxTIHByaW5jaXBhbFwiKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jbGllbnQucXVlcnkoXCJTRUxFQ1QgYXBwX3Jsc19wcmluY2lwYWxfaWQoKSBBUyBwcmluY2lwYWxfaWRcIik7XG4gICAgICAgIGNvbnN0IHJvdyA9IChyZXN1bHQucm93cz8uWzBdID8/IHt9KTtcbiAgICAgICAgcmV0dXJuIHJvdy5wcmluY2lwYWxfaWQgPz8gbnVsbDtcbiAgICB9XG59XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBSdW5zIGEgY2FsbGJhY2sgaW5zaWRlIGEgdHJhbnNhY3Rpb24gd2l0aCB0aGUgUkxTIHByaW5jaXBhbCBib3VuZC5cbiAqIEBzdW1tYXJ5IFRoZSBleGVjdXRvciBtdXN0IGJlIGEgc2luZ2xlIGNvbm5lY3Rpb24gKGBwZy5DbGllbnRgKSwgbm90IGEgcG9vbCxcbiAqIGJlY2F1c2UgdGhlIHRyYW5zYWN0aW9uIGFuZCB0aGUgYGFwcC5wcmluY2lwYWxfaWRgIHNldHRpbmcgYXJlXG4gKiBjb25uZWN0aW9uLXNjb3BlZC4gQnkgZGVmYXVsdCB0aGUgdHJhbnNhY3Rpb24gaXMgcm9sbGVkIGJhY2ssIGtlZXBpbmdcbiAqIGludGVncmF0aW9uLXRlc3QgbXV0YXRpb25zIGlzb2xhdGVkOyBwYXNzIGB7IGNvbW1pdDogdHJ1ZSB9YCBmb3IgcmVhbCB3cml0ZXMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5Bc1ByaW5jaXBhbChleGVjdXRvciwgcHJpbmNpcGFsSWQsIHJ1biwgb3B0aW9ucyA9IHt9KSB7XG4gICAgYXNzZXJ0UHJpbmNpcGFsSWQocHJpbmNpcGFsSWQpO1xuICAgIGF3YWl0IGV4ZWN1dG9yLnF1ZXJ5KFwiQkVHSU5cIik7XG4gICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgZXhlY3V0b3IucXVlcnkoXCJTRUxFQ1Qgc2V0X2NvbmZpZygkMSwgJDIsIHRydWUpXCIsIFtcbiAgICAgICAgICAgIFJMU19TRVRUSU5HUy5QcmluY2lwYWwsXG4gICAgICAgICAgICBwcmluY2lwYWxJZCxcbiAgICAgICAgXSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJ1bihleGVjdXRvcik7XG4gICAgICAgIGF3YWl0IGV4ZWN1dG9yLnF1ZXJ5KG9wdGlvbnMuY29tbWl0ID8gXCJDT01NSVRcIiA6IFwiUk9MTEJBQ0tcIik7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgZXhlY3V0b3IucXVlcnkoXCJST0xMQkFDS1wiKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCB7XG4gICAgICAgICAgICAvLyBwcmVzZXJ2ZSB0aGUgb3JpZ2luYWwgZmFpbHVyZVxuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWNteHpMV0p2YjNSemRISmhjQzV6WlhKMmFXTmxMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZjM0pqTDI1aGJXVnpjR0ZqWlhNdmNteHpMM0pzY3kxaWIyOTBjM1J5WVhBdWMyVnlkbWxqWlM1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHM3T3pzN096dEhRVTlITzBGQlEwZ3NUMEZCVHl4RlFVRkZMR3RDUVVGclFpeEZRVUZGTEUxQlFVMHNaMEpCUVdkQ0xFTkJRVU03UVVGRGNFUXNUMEZCVHl4RlFVRkZMR0ZCUVdFc1JVRkJSU3hsUVVGbExFVkJRVVVzVFVGQlRTeDVRa0ZCZVVJc1EwRkJRenRCUVVONlJTeFBRVUZQTEVWQlEwd3NkVUpCUVhWQ0xFVkJRM1pDTEhOQ1FVRnpRaXhGUVVOMFFpeHRRa0ZCYlVJc1IwRkRjRUlzTUVKQlFYVkNPMEZCVFhoQ0xFOUJRVThzUlVGQlJTeDNRa0ZCZDBJc1JVRkJSU3haUVVGWkxFVkJRVVVzTWtKQlFYZENPMEZCUlhwRkxFMUJRVTBzV1VGQldTeEhRVU5vUWl4cFJVRkJhVVVzUTBGQlF6dEJRVVZ3UlRzN096czdPenM3T3pzN1IwRlhSenRCUVVOSUxFMUJRVTBzVDBGQlR5eHhRa0ZCYzBJc1UwRkJVU3hoUVVGaE8wbEJRM1JFTEZsQlFWa3NUMEZCWlR0UlFVTjZRaXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdVVUZEWml4SlFVRkpMRU5CUVVNc1NVRkJTU3hIUVVGSExIVkNRVUYxUWl4RFFVRkRPMGxCUTNSRExFTkJRVU03UTBGRFJqdEJRV2RDUkN4VFFVRlRMRFpDUVVFMlFpeERRVU53UXl4TlFVRmpMRVZCUTJRc1QwRkJjME03U1VGRmRFTXNTVUZCU1N4UFFVRlBMRWxCUVVrc1QwRkJUeXhEUVVGRExFdEJRVXNzUzBGQlN5eFRRVUZUTEVsQlFVa3NUMEZCVHl4RFFVRkRMRXRCUVVzc1MwRkJTeXhKUVVGSkxFVkJRVVVzUTBGQlF6dFJRVU55UlN4TlFVRk5MRWxCUVVrc1pVRkJaU3hEUVVOMlFpeEhRVUZITEUxQlFVMHNLMFZCUVN0RkxFTkJRM3BHTEVOQlFVTTdTVUZEU2l4RFFVRkRPMEZCUTBnc1EwRkJRenRCUVVWRU96czdPenM3T3pzN096dEhRVmRITzBGQlEwZ3NUVUZCVFN4VlFVRlZMR2xDUVVGcFFpeERRVUZETEZkQlFXMUNPMGxCUTI1RUxFbEJRVWtzUTBGQlF5eFhRVUZYTEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eEZRVUZGTEVOQlFVTTdVVUZEY0VRc1RVRkJUU3hKUVVGSkxHVkJRV1VzUTBGQlF5d3dRa0ZCTUVJc1EwRkJReXhEUVVGRE8wbEJRM2hFTEVOQlFVTTdRVUZEU0N4RFFVRkRPMEZCUlVRN096czdPenM3T3pzN1IwRlZSenRCUVVOSUxFMUJRVTBzVDBGQlR5eHRRa0ZCYjBJc1UwRkJVU3hyUWtGSGVFTTdTVUZEUXp0UlFVTkZMRXRCUVVzc1JVRkJSU3hEUVVGRE8wbEJRMVlzUTBGQlF6dEpRVVZFTEV0QlFVc3NRMEZCUXl4VlFVRlZMRU5CUVVNc1IwRkJSeXhKUVVGWE8xRkJTVGRDTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRV2xETEVOQlFVTTdVVUZEZGtRc1NVRkJTU3hEUVVGRExFMUJRVTBzU1VGQlNTeFBRVUZQTEUxQlFVMHNRMEZCUXl4TFFVRkxMRXRCUVVzc1ZVRkJWU3hGUVVGRkxFTkJRVU03V1VGRGJFUXNUVUZCVFN4SlFVRkpMR1ZCUVdVc1EwRkRka0lzY1VWQlFYRkZMRU5CUTNSRkxFTkJRVU03VVVGRFNpeERRVUZETzFGQlEwUXNUVUZCVFN4TlFVRk5MRWRCUVVrc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQmIwTXNTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkRha1VzVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUlN4TlFVRk5MRVZCUVVVc1EwRkJRenRKUVVNMVFpeERRVUZETzBsQlJVUTdPenM3T3pzN096czdPenRQUVZsSE8wbEJRMGdzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXl4SFFVRkhMRWxCUVZjN1VVRkRlRUlzVFVGQlRTeEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4UFFVRlBMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJRM3BGTEUxQlFVMHNWVUZCVlN4SFFVRkhMRWxCUVVrc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF6dFJRVU55UXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETzFsQlEzWkNMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRVU1zTkVKQlFUUkNMRU5CUVVNc1EwRkJRenRSUVVONFJDeERRVUZETzFGQlEwUXNUVUZCVFN4SlFVRkpMRU5CUVVNc05rSkJRVFpDTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVOc1JDeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRmxCUVZrc1ZVRkJWU3hEUVVGRExFMUJRVTBzYVVKQlFXbENMRU5CUVVNc1EwRkJRenRSUVVNMVJDeExRVUZMTEUxQlFVMHNVMEZCVXl4SlFVRkpMRlZCUVZVc1JVRkJSU3hEUVVGRE8xbEJRMjVETEUxQlFVMHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhMUVVGTExFTkJRVU1zVTBGQlV5eERRVUZETEVOQlFVTTdVVUZEY2tNc1EwRkJRenRSUVVORUxFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlEwNHNiVU5CUVcxRExGVkJRVlVzUTBGQlF5eE5RVUZOTEdOQlFXTXNRMEZEYmtVc1EwRkJRenRSUVVOR0xFOUJRVThzUlVGQlJTeFBRVUZQTEVWQlFVVXNWVUZCVlN4RFFVRkRMRTFCUVUwc1JVRkJSU3hEUVVGRE8wbEJRM2hETEVOQlFVTTdTVUZGUkRzN096czdPenM3T3pzN1QwRlhSenRKUVVOSUxFdEJRVXNzUTBGQlF5dzJRa0ZCTmtJc1EwRkJReXhIUVVGSExFbEJRVmM3VVVGRGFFUXNUVUZCVFN4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRMlFzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3dyUWtGQkswSXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkRMMFFzUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRFpDUVVFMlFpeERRVUZETEVOQlFVTTdVVUZETVVNc1RVRkJUU3hOUVVGTkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRXRCUVVzc1EwRkJReXgzUWtGQmQwSXNRMEZCUXl4RFFVRkRPMUZCUTJwRkxFMUJRVTBzUjBGQlJ5eEhRVUZITEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEZOQlFWTXNRMEZGTjBJc1EwRkJRenRSUVVOa0xFMUJRVTBzVVVGQlVTeEhRVUZITEVkQlFVY3NSVUZCUlN4UFFVRlBPMWxCUXpOQ0xFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU03V1VGRE4wSXNRMEZCUXl4RFFVRkRMR05CUVdNc1EwRkJRenRSUVVOdVFpeEpRVU5GTEU5QlFVOHNSMEZCUnl4RlFVRkZMRkZCUVZFc1MwRkJTeXhUUVVGVE8xbEJRMnhETEU5QlFVOHNSMEZCUnl4RlFVRkZMRmxCUVZrc1MwRkJTeXhUUVVGVExFVkJRM1JETEVOQlFVTTdXVUZEUkN4TlFVRk5MRWxCUVVrc2NVSkJRWEZDTEVOQlF6ZENMR3RHUVVGclJpeFJRVUZSTEVsQlFVazdaMEpCUXpWR0xEUkdRVUUwUmp0blFrRkROVVlzYlVWQlFXMUZMRU5CUTNSRkxFTkJRVU03VVVGRFNpeERRVUZETzFGQlEwUXNTVUZCU1N4RFFVRkRMRWRCUVVjc1EwRkJReXhSUVVGUkxFbEJRVWtzUTBGQlF5eEhRVUZITEVOQlFVTXNXVUZCV1N4RlFVRkZMRU5CUVVNN1dVRkRka01zVFVGQlRTeEpRVUZKTEhGQ1FVRnhRaXhEUVVNM1FpdzRRMEZCT0VNc1VVRkJVU3d5UTBGQk1rTTdaMEpCUXk5R0xHdEhRVUZyUnp0blFrRkRiRWNzYTBkQlFXdEhPMmRDUVVOc1J5d3JSa0ZCSzBZN1owSkJReTlHTEd0Q1FVRnJRaXhEUVVOeVFpeERRVUZETzFGQlEwb3NRMEZCUXp0UlFVTkVMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zT0VOQlFUaERMRkZCUVZFc1JVRkJSU3hEUVVGRExFTkJRVU03U1VGRGVFVXNRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMGdzVlVGQlZUdFJRVU5TTEUxQlFVMHNUVUZCVFN4SFFVRkhMRWxCUVVrc1EwRkJReXhQUVVGUExFbEJRVWtzUlVGQlJTeERRVUZETzFGQlEyeERMRWxCUVVrc1RVRkJUU3hEUVVGRExGVkJRVlU3V1VGQlJTeFBRVUZQTEVOQlFVTXNSMEZCUnl4TlFVRk5MRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03VVVGRGNrUXNTVUZCU1N4TlFVRk5MRU5CUVVNc1VVRkJVU3hGUVVGRkxFTkJRVU03V1VGRGNFSXNUMEZCVHp0blFrRkRUQ3hIUVVGSExIVkNRVUYxUWp0blFrRkRNVUlzUjBGQlJ5eHRRa0ZCYlVJc1EwRkJReXhOUVVGTkxFTkJRVU1zVVVGQlVTeERRVUZETzJGQlEzaERMRU5CUVVNN1VVRkRTaXhEUVVGRE8xRkJRMFFzVDBGQlR5eHpRa0ZCYzBJc1JVRkJSU3hEUVVGRE8wbEJRMnhETEVOQlFVTTdTVUZGUkRzN096czdPenM3T3pzN096dFBRV0ZITzBsQlEwZ3NTMEZCU3l4RFFVRkRMRmxCUVZrc1EwRkRhRUlzVjBGQmJVSXNSVUZEYmtJc1ZVRkJOa0lzUlVGQlJTeEZRVU12UWl4SFFVRkhMRWxCUVZjN1VVRkZaQ3hOUVVGTkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTEdOQlFXTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGRGFrVXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkRiRUlzUTBGQlF6dFJRVU5HTEdsQ1FVRnBRaXhEUVVGRExGZEJRVmNzUTBGQlF5eERRVUZETzFGQlF5OUNMRFpDUVVFMlFpeERRVUZETEdOQlFXTXNSVUZCUlN4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVOMlJDeE5RVUZOTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExHbERRVUZwUXl4RlFVRkZPMWxCUTNwRUxGbEJRVmtzUTBGQlF5eFRRVUZUTzFsQlEzUkNMRmRCUVZjN1UwRkRXaXhEUVVGRExFTkJRVU03VVVGRFNDeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMSGxEUVVGNVF5eERRVUZETEVOQlFVTTdTVUZEZWtRc1EwRkJRenRKUVVWRU96czdPenM3T3pzN096czdPMDlCWVVjN1NVRkRTQ3hMUVVGTExFTkJRVU1zVTBGQlV5eERRVU5pTEZGQlFXZENMRVZCUTJoQ0xGVkJRVFpDTEVWQlFVVXNSVUZETDBJc1IwRkJSeXhKUVVGWE8xRkJSV1FzVFVGQlRTeEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4WFFVRlhMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlF6bEVMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRMllzUTBGQlF6dFJRVU5HTEdsQ1FVRnBRaXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzFGQlF6VkNMRFpDUVVFMlFpeERRVUZETEZkQlFWY3NSVUZCUlN4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVOd1JDeE5RVUZOTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1MwRkJTeXhEUVVGRExHbERRVUZwUXl4RlFVRkZPMWxCUTNwRUxGbEJRVmtzUTBGQlF5eE5RVUZOTzFsQlEyNUNMRkZCUVZFN1UwRkRWQ3hEUVVGRExFTkJRVU03VVVGRFNDeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMSE5EUVVGelF5eERRVUZETEVOQlFVTTdTVUZEZEVRc1EwRkJRenRKUVVWRU96czdPenM3T3pzN08wOUJWVWM3U1VGRFNDeExRVUZMTEVOQlFVTXNZMEZCWXl4RFFVTnNRaXhWUVVFMlFpeEZRVUZGTEVWQlF5OUNMRWRCUVVjc1NVRkJWenRSUVVWa0xFMUJRVTBzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVWQlFVVXNaMEpCUVdkQ0xFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUTI1RkxFbEJRVWtzUTBGQlF5eGpRVUZqTEVOQlEzQkNMRU5CUVVNN1VVRkRSaXcyUWtGQk5rSXNRMEZCUXl4blFrRkJaMElzUlVGQlJTeFBRVUZQTEVOQlFVTXNRMEZCUXp0UlFVTjZSQ3hOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTMEZCU3l4RFFVRkRMR2xEUVVGcFF5eEZRVUZGTzFsQlEzcEVMRmxCUVZrc1EwRkJReXhUUVVGVE8xbEJRM1JDTEVWQlFVVTdVMEZEU0N4RFFVRkRMRU5CUVVNN1VVRkRTQ3hIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETERKRFFVRXlReXhEUVVGRExFTkJRVU03U1VGRE0wUXNRMEZCUXp0SlFVVkVPenRQUVVWSE8wbEJRMGdzUzBGQlN5eERRVUZETEdkQ1FVRm5RaXhEUVVGRExFZEJRVWNzU1VGQlZ6dFJRVU51UXl4TlFVRk5MRVZCUVVVc1IwRkJSeXhGUVVGRkxFZEJRVWNzUTBGQlF5eE5RVUZOTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hGUVVGRkxHdENRVUZyUWl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVU55UlN4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVOQlEzUkNMRU5CUVVNN1VVRkRSaXhIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEN0Q1FVRXJRaXhEUVVGRExFTkJRVU03VVVGRE4wTXNUVUZCVFN4TlFVRk5MRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEV0QlFVc3NRMEZEY0VNc0swTkJRU3RETEVOQlEyaEVMRU5CUVVNN1VVRkRSaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFYRkRMRU5CUVVNN1VVRkRla1VzVDBGQlR5eEhRVUZITEVOQlFVTXNXVUZCV1N4SlFVRkpMRWxCUVVrc1EwRkJRenRKUVVOc1F5eERRVUZETzBOQlEwWTdRVUZGUkRzN096czdPMGRCVFVjN1FVRkRTQ3hOUVVGTkxFTkJRVU1zUzBGQlN5eFZRVUZWTEdOQlFXTXNRMEZEYkVNc1VVRkJNRUlzUlVGRE1VSXNWMEZCYlVJc1JVRkRia0lzUjBGQkswTXNSVUZETDBNc1ZVRkJhVU1zUlVGQlJUdEpRVVZ1UXl4cFFrRkJhVUlzUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXp0SlFVTXZRaXhOUVVGTkxGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNN1NVRkRPVUlzU1VGQlNTeERRVUZETzFGQlEwZ3NUVUZCVFN4UlFVRlJMRU5CUVVNc1MwRkJTeXhEUVVGRExHbERRVUZwUXl4RlFVRkZPMWxCUTNSRUxGbEJRVmtzUTBGQlF5eFRRVUZUTzFsQlEzUkNMRmRCUVZjN1UwRkRXaXhEUVVGRExFTkJRVU03VVVGRFNDeE5RVUZOTEUxQlFVMHNSMEZCUnl4TlFVRk5MRWRCUVVjc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF6dFJRVU51UXl4TlFVRk5MRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRMRU5CUVVNc1VVRkJVU3hEUVVGRExFTkJRVU1zUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0UlFVTTNSQ3hQUVVGUExFMUJRVTBzUTBGQlF6dEpRVU5vUWl4RFFVRkRPMGxCUVVNc1QwRkJUeXhMUVVGTExFVkJRVVVzUTBGQlF6dFJRVU5tTEVsQlFVa3NRMEZCUXp0WlFVTklMRTFCUVUwc1VVRkJVU3hEUVVGRExFdEJRVXNzUTBGQlF5eFZRVUZWTEVOQlFVTXNRMEZCUXp0UlFVTnVReXhEUVVGRE8xRkJRVU1zVFVGQlRTeERRVUZETzFsQlExQXNaME5CUVdkRE8xRkJRMnhETEVOQlFVTTdVVUZEUkN4TlFVRk5MRXRCUVVzc1EwRkJRenRKUVVOa0xFTkJRVU03UVVGRFNDeERRVUZESWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FYRzRnS2lCQWJXOWtkV3hsSUdsdWRHVm5jbUYwYVc5dWN5OXVZVzFsYzNCaFkyVnpMM0pzY3k5aWIyOTBjM1J5WVhCY2JpQXFJRUJ6ZFcxdFlYSjVJRUp2YjNSemRISmhjQ0J6WlhKMmFXTmxJSFJvWVhRZ1lYQndiR2xsY3lCMGFHVWdibUZ0WlhOd1lXTmxJSEp2ZHkxc1pYWmxiQzF6WldOMWNtbDBlU0IwWlcxd2JHRjBaUzVjYmlBcUlFQmtaWE5qY21sd2RHbHZiaUJYYVhKbGN5QjBhR1VnVTFGTUlIUmxiWEJzWVhSbElHbHVkRzhnWVNCeGRXVnllU0JsZUdWamRYUnZjaUFvWm05eUlHVjRZVzF3YkdVZ1lWeHVJQ29nWUhCbkxrTnNhV1Z1ZEdBcElITnZJR1JsY0d4dmVXMWxiblJ6SUdGd2NHeDVJSFJvWlNCd2IyeHBZMmxsY3lCMGFISnZkV2RvSUdGd2NHeHBZMkYwYVc5dUlHSnZiM1J6ZEhKaGNGeHVJQ29nYjNJZ1lTQnRhV2R5WVhScGIyNGdjblZ1Ym1WeUlHbHVjM1JsWVdRZ2IyWWdhR0Z1WkMxeWRXNXVhVzVuSUZOUlRDNGdRV3h6YnlCbGVIQnZjMlZ6SUdobGJIQmxjbk5jYmlBcUlIUm9ZWFFnWW1sdVpDQmdZWEJ3TG5CeWFXNWphWEJoYkY5cFpHQWdkSEpoYm5OaFkzUnBiMjR0Ykc5allXeHNlU0JtYjNJZ2NtVnhkV1Z6ZEMxelkyOXdaV1FnWVdOalpYTnpMbHh1SUNvdlhHNXBiWEJ2Y25RZ2V5QkRiR2xsYm5SQ1lYTmxaRk5sY25acFkyVWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMk52Y21WY0lqdGNibWx0Y0c5eWRDQjdJRWx1ZEdWeWJtRnNSWEp5YjNJc0lGWmhiR2xrWVhScGIyNUZjbkp2Y2lCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlpHSXRaR1ZqYjNKaGRHOXljMXdpTzF4dWFXMXdiM0owSUh0Y2JpQWdVa3hUWDBaVlRrTlVTVTlPWDFOVVFWUkZUVVZPVkZNc1hHNGdJSEpzYzBKdmIzUnpkSEpoY0ZOMFlYUmxiV1Z1ZEhNc1hHNGdJSEpzYzFCdmJHbGplVk4wWVhSbGJXVnVkSE1zWEc1OUlHWnliMjBnWENJdUwzSnNjeTUwWlcxd2JHRjBaVndpTzF4dWFXMXdiM0owSUhSNWNHVWdlMXh1SUNCU2JITkNiMjkwYzNSeVlYQkRiMjVtYVdjc1hHNGdJRkpzYzFGMVpYSjVSWGhsWTNWMGIzSXNYRzRnSUZKMWJrRnpVSEpwYm1OcGNHRnNUM0IwYVc5dWN5eGNibjBnWm5KdmJTQmNJaTR2Y214ekxuUjVjR1Z6WENJN1hHNXBiWEJ2Y25RZ2V5QlNURk5mUmxWT1ExUkpUMDVmVDFkT1JWSmZVVlZGVWxrc0lGSk1VMTlUUlZSVVNVNUhVeUI5SUdaeWIyMGdYQ0l1TDNKc2N5NWpiMjV6ZEdGdWRITmNJanRjYmx4dVkyOXVjM1FnVlZWSlJGOVFRVlJVUlZKT0lEMWNiaUFnTDE1Yk1DMDVZUzFtWFhzNGZTMWJNQzA1WVMxbVhYczBmUzFiTUMwNVlTMW1YWHMwZlMxYk1DMDVZUzFtWFhzMGZTMWJNQzA1WVMxbVhYc3hNbjBrTDJrN1hHNWNiaThxS2x4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUZSb2NtOTNiaUIzYUdWdUlIUm9aU0JsZUdWamRYUnZjaUJ5YjJ4bElHTmhibTV2ZENCellXWmxiSGtnYjNkdUlIUm9aU0JTVEZNZ2FHVnNjR1Z5SUdaMWJtTjBhVzl1Y3k1Y2JpQXFJRUJ6ZFcxdFlYSjVJRkpoYVhObFpDQmllVnh1SUNvZ1lGSnNjMEp2YjNSemRISmhjRk5sY25acFkyVXVZWE56WlhKMFJuVnVZM1JwYjI1UGQyNWxjbEJ5YVhacGJHVm5aWE1vS1dBZ2QyaGxiaUIwYUdVZ1kzVnljbVZ1ZEZ4dUlDb2daR0YwWVdKaGMyVWdjbTlzWlNCcGN5QnVaV2wwYUdWeUlHQlRWVkJGVWxWVFJWSmdJRzV2Y2lCZ1FsbFFRVk5UVWt4VFlDQW9iM0lnZDJobGJpQnBkSE5jYmlBcUlIQnlhWFpwYkdWblpYTWdZMkZ1Ym05MElHSmxJR1JsZEdWeWJXbHVaV1FwTGlCRmVIUmxibVJ6WEc0Z0tpQmdlMEJzYVc1cklFbHVkR1Z5Ym1Gc1JYSnliM0o5WUNCemJ5QmpZV3hzWlhKeklHTmhiaUJqWVhSamFDQnBkQ0JuWlc1bGNtbGpZV3hzZVN3Z2QyaHBiR1ZjYmlBcUlHTmhjbko1YVc1bklIUm9aU0JrYVhOMGFXNWpkR2wyWlNCZ1VteHpSblZ1WTNScGIyNVBkMjVsY2tWeWNtOXlZQ0J1WVcxbElHWnZjbHh1SUNvZ1ptRnBiQzFqYkc5elpXUWdiV0YwWTJocGJtY3VYRzRnS2lCQVkyeGhjM01nVW14elJuVnVZM1JwYjI1UGQyNWxja1Z5Y205eVhHNGdLaUJBWTJGMFpXZHZjbmtnVG1GdFpYTndZV05sYzF4dUlDb3ZYRzVsZUhCdmNuUWdZMnhoYzNNZ1VteHpSblZ1WTNScGIyNVBkMjVsY2tWeWNtOXlJR1Y0ZEdWdVpITWdTVzUwWlhKdVlXeEZjbkp2Y2lCN1hHNGdJR052Ym5OMGNuVmpkRzl5S0cxbGMzTmhaMlU2SUhOMGNtbHVaeWtnZTF4dUlDQWdJSE4xY0dWeUtHMWxjM05oWjJVcE8xeHVJQ0FnSUhSb2FYTXVibUZ0WlNBOUlGd2lVbXh6Um5WdVkzUnBiMjVQZDI1bGNrVnljbTl5WENJN1hHNGdJSDFjYm4xY2JseHVMeW9xWEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnVDNCMGFXOXVjeUJoWTJObGNIUmxaQ0JpZVNCMGFHVWdkSEpoYm5OaFkzUnBiMjR0Ykc5allXd2dVa3hUSUdKcGJtUnBibWNnYUdWc2NHVnljeTVjYmlBcUlFQnpkVzF0WVhKNUlGTmxjM05wYjI0dGQybGtaU0JpYVc1a2FXNW5JR2x6SUc1dmRDQnpkWEJ3YjNKMFpXUTZJSFJvWlNCdmJteDVJR0ZqWTJWd2RHRmliR1VnZG1Gc2RXVWdhWE5jYmlBcUlHQnNiMk5oYkRvZ2RISjFaV0FzSUhkb2FXTm9JR2x6SUdGc2MyOGdkR2hsSUdSbFptRjFiSFF1SUVFZ1lHeHZZMkZzT2lCbVlXeHpaV0FnY21WeGRXVnpkQ0JwYzF4dUlDb2djbVZxWldOMFpXUWdkMmwwYUNCZ1ZtRnNhV1JoZEdsdmJrVnljbTl5WUNCaVpXWnZjbVVnWVc1NUlGTlJUQ0JwY3lCelpXNTBMQ0JpWldOaGRYTmxJR0ZjYmlBcUlITmxjM05wYjI0dGQybGtaU0J6WlhSMGFXNW5JRzl1SUdFZ2NHOXZiR1ZrSUdOdmJtNWxZM1JwYjI0Z2JHVmhhM01nWVdOeWIzTnpJSEpsY1hWbGMzUnpMbHh1SUNvZ1FHbHVkR1Z5Wm1GalpTQlNiSE5DYVc1a2FXNW5UM0IwYVc5dWMxeHVJQ29nUUhCeWIzQmxjblI1SUh0MGNuVmxmU0JiYkc5allXeGRJQzBnVFhWemRDQmlaU0JnZEhKMVpXQWdiM0lnYjIxcGRIUmxaQ0FvZEdobElHUmxabUYxYkhRZ2FYTWdZSFJ5ZFdWZ0tUdGNiaUFxSUdGdWVTQnZkR2hsY2lCMllXeDFaU0JwY3lCeVpXcGxZM1JsWkNCaVpXWnZjbVVnWVc1NUlGTlJUQ0JwY3lCelpXNTBMbHh1SUNvdlhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElGSnNjMEpwYm1ScGJtZFBjSFJwYjI1eklIdGNiaUFnYkc5allXdy9PaUIwY25WbE8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCaGMzTmxjblJVY21GdWMyRmpkR2x2Ymt4dlkyRnNRbWx1WkdsdVp5aGNiaUFnYldWMGFHOWtPaUJ6ZEhKcGJtY3NYRzRnSUc5d2RHbHZibk02SUZKc2MwSnBibVJwYm1kUGNIUnBiMjV6SUh3Z2RXNWtaV1pwYm1Wa1hHNHBPaUIyYjJsa0lIdGNiaUFnYVdZZ0tHOXdkR2x2Ym5NZ0ppWWdiM0IwYVc5dWN5NXNiMk5oYkNBaFBUMGdkVzVrWldacGJtVmtJQ1ltSUc5d2RHbHZibk11Ykc5allXd2dJVDA5SUhSeWRXVXBJSHRjYmlBZ0lDQjBhSEp2ZHlCdVpYY2dWbUZzYVdSaGRHbHZia1Z5Y205eUtGeHVJQ0FnSUNBZ1lDUjdiV1YwYUc5a2ZTQnZibXg1SUhOMWNIQnZjblJ6SUhSeVlXNXpZV04wYVc5dUxXeHZZMkZzSUdKcGJtUnBibWM2SUhObGMzTnBiMjR0ZDJsa1pTQmlhVzVrYVc1bklHbHpJRzV2ZENCaGJHeHZkMlZrWUZ4dUlDQWdJQ2s3WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdWbUZzYVdSaGRHVnpJR0VnY0hKcGJtTnBjR0ZzSUdsa1pXNTBhV1pwWlhJZ1ltVm1iM0psSUdKcGJtUnBibWNnYVhRZ2RHOGdkR2hsWEc0Z0tpQmdZWEJ3TG5CeWFXNWphWEJoYkY5cFpHQWdVa3hUSUhObGRIUnBibWN1WEc0Z0tpQkFjM1Z0YldGeWVTQkdZV2xzTFdOc2IzTmxaQ0J6YUdGd1pTQm5kV0Z5WkNCemFHRnlaV1FnWW5rZ2RHaGxJR0pwYm1ScGJtY2dhR1ZzY0dWeWN6b2dkR2hsSUhaaGJIVmxYRzRnS2lCdGRYTjBJR0psSUdFZ2JtOXVMV1Z0Y0hSNUlGVlZTVVFnYzNSeWFXNW5MaUJQYmlCbVlXbHNkWEpsSUdsMElIUm9jbTkzY3lCaElHQldZV3hwWkdGMGFXOXVSWEp5YjNKZ1hHNGdLaUIzYVhSb0lHRWdabWw0WldRZ2JXVnpjMkZuWlNCMGFHRjBJRzVsZG1WeUlHVmphRzlsY3lCMGFHVWdjbVZxWldOMFpXUWdkbUZzZFdVc0lITnZJR2x1ZG1Gc2FXUWdhVzV3ZFhSY2JpQXFJR05oYm01dmRDQnNaV0ZySUdsdWRHOGdaWEp5YjNJZ2MzVnlabUZqWlhNZ2IzSWdiRzluY3k1Y2JpQXFJRUJtZFc1amRHbHZiaUJoYzNObGNuUlFjbWx1WTJsd1lXeEpaRnh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUhCeWFXNWphWEJoYkVsa0lDMGdRMkZ1Wkdsa1lYUmxJSEJ5YVc1amFYQmhiQ0FvYjNJZ2RHVnVZVzUwS1NCVlZVbEVJSFJ2SUhaaGJHbGtZWFJsTGx4dUlDb2dRSEpsZEhWeWJuTWdlM1p2YVdSOVhHNGdLaUJBZEdoeWIzZHpJSHRXWVd4cFpHRjBhVzl1UlhKeWIzSjlJRmRvWlc0Z2RHaGxJSFpoYkhWbElHbHpJR1Z0Y0hSNUlHOXlJRzV2ZENCVlZVbEVMWE5vWVhCbFpEc2dkR2hsSUcxbGMzTmhaMlVnWkc5bGN5QnViM1FnYVc1amJIVmtaU0IwYUdVZ2NtVnFaV04wWldRZ2RtRnNkV1V1WEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmhjM05sY25SUWNtbHVZMmx3WVd4SlpDaHdjbWx1WTJsd1lXeEpaRG9nYzNSeWFXNW5LVG9nZG05cFpDQjdYRzRnSUdsbUlDZ2hjSEpwYm1OcGNHRnNTV1FnZkh3Z0lWVlZTVVJmVUVGVVZFVlNUaTUwWlhOMEtIQnlhVzVqYVhCaGJFbGtLU2tnZTF4dUlDQWdJSFJvY205M0lHNWxkeUJXWVd4cFpHRjBhVzl1UlhKeWIzSW9YQ0pKYm5aaGJHbGtJRkpNVXlCd2NtbHVZMmx3WVd3Z2FXUmNJaWs3WEc0Z0lIMWNibjFjYmx4dUx5b3FYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdRWEJ3YkdsbGN5QjBhR1VnYm1GdFpYTndZV05sSUZKTVV5QjBaVzF3YkdGMFpTQjBhSEp2ZFdkb0lHRWdVMUZNSUdWNFpXTjFkRzl5TGx4dUlDb2dRSE4xYlcxaGNua2dWR2hsSUhObGNuWnBZMlVnWW05dmRITWdkMmwwYUNCaElGTlJUQ0JsZUdWamRYUnZjaUFvWUhCbkxrTnNhV1Z1ZEdBc0lHQndaeTVRYjI5c1lDd2diM0lnWVZ4dUlDb2dZMjl0Y0dGMGFXSnNaU0IzY21Gd2NHVnlLU0JoYm1RZ1lYQndiR2xsY3lCMGFHVWdibUZ0WlhOd1lXTmxJSEp2ZHkxc1pYWmxiQzF6WldOMWNtbDBlU0IwWlcxd2JHRjBaVHBjYmlBcUlHWjFibU4wYVc5dUlIQnNkWE1nY0c5c2FXTjVJRVJFVENCbGVHVmpkWFJsWkNCelpYRjFaVzUwYVdGc2JIa3VJRWwwSUdseklIUm9aU0JrWlhCc2IzbHRaVzUwTFhOcFpHVmNiaUFxSUdWdWRISjVJSEJ2YVc1MElHWnZjaUIwYUdVZ1VreFRJSFJsYlhCc1lYUmxMQ0J0WldGdWRDQjBieUJ5ZFc0Z1pIVnlhVzVuSUdGd2NHeHBZMkYwYVc5dUlHSnZiM1J6ZEhKaGNGeHVJQ29nYjNJZ1lTQnRhV2R5WVhScGIyNGdjblZ1Ym1WeUlHbHVjM1JsWVdRZ2IyWWdhR0Z1WkMxeWRXNXVhVzVuSUZOUlRDNGdWR2hsSUhSbGJYQnNZWFJsSUdselhHNGdLaUJwWkdWdGNHOTBaVzUwSUdGdVpDQnRZWGtnY25WdUlHOXVJR1YyWlhKNUlHUmxjR3h2ZVcxbGJuUXVYRzRnS2lCQVkyeGhjM01nVW14elFtOXZkSE4wY21Gd1UyVnlkbWxqWlZ4dUlDb2dRR05oZEdWbmIzSjVJRTVoYldWemNHRmpaWE5jYmlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUZKc2MwSnZiM1J6ZEhKaGNGTmxjblpwWTJVZ1pYaDBaVzVrY3lCRGJHbGxiblJDWVhObFpGTmxjblpwWTJVOFhHNGdJRkpzYzFGMVpYSjVSWGhsWTNWMGIzSXNYRzRnSUZKc2MwSnZiM1J6ZEhKaGNFTnZibVpwWjF4dVBpQjdYRzRnSUdOdmJuTjBjblZqZEc5eUtDa2dlMXh1SUNBZ0lITjFjR1Z5S0NrN1hHNGdJSDFjYmx4dUlDQmhjM2x1WXlCcGJtbDBhV0ZzYVhwbEtDNHVMbUZ5WjNNNklHRnVlVnRkS1RvZ1VISnZiV2x6WlR4N1hHNGdJQ0FnWTI5dVptbG5PaUJTYkhOQ2IyOTBjM1J5WVhCRGIyNW1hV2M3WEc0Z0lDQWdZMnhwWlc1ME9pQlNiSE5SZFdWeWVVVjRaV04xZEc5eU8xeHVJQ0I5UGlCN1hHNGdJQ0FnWTI5dWMzUWdZMnhwWlc1MElEMGdZWEpuYzFzd1hTQmhjeUJTYkhOUmRXVnllVVY0WldOMWRHOXlJSHdnZFc1a1pXWnBibVZrTzF4dUlDQWdJR2xtSUNnaFkyeHBaVzUwSUh4OElIUjVjR1Z2WmlCamJHbGxiblF1Y1hWbGNua2dJVDA5SUZ3aVpuVnVZM1JwYjI1Y0lpa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRlpoYkdsa1lYUnBiMjVGY25KdmNpaGNiaUFnSUNBZ0lDQWdYQ0pTYkhOQ2IyOTBjM1J5WVhCVFpYSjJhV05sSUhKbGNYVnBjbVZ6SUdFZ2NYVmxjbmtnWlhobFkzVjBiM0lnWVhNZ2FYUnpJR1pwY25OMElHRnlaM1Z0Wlc1MFhDSmNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVJQ0FnSUdOdmJuTjBJR052Ym1acFp5QTlJQ2hoY21keld6RmRJR0Z6SUZKc2MwSnZiM1J6ZEhKaGNFTnZibVpwWnlCOElIVnVaR1ZtYVc1bFpDa2dQejhnZTMwN1hHNGdJQ0FnY21WMGRYSnVJSHNnWTI5dVptbG5MQ0JqYkdsbGJuUWdmVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdRWEJ3YkdsbGN5QjBhR1VnWTI5dVptbG5kWEpsWkNBb2IzSWdZblZ1Wkd4bFpDa2dVa3hUSUhOMFlYUmxiV1Z1ZENCc2FYTjBMbHh1SUNBZ0tpQkFjM1Z0YldGeWVTQlVhR1VnYzJWeWRtbGpaU0JwY3lCaWIyOTBaV1FnZDJsMGFDQmhiaUJsZUdWamRYUnZjaUFvWUhCbkxrTnNhV1Z1ZEdBc0lHQndaeTVRYjI5c1lDd2diM0lnWVZ4dUlDQWdLaUJqYjIxd1lYUnBZbXhsSUhkeVlYQndaWElwSUdGdVpDQmhjSEJzYVdWeklHWjFibU4wYVc5dUlIQnNkWE1nY0c5c2FXTjVJRVJFVENCelpYRjFaVzUwYVdGc2JIa3VJRlJvWlZ4dUlDQWdLaUIwWlcxd2JHRjBaU0JwY3lCcFpHVnRjRzkwWlc1MElHRnVaQ0J0WVhrZ2NuVnVJRzl1SUdWMlpYSjVJR1JsY0d4dmVXMWxiblF1SUVKbFptOXlaU0JoYm5rZ1JFUk1JR2x6WEc0Z0lDQXFJSE5sYm5Rc0lHQmhjM05sY25SR2RXNWpkR2x2Yms5M2JtVnlVSEpwZG1sc1pXZGxjeWdwWUNCMlpYSnBabWxsY3lCMGFHRjBJSFJvWlNCamRYSnlaVzUwWEc0Z0lDQXFJR1Y0WldOMWRHOXlJSEp2YkdVZ2FYTWdZRk5WVUVWU1ZWTkZVbUFnYjNJZ1lFSlpVRUZUVTFKTVUyQWdZVzVrSUdaaGFXeHpJR05zYjNObFpDQnZkR2hsY25kcGMyVXNYRzRnSUNBcUlITnZJR0JUUlVOVlVrbFVXU0JFUlVaSlRrVlNZQ0JvWld4d1pYSWdablZ1WTNScGIyNXpJR0Z5WlNCdVpYWmxjaUJqY21WaGRHVmtJSGRwZEdnZ1lXNGdiM2R1WlhKY2JpQWdJQ29nZEdoaGRDQjNiM1ZzWkNCeVpXTjFjbk5sSUhWdVpHVnlJR0JHVDFKRFJTQlNUMWNnVEVWV1JVd2dVMFZEVlZKSlZGbGdMbHh1SUNBZ0tpQkFjbVYwZFhKdUlIdFFjbTl0YVhObFBIdGhjSEJzYVdWa09pQnVkVzFpWlhKOVBuMGdWR2hsSUc1MWJXSmxjaUJ2WmlCemRHRjBaVzFsYm5SeklHVjRaV04xZEdWa0xseHVJQ0FnS2lCQWRHaHliM2R6SUh0U2JITkdkVzVqZEdsdmJrOTNibVZ5UlhKeWIzSjlJRmRvWlc0Z2RHaGxJR1Y0WldOMWRHOXlJSEp2YkdVZ2FYTWdibVZwZEdobGNpQmdVMVZRUlZKVlUwVlNZQ0J1YjNJZ1lFSlpVRUZUVTFKTVUyQXNJRzl5SUdsMGN5QndjbWwyYVd4bFoyVnpJR05oYm01dmRDQmlaU0JrWlhSbGNtMXBibVZrTGx4dUlDQWdLaUJBZEdoeWIzZHpJSHRKYm5SbGNtNWhiRVZ5Y205eWZTQlhhR1Z1SUhSb1pTQnlaWE52YkhabFpDQnpkR0YwWlcxbGJuUWdiR2x6ZENCcGN5QmxiWEIwZVM1Y2JpQWdJQ292WEc0Z0lHRnplVzVqSUdGd2NHeDVLQzR1TG1GeVozTTZJR0Z1ZVZ0ZEtUb2dVSEp2YldselpUeDdJR0Z3Y0d4cFpXUTZJRzUxYldKbGNpQjlQaUI3WEc0Z0lDQWdZMjl1YzNRZ2V5QnNiMmNnZlNBOUlDaGhkMkZwZENCMGFHbHpMbXh2WjBOMGVDaGhjbWR6TENCY0ltRndjR3g1WENJc0lIUnlkV1VwS1M1bWIzSW9kR2hwY3k1aGNIQnNlU2s3WEc0Z0lDQWdZMjl1YzNRZ2MzUmhkR1Z0Wlc1MGN5QTlJSFJvYVhNdWMzUmhkR1Z0Wlc1MGN5Z3BPMXh1SUNBZ0lHbG1JQ2doYzNSaGRHVnRaVzUwY3k1c1pXNW5kR2dwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCSmJuUmxjbTVoYkVWeWNtOXlLRndpVG04Z1VreFRJSE4wWVhSbGJXVnVkSE1nZEc4Z1lYQndiSGxjSWlrN1hHNGdJQ0FnZlZ4dUlDQWdJR0YzWVdsMElIUm9hWE11WVhOelpYSjBSblZ1WTNScGIyNVBkMjVsY2xCeWFYWnBiR1ZuWlhNb0xpNHVZWEpuY3lrN1hHNGdJQ0FnYkc5bkxuWmxjbUp2YzJVb1lFRndjR3g1YVc1bklDUjdjM1JoZEdWdFpXNTBjeTVzWlc1bmRHaDlJRkpNVXlCemRHRjBaVzFsYm5SellDazdYRzRnSUNBZ1ptOXlJQ2hqYjI1emRDQnpkR0YwWlcxbGJuUWdiMllnYzNSaGRHVnRaVzUwY3lrZ2UxeHVJQ0FnSUNBZ1lYZGhhWFFnZEdocGN5NWpiR2xsYm5RdWNYVmxjbmtvYzNSaGRHVnRaVzUwS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdiRzluTG1sdVptOG9YRzRnSUNBZ0lDQmdRWEJ3YkdsbFpDQnVZVzFsYzNCaFkyVWdVa3hUSUhSbGJYQnNZWFJsSUNna2UzTjBZWFJsYldWdWRITXViR1Z1WjNSb2ZTQnpkR0YwWlcxbGJuUnpLV0JjYmlBZ0lDQXBPMXh1SUNBZ0lISmxkSFZ5YmlCN0lHRndjR3hwWldRNklITjBZWFJsYldWdWRITXViR1Z1WjNSb0lIMDdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlGWmxjbWxtYVdWeklIUm9ZWFFnZEdobElHTjFjbkpsYm5RZ1pYaGxZM1YwYjNJZ2NtOXNaU0JqWVc0Z2IzZHVJSFJvWlNCU1RGTWdhR1ZzY0dWeUlHWjFibU4wYVc5dWN5NWNiaUFnSUNvZ1FITjFiVzFoY25rZ1VuVnVjeUJnVWt4VFgwWlZUa05VU1U5T1gwOVhUa1ZTWDFGVlJWSlpZQ0IwYUhKdmRXZG9JSFJvWlNCamIyNW1hV2QxY21Wa0lHVjRaV04xZEc5eVhHNGdJQ0FxSUdGdVpDQnlaV0ZrY3lCMGFHVWdZM1Z5Y21WdWRDQnliMnhsSjNNZ1lISnZiSE4xY0dWeVlDOWdjbTlzWW5sd1lYTnpjbXh6WUNCbWJHRm5jeUJtY205dFhHNGdJQ0FxSUdCd1oxOXliMnhsYzJBdUlFWmhhV3h6SUdOc2IzTmxaRG9nZDJobGJpQjBhR1VnY205M0lHbHpJRzFwYzNOcGJtY2diM0lnZEdobElHWnNZV2R6SUdGeVpTQnViM1JjYmlBZ0lDb2dZbTl2YkdWaGJuTXNJR2wwSUhSb2NtOTNjeUJnVW14elJuVnVZM1JwYjI1UGQyNWxja1Z5Y205eVlDQjNhWFJvSUhSb1pTQnpZVzFsWEc0Z0lDQXFJR1poYVd3dFkyeHZjMlZrSUhObGJXRnVkR2xqY3lCaGN5QmhiaUJsZUhCc2FXTnBkQ0J3Y21sMmFXeGxaMlVnWm1GcGJIVnlaUzRnUTJGc2JHVmtYRzRnSUNBcUlHRjFkRzl0WVhScFkyRnNiSGtnWW5rZ1lHRndjR3g1S0NsZ0lHSmxabTl5WlNCaGJua2dSRVJNSUdseklHVjRaV04xZEdWa0xseHVJQ0FnS2lCQWNHRnlZVzBnWVhKbmN5QXRJRTl3ZEdsdmJtRnNJSFJ5WVdsc2FXNW5JR1JsWTJGbUlHQkRiMjUwWlhoMFlDQmhjbWQxYldWdWRITWdabTl5ZDJGeVpHVmtJSFJ2SUhSb1pTQnNiMmNnWTI5dWRHVjRkQzVjYmlBZ0lDb2dRSEpsZEhWeWJpQlNaWE52YkhabGN5QjNhR1Z1SUhSb1pTQmpkWEp5Wlc1MElISnZiR1VnYVhNZ1lGTlZVRVZTVlZORlVtQWdiM0lnWUVKWlVFRlRVMUpNVTJBdVhHNGdJQ0FxSUVCMGFISnZkM01nZTFKc2MwWjFibU4wYVc5dVQzZHVaWEpGY25KdmNuMGdWMmhsYmlCMGFHVWdaWGhsWTNWMGIzSWdjbTlzWlNCcGN5QnVaV2wwYUdWeUlHQlRWVkJGVWxWVFJWSmdJRzV2Y2lCZ1FsbFFRVk5UVWt4VFlDd2diM0lnZDJobGJpQnBkSE1nY0hKcGRtbHNaV2RsY3lCallXNXViM1FnWW1VZ1pHVjBaWEp0YVc1bFpDQm1jbTl0SUdCd1oxOXliMnhsYzJBdVhHNGdJQ0FxTDF4dUlDQmhjM2x1WXlCaGMzTmxjblJHZFc1amRHbHZiazkzYm1WeVVISnBkbWxzWldkbGN5Z3VMaTVoY21kek9pQmhibmxiWFNrNklGQnliMjFwYzJVOGRtOXBaRDRnZTF4dUlDQWdJR052Ym5OMElIc2diRzluSUgwZ1BTQW9YRzRnSUNBZ0lDQmhkMkZwZENCMGFHbHpMbXh2WjBOMGVDaGhjbWR6TENCY0ltRnpjMlZ5ZEVaMWJtTjBhVzl1VDNkdVpYSlFjbWwyYVd4bFoyVnpYQ0lzSUhSeWRXVXBYRzRnSUNBZ0tTNW1iM0lvZEdocGN5NWhjM05sY25SR2RXNWpkR2x2Yms5M2JtVnlVSEpwZG1sc1pXZGxjeWs3WEc0Z0lDQWdZMjl1YzNRZ2NtVnpkV3gwSUQwZ1lYZGhhWFFnZEdocGN5NWpiR2xsYm5RdWNYVmxjbmtvVWt4VFgwWlZUa05VU1U5T1gwOVhUa1ZTWDFGVlJWSlpLVHRjYmlBZ0lDQmpiMjV6ZENCeWIzY2dQU0FvY21WemRXeDBMbkp2ZDNNL0xsc3dYU0EvUHlCMWJtUmxabWx1WldRcElHRnpYRzRnSUNBZ0lDQjhJSHNnY205c2JtRnRaVDg2SUhOMGNtbHVaenNnY205c2MzVndaWEkvT2lCaWIyOXNaV0Z1T3lCeWIyeGllWEJoYzNOeWJITS9PaUJpYjI5c1pXRnVJSDFjYmlBZ0lDQWdJSHdnZFc1a1pXWnBibVZrTzF4dUlDQWdJR052Ym5OMElISnZiR1ZPWVcxbElEMGdjbTkzUHk1eWIyeHVZVzFsWEc0Z0lDQWdJQ0EvSUVwVFQwNHVjM1J5YVc1bmFXWjVLSEp2ZHk1eWIyeHVZVzFsS1Z4dUlDQWdJQ0FnT2lCY0ltTjFjbkpsYm5SZmRYTmxjbHdpTzF4dUlDQWdJR2xtSUNoY2JpQWdJQ0FnSUhSNWNHVnZaaUJ5YjNjL0xuSnZiSE4xY0dWeUlDRTlQU0JjSW1KdmIyeGxZVzVjSWlCOGZGeHVJQ0FnSUNBZ2RIbHdaVzltSUhKdmR6OHVjbTlzWW5sd1lYTnpjbXh6SUNFOVBTQmNJbUp2YjJ4bFlXNWNJbHh1SUNBZ0lDa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRkpzYzBaMWJtTjBhVzl1VDNkdVpYSkZjbkp2Y2loY2JpQWdJQ0FnSUNBZ1lFTmhibTV2ZENCaGNIQnNlU0IwYUdVZ2JtRnRaWE53WVdObElGSk1VeUIwWlcxd2JHRjBaVG9nWTI5MWJHUWdibTkwSUdSbGRHVnliV2x1WlNCMGFHVWdjSEpwZG1sc1pXZGxjeUJ2WmlBa2UzSnZiR1ZPWVcxbGZTNGdZQ0FyWEc0Z0lDQWdJQ0FnSUNBZ1hDSlVhR1VnVTBWRFZWSkpWRmtnUkVWR1NVNUZVaUJvWld4d1pYSWdablZ1WTNScGIyNXpJSEpsY1hWcGNtVWdZU0JUVlZCRlVsVlRSVklnYjNJZ1FsbFFRVk5UVWt4VElHOTNibVZ5T3lCeVpXWjFjMmx1WnlCMGJ5QmNJaUFyWEc0Z0lDQWdJQ0FnSUNBZ1hDSmhjSEJzZVNCd2IyeHBZMmxsY3lCMGFHRjBJSGR2ZFd4a0lISmxZM1Z5YzJVZ2RXNWtaWElnUms5U1EwVWdVazlYSUV4RlZrVk1JRk5GUTFWU1NWUlpMbHdpWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvSVhKdmR5NXliMnh6ZFhCbGNpQW1KaUFoY205M0xuSnZiR0o1Y0dGemMzSnNjeWtnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUZKc2MwWjFibU4wYVc5dVQzZHVaWEpGY25KdmNpaGNiaUFnSUNBZ0lDQWdZRU5oYm01dmRDQmhjSEJzZVNCMGFHVWdibUZ0WlhOd1lXTmxJRkpNVXlCMFpXMXdiR0YwWlNCaGN5QWtlM0p2YkdWT1lXMWxmVG9nZEdobElHVjRaV04xZEc5eUlISnZiR1VnYVhNZ2JtVnBkR2hsY2lCVFZWQkZVbFZUUlZJZ1lDQXJYRzRnSUNBZ0lDQWdJQ0FnWENKdWIzSWdRbGxRUVZOVFVreFRMaUJVYUdVZ1UwVkRWVkpKVkZrZ1JFVkdTVTVGVWlCb1pXeHdaWElnWm5WdVkzUnBiMjV6SUcxMWMzUWdZbVVnYjNkdVpXUWdZbmtnWVNCeWIyeGxJSFJvWVhRZ1lubHdZWE56WlhNZ1VreFRMQ0JjSWlBclhHNGdJQ0FnSUNBZ0lDQWdYQ0p2ZEdobGNuZHBjMlVnWlhabGNua2djRzlzYVdONUlHVjJZV3gxWVhScGIyNGdjbVZqZFhKelpYTWdkVzVrWlhJZ1JrOVNRMFVnVWs5WElFeEZWa1ZNSUZORlExVlNTVlJaSUdGdVpDQm1ZV2xzY3k0Z1EyOXVibVZqZENCaGN5QmNJaUFyWEc0Z0lDQWdJQ0FnSUNBZ1hDSjBhR1VnWkdGMFlXSmhjMlVnYjNkdVpYSXZRbGxRUVZOVFVreFRJRzFwWjNKaGRHbHZiaUJ5YjJ4bExDQnZjaUJqY21WaGRHVWdkR2hsSUdobGJIQmxjaUJtZFc1amRHbHZibk1nZDJsMGFDQmhJR1JsWkdsallYUmxaQ0JjSWlBclhHNGdJQ0FnSUNBZ0lDQWdYQ0pDV1ZCQlUxTlNURk1nYjNkdVpYSXVYQ0pjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1SUNBZ0lHeHZaeTUyWlhKaWIzTmxLR0JXWlhKcFptbGxaQ0JTVEZNZ1puVnVZM1JwYjI0Z2IzZHVaWElnY0hKcGRtbHNaV2RsY3lCbWIzSWdKSHR5YjJ4bFRtRnRaWDFnS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnVW1WemIyeDJaWE1nZEdobElITjBZWFJsYldWdWRDQnNhWE4wSUdadmNpQjBhR1VnWVdOMGFYWmxJR052Ym1acFozVnlZWFJwYjI0dVhHNGdJQ0FxTDF4dUlDQnpkR0YwWlcxbGJuUnpLQ2s2SUhOMGNtbHVaMXRkSUh0Y2JpQWdJQ0JqYjI1emRDQmpiMjVtYVdjZ1BTQjBhR2x6TGw5amIyNW1hV2NnUHo4Z2UzMDdYRzRnSUNBZ2FXWWdLR052Ym1acFp5NXpkR0YwWlcxbGJuUnpLU0J5WlhSMWNtNGdXeTR1TG1OdmJtWnBaeTV6ZEdGMFpXMWxiblJ6WFR0Y2JpQWdJQ0JwWmlBb1kyOXVabWxuTG5CdmJHbGphV1Z6S1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnVzF4dUlDQWdJQ0FnSUNBdUxpNVNURk5mUmxWT1ExUkpUMDVmVTFSQlZFVk5SVTVVVXl4Y2JpQWdJQ0FnSUNBZ0xpNHVjbXh6VUc5c2FXTjVVM1JoZEdWdFpXNTBjeWhqYjI1bWFXY3VjRzlzYVdOcFpYTXBMRnh1SUNBZ0lDQWdYVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhKc2MwSnZiM1J6ZEhKaGNGTjBZWFJsYldWdWRITW9LVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdRbWx1WkhNZ2RHaGxJR0ZqZEdsdVp5QndjbWx1WTJsd1lXd2dabTl5SUhSb1pTQmpkWEp5Wlc1MElIUnlZVzV6WVdOMGFXOXVMbHh1SUNBZ0tpQkFjM1Z0YldGeWVTQkpjM04xWlhNZ2NHRnlZVzFsZEdWeWFYcGxaQ0JnVTBWTVJVTlVJSE5sZEY5amIyNW1hV2NvSkRFc0lDUXlMQ0IwY25WbEtXQWdZV1owWlhKY2JpQWdJQ29nZG1Gc2FXUmhkR2x2Yml3Z2MyOGdkR2hsSUdKcGJtUnBibWNnYkdsMlpYTWdiMjVzZVNCbWIzSWdkR2hsSUdOMWNuSmxiblFnZEhKaGJuTmhZM1JwYjI0Z1lXNWtJR2x6WEc0Z0lDQXFJR1JwYzJOaGNtUmxaQ0J2YmlCamIyMXRhWFF2Y205c2JHSmhZMnNnNG9DVUlITmhabVVnYjI0Z2NHOXZiR1ZrSUdOdmJtNWxZM1JwYjI1ekxpQkJJSE5sYzNOcGIyNHRkMmxrWlZ4dUlDQWdLaUJpYVc1a2FXNW5JSEpsY1hWbGMzUWdabUZwYkhNZ2QybDBhQ0JnVm1Gc2FXUmhkR2x2YmtWeWNtOXlZQ0JpWldadmNtVWdZVzU1SUZOUlRDQnBjeUJ6Wlc1MExDQmhibVJjYmlBZ0lDb2dkR2hsSUhabGNtSnZjMlVnYkc5bklISmxZMjl5WkhNZ2IyNXNlU0IwYUdGMElHRWdZbWx1WkdsdVp5Qm9ZWEJ3Wlc1bFpDd2dibVYyWlhJZ2RHaGxJSEJ5YVc1amFYQmhiRnh1SUNBZ0tpQnBaQzVjYmlBZ0lDb2dRSEJoY21GdElIQnlhVzVqYVhCaGJFbGtJRkJ5YVc1amFYQmhiQ0JWVlVsRUlITjBiM0psWkNCcGJpQmdZWEJ3TG5CeWFXNWphWEJoYkY5cFpHQXVYRzRnSUNBcUlFQndZWEpoYlNCdmNIUnBiMjV6SUU5dWJIa2dZR3h2WTJGc09pQjBjblZsWUNBb2RHaGxJR1JsWm1GMWJIUXBJR2x6SUdGalkyVndkR1ZrT3lCMGFHVWdZbWx1WkdsdVp5QnBjMXh1SUNBZ0tpQmhiSGRoZVhNZ2RISmhibk5oWTNScGIyNHRiRzlqWVd3Z1lXNWtJR2x6SUdScGMyTmhjbVJsWkNCdmJpQmpiMjF0YVhRdmNtOXNiR0poWTJzdVhHNGdJQ0FxSUVCeVpYUjFjbTV6SUh0UWNtOXRhWE5sUEhadmFXUStmU0JTWlhOdmJIWmxjeUJ2Ym1ObElIUm9aU0J6WlhSMGFXNW5JR2x6SUdKdmRXNWtJSFJ5WVc1ellXTjBhVzl1TFd4dlkyRnNiSGt1WEc0Z0lDQXFJRUIwYUhKdmQzTWdlMVpoYkdsa1lYUnBiMjVGY25KdmNuMGdWMmhsYmlCMGFHVWdjSEpwYm1OcGNHRnNJR2xrSUdseklHbHVkbUZzYVdRZ2IzSWdZU0J6WlhOemFXOXVMWGRwWkdVZ1ltbHVaR2x1WnlCcGN5QnlaWEYxWlhOMFpXUXVYRzRnSUNBcUwxeHVJQ0JoYzNsdVl5QnpaWFJRY21sdVkybHdZV3dvWEc0Z0lDQWdjSEpwYm1OcGNHRnNTV1E2SUhOMGNtbHVaeXhjYmlBZ0lDQnZjSFJwYjI1ek9pQlNiSE5DYVc1a2FXNW5UM0IwYVc5dWN5QTlJSHQ5TEZ4dUlDQWdJQzR1TG1GeVozTTZJR0Z1ZVZ0ZFhHNGdJQ2s2SUZCeWIyMXBjMlU4ZG05cFpENGdlMXh1SUNBZ0lHTnZibk4wSUhzZ2JHOW5JSDBnUFNBb1lYZGhhWFFnZEdocGN5NXNiMmREZEhnb1lYSm5jeXdnWENKelpYUlFjbWx1WTJsd1lXeGNJaXdnZEhKMVpTa3BMbVp2Y2loY2JpQWdJQ0FnSUhSb2FYTXVjMlYwVUhKcGJtTnBjR0ZzWEc0Z0lDQWdLVHRjYmlBZ0lDQmhjM05sY25SUWNtbHVZMmx3WVd4SlpDaHdjbWx1WTJsd1lXeEpaQ2s3WEc0Z0lDQWdZWE56WlhKMFZISmhibk5oWTNScGIyNU1iMk5oYkVKcGJtUnBibWNvWENKelpYUlFjbWx1WTJsd1lXeGNJaXdnYjNCMGFXOXVjeWs3WEc0Z0lDQWdZWGRoYVhRZ2RHaHBjeTVqYkdsbGJuUXVjWFZsY25rb1hDSlRSVXhGUTFRZ2MyVjBYMk52Ym1acFp5Z2tNU3dnSkRJc0lIUnlkV1VwWENJc0lGdGNiaUFnSUNBZ0lGSk1VMTlUUlZSVVNVNUhVeTVRY21sdVkybHdZV3dzWEc0Z0lDQWdJQ0J3Y21sdVkybHdZV3hKWkN4Y2JpQWdJQ0JkS1R0Y2JpQWdJQ0JzYjJjdWRtVnlZbTl6WlNoY0lrSnZkVzVrSUZKTVV5QndjbWx1WTJsd1lXd2dLSFJ5WVc1ellXTjBhVzl1TFd4dlkyRnNLVndpS1R0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnUW1sdVpITWdkR2hsSUdGamRHbHVaeUIwWlc1aGJuUWdabTl5SUhSb1pTQmpkWEp5Wlc1MElIUnlZVzV6WVdOMGFXOXVMbHh1SUNBZ0tpQkFjM1Z0YldGeWVTQkpjM04xWlhNZ2NHRnlZVzFsZEdWeWFYcGxaQ0JnVTBWTVJVTlVJSE5sZEY5amIyNW1hV2NvSkRFc0lDUXlMQ0IwY25WbEtXQWdZV1owWlhKY2JpQWdJQ29nZG1Gc2FXUmhkR2x2Yml3Z2MyOGdkR2hsSUdKcGJtUnBibWNnYkdsMlpYTWdiMjVzZVNCbWIzSWdkR2hsSUdOMWNuSmxiblFnZEhKaGJuTmhZM1JwYjI0Z1lXNWtJR2x6WEc0Z0lDQXFJR1JwYzJOaGNtUmxaQ0J2YmlCamIyMXRhWFF2Y205c2JHSmhZMnNnNG9DVUlITmhabVVnYjI0Z2NHOXZiR1ZrSUdOdmJtNWxZM1JwYjI1ekxpQkJJSE5sYzNOcGIyNHRkMmxrWlZ4dUlDQWdLaUJpYVc1a2FXNW5JSEpsY1hWbGMzUWdabUZwYkhNZ2QybDBhQ0JnVm1Gc2FXUmhkR2x2YmtWeWNtOXlZQ0JpWldadmNtVWdZVzU1SUZOUlRDQnBjeUJ6Wlc1MExDQmhibVJjYmlBZ0lDb2dkR2hsSUhabGNtSnZjMlVnYkc5bklISmxZMjl5WkhNZ2IyNXNlU0IwYUdGMElHRWdZbWx1WkdsdVp5Qm9ZWEJ3Wlc1bFpDd2dibVYyWlhJZ2RHaGxJSFJsYm1GdWRGeHVJQ0FnS2lCcFpDNWNiaUFnSUNvZ1FIQmhjbUZ0SUhSbGJtRnVkRWxrSUZSbGJtRnVkQ0JWVlVsRUlITjBiM0psWkNCcGJpQmdZWEJ3TG5SbGJtRnVkRjlwWkdBdVhHNGdJQ0FxSUVCd1lYSmhiU0J2Y0hScGIyNXpJRTl1YkhrZ1lHeHZZMkZzT2lCMGNuVmxZQ0FvZEdobElHUmxabUYxYkhRcElHbHpJR0ZqWTJWd2RHVmtPeUIwYUdVZ1ltbHVaR2x1WnlCcGMxeHVJQ0FnS2lCaGJIZGhlWE1nZEhKaGJuTmhZM1JwYjI0dGJHOWpZV3dnWVc1a0lHbHpJR1JwYzJOaGNtUmxaQ0J2YmlCamIyMXRhWFF2Y205c2JHSmhZMnN1WEc0Z0lDQXFJRUJ5WlhSMWNtNXpJSHRRY205dGFYTmxQSFp2YVdRK2ZTQlNaWE52YkhabGN5QnZibU5sSUhSb1pTQnpaWFIwYVc1bklHbHpJR0p2ZFc1a0lIUnlZVzV6WVdOMGFXOXVMV3h2WTJGc2JIa3VYRzRnSUNBcUlFQjBhSEp2ZDNNZ2UxWmhiR2xrWVhScGIyNUZjbkp2Y24wZ1YyaGxiaUIwYUdVZ2RHVnVZVzUwSUdsa0lHbHpJR2x1ZG1Gc2FXUWdiM0lnWVNCelpYTnphVzl1TFhkcFpHVWdZbWx1WkdsdVp5QnBjeUJ5WlhGMVpYTjBaV1F1WEc0Z0lDQXFMMXh1SUNCaGMzbHVZeUJ6WlhSVVpXNWhiblFvWEc0Z0lDQWdkR1Z1WVc1MFNXUTZJSE4wY21sdVp5eGNiaUFnSUNCdmNIUnBiMjV6T2lCU2JITkNhVzVrYVc1blQzQjBhVzl1Y3lBOUlIdDlMRnh1SUNBZ0lDNHVMbUZ5WjNNNklHRnVlVnRkWEc0Z0lDazZJRkJ5YjIxcGMyVThkbTlwWkQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSHNnYkc5bklIMGdQU0FvWVhkaGFYUWdkR2hwY3k1c2IyZERkSGdvWVhKbmN5d2dYQ0p6WlhSVVpXNWhiblJjSWl3Z2RISjFaU2twTG1admNpaGNiaUFnSUNBZ0lIUm9hWE11YzJWMFZHVnVZVzUwWEc0Z0lDQWdLVHRjYmlBZ0lDQmhjM05sY25SUWNtbHVZMmx3WVd4SlpDaDBaVzVoYm5SSlpDazdYRzRnSUNBZ1lYTnpaWEowVkhKaGJuTmhZM1JwYjI1TWIyTmhiRUpwYm1ScGJtY29YQ0p6WlhSVVpXNWhiblJjSWl3Z2IzQjBhVzl1Y3lrN1hHNGdJQ0FnWVhkaGFYUWdkR2hwY3k1amJHbGxiblF1Y1hWbGNua29YQ0pUUlV4RlExUWdjMlYwWDJOdmJtWnBaeWdrTVN3Z0pESXNJSFJ5ZFdVcFhDSXNJRnRjYmlBZ0lDQWdJRkpNVTE5VFJWUlVTVTVIVXk1VVpXNWhiblFzWEc0Z0lDQWdJQ0IwWlc1aGJuUkpaQ3hjYmlBZ0lDQmRLVHRjYmlBZ0lDQnNiMmN1ZG1WeVltOXpaU2hjSWtKdmRXNWtJRkpNVXlCMFpXNWhiblFnS0hSeVlXNXpZV04wYVc5dUxXeHZZMkZzS1Z3aUtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1EyeGxZWEp6SUhSb1pTQmhZM1JwYm1jZ2NISnBibU5wY0dGc0lHWnZjaUIwYUdVZ1kzVnljbVZ1ZENCMGNtRnVjMkZqZEdsdmJpNWNiaUFnSUNvZ1FITjFiVzFoY25rZ1VtVnpaWFJ6SUdCaGNIQXVjSEpwYm1OcGNHRnNYMmxrWUNCMGJ5QjBhR1VnWlcxd2RIa2djM1J5YVc1bklIZHBkR2hjYmlBZ0lDb2dZRk5GVEVWRFZDQnpaWFJmWTI5dVptbG5LQ1F4TENBa01pd2dkSEoxWlNsZ0xDQnpieUIwYUdVZ1kyeGxZWElnYVhNZ1lXeHpieUIwY21GdWMyRmpkR2x2Ymkxc2IyTmhiRnh1SUNBZ0tpQmhibVFnYm1WMlpYSWdjbVZoWTJobGN5QjBhR1VnY0c5dmJHVmtJSE5sYzNOcGIyNHVJRUVnYzJWemMybHZiaTEzYVdSbElHTnNaV0Z5SUhKbGNYVmxjM1FnWm1GcGJITmNiaUFnSUNvZ2QybDBhQ0JnVm1Gc2FXUmhkR2x2YmtWeWNtOXlZQ0JpWldadmNtVWdZVzU1SUZOUlRDQnBjeUJ6Wlc1MExseHVJQ0FnS2lCQWNHRnlZVzBnYjNCMGFXOXVjeUJQYm14NUlHQnNiMk5oYkRvZ2RISjFaV0FnS0hSb1pTQmtaV1poZFd4MEtTQnBjeUJoWTJObGNIUmxaRHNnZEdobElHTnNaV0Z5SUdselhHNGdJQ0FxSUdGc2QyRjVjeUIwY21GdWMyRmpkR2x2Ymkxc2IyTmhiQ0JoYm1RZ1pHOWxjeUJ1YjNRZ2NtVmhZMmdnZEdobElIQnZiMnhsWkNCelpYTnphVzl1TGx4dUlDQWdLaUJBY21WMGRYSnVjeUI3VUhKdmJXbHpaVHgyYjJsa1BuMGdVbVZ6YjJ4MlpYTWdiMjVqWlNCMGFHVWdjMlYwZEdsdVp5QnBjeUJqYkdWaGNtVmtJSFJ5WVc1ellXTjBhVzl1TFd4dlkyRnNiSGt1WEc0Z0lDQXFJRUIwYUhKdmQzTWdlMVpoYkdsa1lYUnBiMjVGY25KdmNuMGdWMmhsYmlCaElITmxjM05wYjI0dGQybGtaU0JqYkdWaGNpQnBjeUJ5WlhGMVpYTjBaV1F1WEc0Z0lDQXFMMXh1SUNCaGMzbHVZeUJqYkdWaGNsQnlhVzVqYVhCaGJDaGNiaUFnSUNCdmNIUnBiMjV6T2lCU2JITkNhVzVrYVc1blQzQjBhVzl1Y3lBOUlIdDlMRnh1SUNBZ0lDNHVMbUZ5WjNNNklHRnVlVnRkWEc0Z0lDazZJRkJ5YjIxcGMyVThkbTlwWkQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSHNnYkc5bklIMGdQU0FvWVhkaGFYUWdkR2hwY3k1c2IyZERkSGdvWVhKbmN5d2dYQ0pqYkdWaGNsQnlhVzVqYVhCaGJGd2lMQ0IwY25WbEtTa3VabTl5S0Z4dUlDQWdJQ0FnZEdocGN5NWpiR1ZoY2xCeWFXNWphWEJoYkZ4dUlDQWdJQ2s3WEc0Z0lDQWdZWE56WlhKMFZISmhibk5oWTNScGIyNU1iMk5oYkVKcGJtUnBibWNvWENKamJHVmhjbEJ5YVc1amFYQmhiRndpTENCdmNIUnBiMjV6S1R0Y2JpQWdJQ0JoZDJGcGRDQjBhR2x6TG1Oc2FXVnVkQzV4ZFdWeWVTaGNJbE5GVEVWRFZDQnpaWFJmWTI5dVptbG5LQ1F4TENBa01pd2dkSEoxWlNsY0lpd2dXMXh1SUNBZ0lDQWdVa3hUWDFORlZGUkpUa2RUTGxCeWFXNWphWEJoYkN4Y2JpQWdJQ0FnSUZ3aVhDSXNYRzRnSUNBZ1hTazdYRzRnSUNBZ2JHOW5MblpsY21KdmMyVW9YQ0pEYkdWaGNtVmtJRkpNVXlCd2NtbHVZMmx3WVd3Z0tIUnlZVzV6WVdOMGFXOXVMV3h2WTJGc0tWd2lLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdVbVYwZFhKdWN5QjBhR1VnY0hKcGJtTnBjR0ZzSUdOMWNuSmxiblJzZVNCaWIzVnVaQ0IwYnlCMGFHVWdZMjl1Ym1WamRHbHZiaTVjYmlBZ0lDb3ZYRzRnSUdGemVXNWpJR04xY25KbGJuUlFjbWx1WTJsd1lXd29MaTR1WVhKbmN6b2dZVzU1VzEwcE9pQlFjbTl0YVhObFBITjBjbWx1WnlCOElHNTFiR3crSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR3h2WnlCOUlEMGdLR0YzWVdsMElIUm9hWE11Ykc5blEzUjRLR0Z5WjNNc0lGd2lZM1Z5Y21WdWRGQnlhVzVqYVhCaGJGd2lMQ0IwY25WbEtTa3VabTl5S0Z4dUlDQWdJQ0FnZEdocGN5NWpkWEp5Wlc1MFVISnBibU5wY0dGc1hHNGdJQ0FnS1R0Y2JpQWdJQ0JzYjJjdWRtVnlZbTl6WlNoY0lsSmxZV1JwYm1jZ1kzVnljbVZ1ZENCU1RGTWdjSEpwYm1OcGNHRnNYQ0lwTzF4dUlDQWdJR052Ym5OMElISmxjM1ZzZENBOUlHRjNZV2wwSUhSb2FYTXVZMnhwWlc1MExuRjFaWEo1S0Z4dUlDQWdJQ0FnWENKVFJVeEZRMVFnWVhCd1gzSnNjMTl3Y21sdVkybHdZV3hmYVdRb0tTQkJVeUJ3Y21sdVkybHdZV3hmYVdSY0lseHVJQ0FnSUNrN1hHNGdJQ0FnWTI5dWMzUWdjbTkzSUQwZ0tISmxjM1ZzZEM1eWIzZHpQeTViTUYwZ1B6OGdlMzBwSUdGeklIc2djSEpwYm1OcGNHRnNYMmxrUHpvZ2MzUnlhVzVuSUh3Z2JuVnNiQ0I5TzF4dUlDQWdJSEpsZEhWeWJpQnliM2N1Y0hKcGJtTnBjR0ZzWDJsa0lEOC9JRzUxYkd3N1hHNGdJSDFjYm4xY2JseHVMeW9xWEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnVW5WdWN5QmhJR05oYkd4aVlXTnJJR2x1YzJsa1pTQmhJSFJ5WVc1ellXTjBhVzl1SUhkcGRHZ2dkR2hsSUZKTVV5QndjbWx1WTJsd1lXd2dZbTkxYm1RdVhHNGdLaUJBYzNWdGJXRnllU0JVYUdVZ1pYaGxZM1YwYjNJZ2JYVnpkQ0JpWlNCaElITnBibWRzWlNCamIyNXVaV04wYVc5dUlDaGdjR2N1UTJ4cFpXNTBZQ2tzSUc1dmRDQmhJSEJ2YjJ3c1hHNGdLaUJpWldOaGRYTmxJSFJvWlNCMGNtRnVjMkZqZEdsdmJpQmhibVFnZEdobElHQmhjSEF1Y0hKcGJtTnBjR0ZzWDJsa1lDQnpaWFIwYVc1bklHRnlaVnh1SUNvZ1kyOXVibVZqZEdsdmJpMXpZMjl3WldRdUlFSjVJR1JsWm1GMWJIUWdkR2hsSUhSeVlXNXpZV04wYVc5dUlHbHpJSEp2Ykd4bFpDQmlZV05yTENCclpXVndhVzVuWEc0Z0tpQnBiblJsWjNKaGRHbHZiaTEwWlhOMElHMTFkR0YwYVc5dWN5QnBjMjlzWVhSbFpEc2djR0Z6Y3lCZ2V5QmpiMjF0YVhRNklIUnlkV1VnZldBZ1ptOXlJSEpsWVd3Z2QzSnBkR1Z6TGx4dUlDb3ZYRzVsZUhCdmNuUWdZWE41Ym1NZ1puVnVZM1JwYjI0Z2NuVnVRWE5RY21sdVkybHdZV3c4VkQ0b1hHNGdJR1Y0WldOMWRHOXlPaUJTYkhOUmRXVnllVVY0WldOMWRHOXlMRnh1SUNCd2NtbHVZMmx3WVd4SlpEb2djM1J5YVc1bkxGeHVJQ0J5ZFc0NklDaGxlR1ZqZFhSdmNqb2dVbXh6VVhWbGNubEZlR1ZqZFhSdmNpa2dQVDRnVUhKdmJXbHpaVHhVUGl4Y2JpQWdiM0IwYVc5dWN6b2dVblZ1UVhOUWNtbHVZMmx3WVd4UGNIUnBiMjV6SUQwZ2UzMWNiaWs2SUZCeWIyMXBjMlU4VkQ0Z2UxeHVJQ0JoYzNObGNuUlFjbWx1WTJsd1lXeEpaQ2h3Y21sdVkybHdZV3hKWkNrN1hHNGdJR0YzWVdsMElHVjRaV04xZEc5eUxuRjFaWEo1S0Z3aVFrVkhTVTVjSWlrN1hHNGdJSFJ5ZVNCN1hHNGdJQ0FnWVhkaGFYUWdaWGhsWTNWMGIzSXVjWFZsY25rb1hDSlRSVXhGUTFRZ2MyVjBYMk52Ym1acFp5Z2tNU3dnSkRJc0lIUnlkV1VwWENJc0lGdGNiaUFnSUNBZ0lGSk1VMTlUUlZSVVNVNUhVeTVRY21sdVkybHdZV3dzWEc0Z0lDQWdJQ0J3Y21sdVkybHdZV3hKWkN4Y2JpQWdJQ0JkS1R0Y2JpQWdJQ0JqYjI1emRDQnlaWE4xYkhRZ1BTQmhkMkZwZENCeWRXNG9aWGhsWTNWMGIzSXBPMXh1SUNBZ0lHRjNZV2wwSUdWNFpXTjFkRzl5TG5GMVpYSjVLRzl3ZEdsdmJuTXVZMjl0YldsMElEOGdYQ0pEVDAxTlNWUmNJaUE2SUZ3aVVrOU1URUpCUTB0Y0lpazdYRzRnSUNBZ2NtVjBkWEp1SUhKbGMzVnNkRHRjYmlBZ2ZTQmpZWFJqYUNBb1pYSnliM0lwSUh0Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ1lYZGhhWFFnWlhobFkzVjBiM0l1Y1hWbGNua29YQ0pTVDB4TVFrRkRTMXdpS1R0Y2JpQWdJQ0I5SUdOaGRHTm9JSHRjYmlBZ0lDQWdJQzh2SUhCeVpYTmxjblpsSUhSb1pTQnZjbWxuYVc1aGJDQm1ZV2xzZFhKbFhHNGdJQ0FnZlZ4dUlDQWdJSFJvY205M0lHVnljbTl5TzF4dUlDQjlYRzU5WEc0aVhYMD0iXX0=
|
|
@@ -75,5 +75,5 @@ exports.RLS_PROTECTED_TABLES = [
|
|
|
75
75
|
"credentials",
|
|
76
76
|
"secrets",
|
|
77
77
|
];
|
|
78
|
-
//# sourceMappingURL=
|
|
79
|
-
//# sourceMappingURL=rls.constants.cjs.map
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmxzLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uYW1lc3BhY2VzL3Jscy9ybHMuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUg7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLElBQUksRUFBRSxnQkFBZ0I7SUFDdEIsS0FBSyxFQUFFLGlCQUFpQjtJQUN4QixLQUFLLEVBQUUsaUJBQWlCO0NBQ2hCLENBQUM7QUFFWDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLFNBQVMsRUFBRSxrQkFBa0I7SUFDN0IsTUFBTSxFQUFFLGVBQWU7Q0FDZixDQUFDO0FBRVg7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixNQUFNLEVBQUUsa0JBQWtCO0lBQzFCLE1BQU0sRUFBRSxrQkFBa0I7SUFDMUIsS0FBSyxFQUFFLGlCQUFpQjtDQUNoQixDQUFDO0FBRVg7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FDbkMsbUdBQW1HLENBQUM7QUFFdEc7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2xDLFNBQVM7SUFDVCxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLE9BQU87SUFDUCxRQUFRO0lBQ1IsWUFBWTtJQUNaLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixPQUFPO0lBQ1Asa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLFNBQVM7Q0FDRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9uYW1lc3BhY2VzL3Jscy9jb25zdGFudHNcbiAqIEBzdW1tYXJ5IFJvdy1sZXZlbC1zZWN1cml0eSBjb25zdGFudHMgZm9yIHRoZSBuYW1lc3BhY2UgYXV0aG9yaXphdGlvbiBzY2hlbWEuXG4gKiBAZGVzY3JpcHRpb24gQ2Fub25pY2FsIHBlcm1pc3Npb24ga2V5cywgc2Vzc2lvbiBzZXR0aW5ncywgZGVmYXVsdCByb2xlIGtleXMsIGFuZFxuICogdGhlIHRhYmxlcyBjb3ZlcmVkIGJ5IHRoZSBuYW1lc3BhY2UgUkxTIHRlbXBsYXRlLlxuICovXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFBlcm1pc3Npb24ga2V5cyBjb25zdW1lZCBieSB0aGUgU1FMIFJMUyBwb2xpY2llcy5cbiAqIEBzdW1tYXJ5IEEgbmFtZXNwYWNlIHJlYWRlciBjYW4gb25seSByZWFkLCBhIHdyaXRlciBjYW4gYWxzbyBjcmVhdGUvdXBkYXRlL2RlbGV0ZVxuICogbm9uLWFkbWluaXN0cmF0aXZlIHJvd3MsIGFuZCBhbiBhZG1pbiBjYW4gZG8gZXZlcnl0aGluZyBpbiB0aGUgbmFtZXNwYWNlLlxuICovXG5leHBvcnQgY29uc3QgUkxTX1BFUk1JU1NJT05fS0VZUyA9IHtcbiAgUmVhZDogXCJuYW1lc3BhY2UucmVhZFwiLFxuICBXcml0ZTogXCJuYW1lc3BhY2Uud3JpdGVcIixcbiAgQWRtaW46IFwibmFtZXNwYWNlLmFkbWluXCIsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBTZXNzaW9uIHNldHRpbmdzIHJlYWQgYnkgdGhlIFJMUyBwb2xpY2llcy5cbiAqIEBzdW1tYXJ5IFRoZSBhcHBsaWNhdGlvbiBtdXN0IHNldCBgYXBwLnByaW5jaXBhbF9pZGAgZm9yIGV2ZXJ5IHJlcXVlc3Qtc2NvcGVkXG4gKiBkYXRhYmFzZSBzZXNzaW9uIG9yIHRyYW5zYWN0aW9uIGJlZm9yZSBxdWVyeWluZyBuYW1lc3BhY2UgdGFibGVzLlxuICovXG5leHBvcnQgY29uc3QgUkxTX1NFVFRJTkdTID0ge1xuICBQcmluY2lwYWw6IFwiYXBwLnByaW5jaXBhbF9pZFwiLFxuICBUZW5hbnQ6IFwiYXBwLnRlbmFudF9pZFwiLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVmYXVsdCByb2xlIGtleXMgZm9yIHRoZSByZWFkZXIvd3JpdGVyL2FkbWluIG1hdHJpeC5cbiAqIEBzdW1tYXJ5IEJvb3RzdHJhcHBpbmcgYSB0ZW5hbnQgd2l0aCB0aGVzZSBrZXlzIGdpdmVzIGNvbnN1bWVycyBhIHN0YWJsZVxuICogdGhyZWUtdGllciBuYW1lc3BhY2Ugcm9sZSBtb2RlbCB3aXRob3V0IGNvdXBsaW5nIHRoZW0gdG8gY3VzdG9tIHJvbGUgbmFtZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBSTFNfUk9MRV9LRVlTID0ge1xuICBSZWFkZXI6IFwibmFtZXNwYWNlLXJlYWRlclwiLFxuICBXcml0ZXI6IFwibmFtZXNwYWNlLXdyaXRlclwiLFxuICBBZG1pbjogXCJuYW1lc3BhY2UtYWRtaW5cIixcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEJvb3QtdGltZSBwcml2aWxlZ2UgcHJvYmUgZm9yIHRoZSBSTFMgYFNFQ1VSSVRZIERFRklORVJgIGhlbHBlciBmdW5jdGlvbnMuXG4gKiBAc3VtbWFyeSBSZWFkcyB0aGUgY3VycmVudCByb2xlJ3MgYHJvbHN1cGVyYCBhbmQgYHJvbGJ5cGFzc3Jsc2AgZmxhZ3MgZnJvbVxuICogYHBnX3JvbGVzYC4gYFJsc0Jvb3RzdHJhcFNlcnZpY2UuYXNzZXJ0RnVuY3Rpb25Pd25lclByaXZpbGVnZXMoKWAgZXhlY3V0ZXNcbiAqIHRoaXMgcXVlcnkgYmVmb3JlIGFwcGx5aW5nIGFueSBSTFMgRERMIGFuZCByZWZ1c2VzIHRvIHByb2NlZWQgdW5sZXNzIHRoZVxuICogZXhlY3V0b3Igcm9sZSBpcyBgU1VQRVJVU0VSYCBvciBgQllQQVNTUkxTYCwgYmVjYXVzZSBhIGBTRUNVUklUWSBERUZJTkVSYFxuICogb3duZXIgdGhhdCBkb2VzIG5vdCBieXBhc3MgUkxTIG1ha2VzIGV2ZXJ5IHBvbGljeSBldmFsdWF0aW9uIHJlY3Vyc2UgdW5kZXJcbiAqIGBGT1JDRSBST1cgTEVWRUwgU0VDVVJJVFlgLlxuICovXG5leHBvcnQgY29uc3QgUkxTX0ZVTkNUSU9OX09XTkVSX1FVRVJZID1cbiAgXCJTRUxFQ1QgY3VycmVudF91c2VyIEFTIHJvbG5hbWUsIHJvbHN1cGVyLCByb2xieXBhc3NybHMgRlJPTSBwZ19yb2xlcyBXSEVSRSByb2xuYW1lID0gY3VycmVudF91c2VyXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFRhYmxlcyBwcm90ZWN0ZWQgYnkgdGhlIG5hbWVzcGFjZSBSTFMgdGVtcGxhdGUuXG4gKiBAc3VtbWFyeSBJbmNsdWRlcyB0aGUgYXV0aG9yaXphdGlvbiBtYWNoaW5lcnksIG9yZyBwcm9maWxlcywgcHJvdGVjdGVkXG4gKiByZXNvdXJjZXMsIGFuZCB0aGUgc2xpY2UtMSBjcmVkZW50aWFsL3NlY3JldCByZWNvcmRzLlxuICovXG5leHBvcnQgY29uc3QgUkxTX1BST1RFQ1RFRF9UQUJMRVMgPSBbXG4gIFwidGVuYW50c1wiLFxuICBcIm9yZ191bml0c1wiLFxuICBcIm9yZ191bml0X2Nsb3N1cmVcIixcbiAgXCJ1c2Vyc1wiLFxuICBcImdyb3Vwc1wiLFxuICBcInByaW5jaXBhbHNcIixcbiAgXCJ0ZW5hbnRfbWVtYmVyc2hpcHNcIixcbiAgXCJvcmdfdW5pdF9tZW1iZXJzaGlwc1wiLFxuICBcImdyb3VwX21lbWJlcnNoaXBzXCIsXG4gIFwicGVybWlzc2lvbnNcIixcbiAgXCJyb2xlc1wiLFxuICBcInJvbGVfcGVybWlzc2lvbnNcIixcbiAgXCJyb2xlX2Fzc2lnbm1lbnRzXCIsXG4gIFwiaW5oZXJpdGFuY2VfYmxvY2tzXCIsXG4gIFwicHJvdGVjdGVkX3Jlc291cmNlc1wiLFxuICBcInJlc291cmNlX2dyYW50c1wiLFxuICBcImVmZmVjdGl2ZV9wZXJtaXNzaW9uc1wiLFxuICBcInN0b3JhZ2VfYmluZGluZ3NcIixcbiAgXCJ0ZW5hbnRfcHJvZmlsZXNcIixcbiAgXCJvcmdfdW5pdF9wcm9maWxlc1wiLFxuICBcImNyZWRlbnRpYWxzXCIsXG4gIFwic2VjcmV0c1wiLFxuXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgUmxzUHJvdGVjdGVkVGFibGUgPSAodHlwZW9mIFJMU19QUk9URUNURURfVEFCTEVTKVtudW1iZXJdO1xuIl19
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmxzLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJscy5jb25zdGFudHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7O0dBS0c7QUFDSDs7OztHQUlHO0FBQ1UsUUFBQSxtQkFBbUIsR0FBRztJQUMvQixJQUFJLEVBQUUsZ0JBQWdCO0lBQ3RCLEtBQUssRUFBRSxpQkFBaUI7SUFDeEIsS0FBSyxFQUFFLGlCQUFpQjtDQUMzQixDQUFDO0FBQ0Y7Ozs7R0FJRztBQUNVLFFBQUEsWUFBWSxHQUFHO0lBQ3hCLFNBQVMsRUFBRSxrQkFBa0I7SUFDN0IsTUFBTSxFQUFFLGVBQWU7Q0FDMUIsQ0FBQztBQUNGOzs7O0dBSUc7QUFDVSxRQUFBLGFBQWEsR0FBRztJQUN6QixNQUFNLEVBQUUsa0JBQWtCO0lBQzFCLE1BQU0sRUFBRSxrQkFBa0I7SUFDMUIsS0FBSyxFQUFFLGlCQUFpQjtDQUMzQixDQUFDO0FBQ0Y7Ozs7Ozs7O0dBUUc7QUFDVSxRQUFBLHdCQUF3QixHQUFHLG1HQUFtRyxDQUFDO0FBQzVJOzs7O0dBSUc7QUFDVSxRQUFBLG9CQUFvQixHQUFHO0lBQ2hDLFNBQVM7SUFDVCxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLE9BQU87SUFDUCxRQUFRO0lBQ1IsWUFBWTtJQUNaLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixPQUFPO0lBQ1Asa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLFNBQVM7Q0FDWixDQUFDO0FBQ0YsMCtKQUEwK0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL25hbWVzcGFjZXMvcmxzL2NvbnN0YW50c1xuICogQHN1bW1hcnkgUm93LWxldmVsLXNlY3VyaXR5IGNvbnN0YW50cyBmb3IgdGhlIG5hbWVzcGFjZSBhdXRob3JpemF0aW9uIHNjaGVtYS5cbiAqIEBkZXNjcmlwdGlvbiBDYW5vbmljYWwgcGVybWlzc2lvbiBrZXlzLCBzZXNzaW9uIHNldHRpbmdzLCBkZWZhdWx0IHJvbGUga2V5cywgYW5kXG4gKiB0aGUgdGFibGVzIGNvdmVyZWQgYnkgdGhlIG5hbWVzcGFjZSBSTFMgdGVtcGxhdGUuXG4gKi9cbi8qKlxuICogQGRlc2NyaXB0aW9uIFBlcm1pc3Npb24ga2V5cyBjb25zdW1lZCBieSB0aGUgU1FMIFJMUyBwb2xpY2llcy5cbiAqIEBzdW1tYXJ5IEEgbmFtZXNwYWNlIHJlYWRlciBjYW4gb25seSByZWFkLCBhIHdyaXRlciBjYW4gYWxzbyBjcmVhdGUvdXBkYXRlL2RlbGV0ZVxuICogbm9uLWFkbWluaXN0cmF0aXZlIHJvd3MsIGFuZCBhbiBhZG1pbiBjYW4gZG8gZXZlcnl0aGluZyBpbiB0aGUgbmFtZXNwYWNlLlxuICovXG5leHBvcnQgY29uc3QgUkxTX1BFUk1JU1NJT05fS0VZUyA9IHtcbiAgICBSZWFkOiBcIm5hbWVzcGFjZS5yZWFkXCIsXG4gICAgV3JpdGU6IFwibmFtZXNwYWNlLndyaXRlXCIsXG4gICAgQWRtaW46IFwibmFtZXNwYWNlLmFkbWluXCIsXG59O1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gU2Vzc2lvbiBzZXR0aW5ncyByZWFkIGJ5IHRoZSBSTFMgcG9saWNpZXMuXG4gKiBAc3VtbWFyeSBUaGUgYXBwbGljYXRpb24gbXVzdCBzZXQgYGFwcC5wcmluY2lwYWxfaWRgIGZvciBldmVyeSByZXF1ZXN0LXNjb3BlZFxuICogZGF0YWJhc2Ugc2Vzc2lvbiBvciB0cmFuc2FjdGlvbiBiZWZvcmUgcXVlcnlpbmcgbmFtZXNwYWNlIHRhYmxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IFJMU19TRVRUSU5HUyA9IHtcbiAgICBQcmluY2lwYWw6IFwiYXBwLnByaW5jaXBhbF9pZFwiLFxuICAgIFRlbmFudDogXCJhcHAudGVuYW50X2lkXCIsXG59O1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVmYXVsdCByb2xlIGtleXMgZm9yIHRoZSByZWFkZXIvd3JpdGVyL2FkbWluIG1hdHJpeC5cbiAqIEBzdW1tYXJ5IEJvb3RzdHJhcHBpbmcgYSB0ZW5hbnQgd2l0aCB0aGVzZSBrZXlzIGdpdmVzIGNvbnN1bWVycyBhIHN0YWJsZVxuICogdGhyZWUtdGllciBuYW1lc3BhY2Ugcm9sZSBtb2RlbCB3aXRob3V0IGNvdXBsaW5nIHRoZW0gdG8gY3VzdG9tIHJvbGUgbmFtZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBSTFNfUk9MRV9LRVlTID0ge1xuICAgIFJlYWRlcjogXCJuYW1lc3BhY2UtcmVhZGVyXCIsXG4gICAgV3JpdGVyOiBcIm5hbWVzcGFjZS13cml0ZXJcIixcbiAgICBBZG1pbjogXCJuYW1lc3BhY2UtYWRtaW5cIixcbn07XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBCb290LXRpbWUgcHJpdmlsZWdlIHByb2JlIGZvciB0aGUgUkxTIGBTRUNVUklUWSBERUZJTkVSYCBoZWxwZXIgZnVuY3Rpb25zLlxuICogQHN1bW1hcnkgUmVhZHMgdGhlIGN1cnJlbnQgcm9sZSdzIGByb2xzdXBlcmAgYW5kIGByb2xieXBhc3NybHNgIGZsYWdzIGZyb21cbiAqIGBwZ19yb2xlc2AuIGBSbHNCb290c3RyYXBTZXJ2aWNlLmFzc2VydEZ1bmN0aW9uT3duZXJQcml2aWxlZ2VzKClgIGV4ZWN1dGVzXG4gKiB0aGlzIHF1ZXJ5IGJlZm9yZSBhcHBseWluZyBhbnkgUkxTIERETCBhbmQgcmVmdXNlcyB0byBwcm9jZWVkIHVubGVzcyB0aGVcbiAqIGV4ZWN1dG9yIHJvbGUgaXMgYFNVUEVSVVNFUmAgb3IgYEJZUEFTU1JMU2AsIGJlY2F1c2UgYSBgU0VDVVJJVFkgREVGSU5FUmBcbiAqIG93bmVyIHRoYXQgZG9lcyBub3QgYnlwYXNzIFJMUyBtYWtlcyBldmVyeSBwb2xpY3kgZXZhbHVhdGlvbiByZWN1cnNlIHVuZGVyXG4gKiBgRk9SQ0UgUk9XIExFVkVMIFNFQ1VSSVRZYC5cbiAqL1xuZXhwb3J0IGNvbnN0IFJMU19GVU5DVElPTl9PV05FUl9RVUVSWSA9IFwiU0VMRUNUIGN1cnJlbnRfdXNlciBBUyByb2xuYW1lLCByb2xzdXBlciwgcm9sYnlwYXNzcmxzIEZST00gcGdfcm9sZXMgV0hFUkUgcm9sbmFtZSA9IGN1cnJlbnRfdXNlclwiO1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gVGFibGVzIHByb3RlY3RlZCBieSB0aGUgbmFtZXNwYWNlIFJMUyB0ZW1wbGF0ZS5cbiAqIEBzdW1tYXJ5IEluY2x1ZGVzIHRoZSBhdXRob3JpemF0aW9uIG1hY2hpbmVyeSwgb3JnIHByb2ZpbGVzLCBwcm90ZWN0ZWRcbiAqIHJlc291cmNlcywgYW5kIHRoZSBzbGljZS0xIGNyZWRlbnRpYWwvc2VjcmV0IHJlY29yZHMuXG4gKi9cbmV4cG9ydCBjb25zdCBSTFNfUFJPVEVDVEVEX1RBQkxFUyA9IFtcbiAgICBcInRlbmFudHNcIixcbiAgICBcIm9yZ191bml0c1wiLFxuICAgIFwib3JnX3VuaXRfY2xvc3VyZVwiLFxuICAgIFwidXNlcnNcIixcbiAgICBcImdyb3Vwc1wiLFxuICAgIFwicHJpbmNpcGFsc1wiLFxuICAgIFwidGVuYW50X21lbWJlcnNoaXBzXCIsXG4gICAgXCJvcmdfdW5pdF9tZW1iZXJzaGlwc1wiLFxuICAgIFwiZ3JvdXBfbWVtYmVyc2hpcHNcIixcbiAgICBcInBlcm1pc3Npb25zXCIsXG4gICAgXCJyb2xlc1wiLFxuICAgIFwicm9sZV9wZXJtaXNzaW9uc1wiLFxuICAgIFwicm9sZV9hc3NpZ25tZW50c1wiLFxuICAgIFwiaW5oZXJpdGFuY2VfYmxvY2tzXCIsXG4gICAgXCJwcm90ZWN0ZWRfcmVzb3VyY2VzXCIsXG4gICAgXCJyZXNvdXJjZV9ncmFudHNcIixcbiAgICBcImVmZmVjdGl2ZV9wZXJtaXNzaW9uc1wiLFxuICAgIFwic3RvcmFnZV9iaW5kaW5nc1wiLFxuICAgIFwidGVuYW50X3Byb2ZpbGVzXCIsXG4gICAgXCJvcmdfdW5pdF9wcm9maWxlc1wiLFxuICAgIFwiY3JlZGVudGlhbHNcIixcbiAgICBcInNlY3JldHNcIixcbl07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2ljbXh6TG1OdmJuTjBZVzUwY3k1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1TDNOeVl5OXVZVzFsYzNCaFkyVnpMM0pzY3k5eWJITXVZMjl1YzNSaGJuUnpMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk96czdPenRIUVV0SE8wRkJSVWc3T3pzN1IwRkpSenRCUVVOSUxFMUJRVTBzUTBGQlF5eE5RVUZOTEcxQ1FVRnRRaXhIUVVGSE8wbEJRMnBETEVsQlFVa3NSVUZCUlN4blFrRkJaMEk3U1VGRGRFSXNTMEZCU3l4RlFVRkZMR2xDUVVGcFFqdEpRVU40UWl4TFFVRkxMRVZCUVVVc2FVSkJRV2xDTzBOQlEyaENMRU5CUVVNN1FVRkZXRHM3T3p0SFFVbEhPMEZCUTBnc1RVRkJUU3hEUVVGRExFMUJRVTBzV1VGQldTeEhRVUZITzBsQlF6RkNMRk5CUVZNc1JVRkJSU3hyUWtGQmEwSTdTVUZETjBJc1RVRkJUU3hGUVVGRkxHVkJRV1U3UTBGRFppeERRVUZETzBGQlJWZzdPenM3UjBGSlJ6dEJRVU5JTEUxQlFVMHNRMEZCUXl4TlFVRk5MR0ZCUVdFc1IwRkJSenRKUVVNelFpeE5RVUZOTEVWQlFVVXNhMEpCUVd0Q08wbEJRekZDTEUxQlFVMHNSVUZCUlN4clFrRkJhMEk3U1VGRE1VSXNTMEZCU3l4RlFVRkZMR2xDUVVGcFFqdERRVU5vUWl4RFFVRkRPMEZCUlZnN096czdPenM3TzBkQlVVYzdRVUZEU0N4TlFVRk5MRU5CUVVNc1RVRkJUU3gzUWtGQmQwSXNSMEZEYmtNc2JVZEJRVzFITEVOQlFVTTdRVUZGZEVjN096czdSMEZKUnp0QlFVTklMRTFCUVUwc1EwRkJReXhOUVVGTkxHOUNRVUZ2UWl4SFFVRkhPMGxCUTJ4RExGTkJRVk03U1VGRFZDeFhRVUZYTzBsQlExZ3NhMEpCUVd0Q08wbEJRMnhDTEU5QlFVODdTVUZEVUN4UlFVRlJPMGxCUTFJc1dVRkJXVHRKUVVOYUxHOUNRVUZ2UWp0SlFVTndRaXh6UWtGQmMwSTdTVUZEZEVJc2JVSkJRVzFDTzBsQlEyNUNMR0ZCUVdFN1NVRkRZaXhQUVVGUE8wbEJRMUFzYTBKQlFXdENPMGxCUTJ4Q0xHdENRVUZyUWp0SlFVTnNRaXh2UWtGQmIwSTdTVUZEY0VJc2NVSkJRWEZDTzBsQlEzSkNMR2xDUVVGcFFqdEpRVU5xUWl4MVFrRkJkVUk3U1VGRGRrSXNhMEpCUVd0Q08wbEJRMnhDTEdsQ1FVRnBRanRKUVVOcVFpeHRRa0ZCYlVJN1NVRkRia0lzWVVGQllUdEpRVU5pTEZOQlFWTTdRMEZEUkN4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvcVhHNGdLaUJBYlc5a2RXeGxJR2x1ZEdWbmNtRjBhVzl1Y3k5dVlXMWxjM0JoWTJWekwzSnNjeTlqYjI1emRHRnVkSE5jYmlBcUlFQnpkVzF0WVhKNUlGSnZkeTFzWlhabGJDMXpaV04xY21sMGVTQmpiMjV6ZEdGdWRITWdabTl5SUhSb1pTQnVZVzFsYzNCaFkyVWdZWFYwYUc5eWFYcGhkR2x2YmlCelkyaGxiV0V1WEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnUTJGdWIyNXBZMkZzSUhCbGNtMXBjM05wYjI0Z2EyVjVjeXdnYzJWemMybHZiaUJ6WlhSMGFXNW5jeXdnWkdWbVlYVnNkQ0J5YjJ4bElHdGxlWE1zSUdGdVpGeHVJQ29nZEdobElIUmhZbXhsY3lCamIzWmxjbVZrSUdKNUlIUm9aU0J1WVcxbGMzQmhZMlVnVWt4VElIUmxiWEJzWVhSbExseHVJQ292WEc1Y2JpOHFLbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRkJsY20xcGMzTnBiMjRnYTJWNWN5QmpiMjV6ZFcxbFpDQmllU0IwYUdVZ1UxRk1JRkpNVXlCd2IyeHBZMmxsY3k1Y2JpQXFJRUJ6ZFcxdFlYSjVJRUVnYm1GdFpYTndZV05sSUhKbFlXUmxjaUJqWVc0Z2IyNXNlU0J5WldGa0xDQmhJSGR5YVhSbGNpQmpZVzRnWVd4emJ5QmpjbVZoZEdVdmRYQmtZWFJsTDJSbGJHVjBaVnh1SUNvZ2JtOXVMV0ZrYldsdWFYTjBjbUYwYVhabElISnZkM01zSUdGdVpDQmhiaUJoWkcxcGJpQmpZVzRnWkc4Z1pYWmxjbmwwYUdsdVp5QnBiaUIwYUdVZ2JtRnRaWE53WVdObExseHVJQ292WEc1bGVIQnZjblFnWTI5dWMzUWdVa3hUWDFCRlVrMUpVMU5KVDA1ZlMwVlpVeUE5SUh0Y2JpQWdVbVZoWkRvZ1hDSnVZVzFsYzNCaFkyVXVjbVZoWkZ3aUxGeHVJQ0JYY21sMFpUb2dYQ0p1WVcxbGMzQmhZMlV1ZDNKcGRHVmNJaXhjYmlBZ1FXUnRhVzQ2SUZ3aWJtRnRaWE53WVdObExtRmtiV2x1WENJc1hHNTlJR0Z6SUdOdmJuTjBPMXh1WEc0dktpcGNiaUFxSUVCa1pYTmpjbWx3ZEdsdmJpQlRaWE56YVc5dUlITmxkSFJwYm1keklISmxZV1FnWW5rZ2RHaGxJRkpNVXlCd2IyeHBZMmxsY3k1Y2JpQXFJRUJ6ZFcxdFlYSjVJRlJvWlNCaGNIQnNhV05oZEdsdmJpQnRkWE4wSUhObGRDQmdZWEJ3TG5CeWFXNWphWEJoYkY5cFpHQWdabTl5SUdWMlpYSjVJSEpsY1hWbGMzUXRjMk52Y0dWa1hHNGdLaUJrWVhSaFltRnpaU0J6WlhOemFXOXVJRzl5SUhSeVlXNXpZV04wYVc5dUlHSmxabTl5WlNCeGRXVnllV2x1WnlCdVlXMWxjM0JoWTJVZ2RHRmliR1Z6TGx4dUlDb3ZYRzVsZUhCdmNuUWdZMjl1YzNRZ1VreFRYMU5GVkZSSlRrZFRJRDBnZTF4dUlDQlFjbWx1WTJsd1lXdzZJRndpWVhCd0xuQnlhVzVqYVhCaGJGOXBaRndpTEZ4dUlDQlVaVzVoYm5RNklGd2lZWEJ3TG5SbGJtRnVkRjlwWkZ3aUxGeHVmU0JoY3lCamIyNXpkRHRjYmx4dUx5b3FYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdSR1ZtWVhWc2RDQnliMnhsSUd0bGVYTWdabTl5SUhSb1pTQnlaV0ZrWlhJdmQzSnBkR1Z5TDJGa2JXbHVJRzFoZEhKcGVDNWNiaUFxSUVCemRXMXRZWEo1SUVKdmIzUnpkSEpoY0hCcGJtY2dZU0IwWlc1aGJuUWdkMmwwYUNCMGFHVnpaU0JyWlhseklHZHBkbVZ6SUdOdmJuTjFiV1Z5Y3lCaElITjBZV0pzWlZ4dUlDb2dkR2h5WldVdGRHbGxjaUJ1WVcxbGMzQmhZMlVnY205c1pTQnRiMlJsYkNCM2FYUm9iM1YwSUdOdmRYQnNhVzVuSUhSb1pXMGdkRzhnWTNWemRHOXRJSEp2YkdVZ2JtRnRaWE11WEc0Z0tpOWNibVY0Y0c5eWRDQmpiMjV6ZENCU1RGTmZVazlNUlY5TFJWbFRJRDBnZTF4dUlDQlNaV0ZrWlhJNklGd2libUZ0WlhOd1lXTmxMWEpsWVdSbGNsd2lMRnh1SUNCWGNtbDBaWEk2SUZ3aWJtRnRaWE53WVdObExYZHlhWFJsY2x3aUxGeHVJQ0JCWkcxcGJqb2dYQ0p1WVcxbGMzQmhZMlV0WVdSdGFXNWNJaXhjYm4wZ1lYTWdZMjl1YzNRN1hHNWNiaThxS2x4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVKdmIzUXRkR2x0WlNCd2NtbDJhV3hsWjJVZ2NISnZZbVVnWm05eUlIUm9aU0JTVEZNZ1lGTkZRMVZTU1ZSWklFUkZSa2xPUlZKZ0lHaGxiSEJsY2lCbWRXNWpkR2x2Ym5NdVhHNGdLaUJBYzNWdGJXRnllU0JTWldGa2N5QjBhR1VnWTNWeWNtVnVkQ0J5YjJ4bEozTWdZSEp2YkhOMWNHVnlZQ0JoYm1RZ1lISnZiR0o1Y0dGemMzSnNjMkFnWm14aFozTWdabkp2YlZ4dUlDb2dZSEJuWDNKdmJHVnpZQzRnWUZKc2MwSnZiM1J6ZEhKaGNGTmxjblpwWTJVdVlYTnpaWEowUm5WdVkzUnBiMjVQZDI1bGNsQnlhWFpwYkdWblpYTW9LV0FnWlhobFkzVjBaWE5jYmlBcUlIUm9hWE1nY1hWbGNua2dZbVZtYjNKbElHRndjR3g1YVc1bklHRnVlU0JTVEZNZ1JFUk1JR0Z1WkNCeVpXWjFjMlZ6SUhSdklIQnliMk5sWldRZ2RXNXNaWE56SUhSb1pWeHVJQ29nWlhobFkzVjBiM0lnY205c1pTQnBjeUJnVTFWUVJWSlZVMFZTWUNCdmNpQmdRbGxRUVZOVFVreFRZQ3dnWW1WallYVnpaU0JoSUdCVFJVTlZVa2xVV1NCRVJVWkpUa1ZTWUZ4dUlDb2diM2R1WlhJZ2RHaGhkQ0JrYjJWeklHNXZkQ0JpZVhCaGMzTWdVa3hUSUcxaGEyVnpJR1YyWlhKNUlIQnZiR2xqZVNCbGRtRnNkV0YwYVc5dUlISmxZM1Z5YzJVZ2RXNWtaWEpjYmlBcUlHQkdUMUpEUlNCU1QxY2dURVZXUlV3Z1UwVkRWVkpKVkZsZ0xseHVJQ292WEc1bGVIQnZjblFnWTI5dWMzUWdVa3hUWDBaVlRrTlVTVTlPWDA5WFRrVlNYMUZWUlZKWklEMWNiaUFnWENKVFJVeEZRMVFnWTNWeWNtVnVkRjkxYzJWeUlFRlRJSEp2Ykc1aGJXVXNJSEp2YkhOMWNHVnlMQ0J5YjJ4aWVYQmhjM055YkhNZ1JsSlBUU0J3WjE5eWIyeGxjeUJYU0VWU1JTQnliMnh1WVcxbElEMGdZM1Z5Y21WdWRGOTFjMlZ5WENJN1hHNWNiaThxS2x4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUZSaFlteGxjeUJ3Y205MFpXTjBaV1FnWW5rZ2RHaGxJRzVoYldWemNHRmpaU0JTVEZNZ2RHVnRjR3hoZEdVdVhHNGdLaUJBYzNWdGJXRnllU0JKYm1Oc2RXUmxjeUIwYUdVZ1lYVjBhRzl5YVhwaGRHbHZiaUJ0WVdOb2FXNWxjbmtzSUc5eVp5QndjbTltYVd4bGN5d2djSEp2ZEdWamRHVmtYRzRnS2lCeVpYTnZkWEpqWlhNc0lHRnVaQ0IwYUdVZ2MyeHBZMlV0TVNCamNtVmtaVzUwYVdGc0wzTmxZM0psZENCeVpXTnZjbVJ6TGx4dUlDb3ZYRzVsZUhCdmNuUWdZMjl1YzNRZ1VreFRYMUJTVDFSRlExUkZSRjlVUVVKTVJWTWdQU0JiWEc0Z0lGd2lkR1Z1WVc1MGMxd2lMRnh1SUNCY0ltOXlaMTkxYm1sMGMxd2lMRnh1SUNCY0ltOXlaMTkxYm1sMFgyTnNiM04xY21WY0lpeGNiaUFnWENKMWMyVnljMXdpTEZ4dUlDQmNJbWR5YjNWd2Mxd2lMRnh1SUNCY0luQnlhVzVqYVhCaGJITmNJaXhjYmlBZ1hDSjBaVzVoYm5SZmJXVnRZbVZ5YzJocGNITmNJaXhjYmlBZ1hDSnZjbWRmZFc1cGRGOXRaVzFpWlhKemFHbHdjMXdpTEZ4dUlDQmNJbWR5YjNWd1gyMWxiV0psY25Ob2FYQnpYQ0lzWEc0Z0lGd2ljR1Z5YldsemMybHZibk5jSWl4Y2JpQWdYQ0p5YjJ4bGMxd2lMRnh1SUNCY0luSnZiR1ZmY0dWeWJXbHpjMmx2Ym5OY0lpeGNiaUFnWENKeWIyeGxYMkZ6YzJsbmJtMWxiblJ6WENJc1hHNGdJRndpYVc1b1pYSnBkR0Z1WTJWZllteHZZMnR6WENJc1hHNGdJRndpY0hKdmRHVmpkR1ZrWDNKbGMyOTFjbU5sYzF3aUxGeHVJQ0JjSW5KbGMyOTFjbU5sWDJkeVlXNTBjMXdpTEZ4dUlDQmNJbVZtWm1WamRHbDJaVjl3WlhKdGFYTnphVzl1YzF3aUxGeHVJQ0JjSW5OMGIzSmhaMlZmWW1sdVpHbHVaM05jSWl4Y2JpQWdYQ0owWlc1aGJuUmZjSEp2Wm1sc1pYTmNJaXhjYmlBZ1hDSnZjbWRmZFc1cGRGOXdjbTltYVd4bGMxd2lMRnh1SUNCY0ltTnlaV1JsYm5ScFlXeHpYQ0lzWEc0Z0lGd2ljMlZqY21WMGMxd2lMRnh1WFNCaGN5QmpiMjV6ZER0Y2JseHVaWGh3YjNKMElIUjVjR1VnVW14elVISnZkR1ZqZEdWa1ZHRmliR1VnUFNBb2RIbHdaVzltSUZKTVUxOVFVazlVUlVOVVJVUmZWRUZDVEVWVEtWdHVkVzFpWlhKZE8xeHVJbDE5Il19
|