@decaf-ts/integrations 0.14.2 → 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 +2 -2
- 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 +2 -2
- 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 +1 -1
- 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 +1 -1
- 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/package.json +18 -1
- 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/aws/index.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/sftp/ssh2/index.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/aws/index.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/sftp/ssh2/index.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
|
@@ -284,5 +284,5 @@ class GoogleSheetsService extends index_js_1.HttpApiService {
|
|
|
284
284
|
}
|
|
285
285
|
}
|
|
286
286
|
exports.GoogleSheetsService = GoogleSheetsService;
|
|
287
|
-
//# sourceMappingURL=GoogleSheetsService.js.map
|
|
288
|
-
//# sourceMappingURL=GoogleSheetsService.cjs.map
|
|
287
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR29vZ2xlU2hlZXRzU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pby9nb29nbGUtc2hlZXRzL0dvb2dsZVNoZWV0c1NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQUNILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLDRCQUF1QjtBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSwyQ0FBc0M7QUFDckUsT0FBTyxFQUNMLGNBQWMsRUFFZCxTQUFTLEdBQ1YscUNBQTBCO0FBd0QzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Qkc7QUFDSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsY0FBeUM7SUFBbEY7O1FBQ0U7O1dBRUc7UUFDZ0IsZ0JBQVcsR0FBRyxlQUFlLENBQUM7SUFtUm5ELENBQUM7SUFqUkM7Ozs7T0FJRztJQUNPLGNBQWM7UUFDdEIsT0FBTywrQ0FBK0MsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNPLFdBQVcsQ0FDbkIsTUFBaUM7UUFFakMsSUFBSSxNQUFNLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNyRSxJQUFJLE1BQU0sQ0FBQyxNQUFNO1lBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM5RCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ08scUJBQXFCO1FBRzdCLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDO1FBQzFDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEMsTUFB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QUFTLENBQUMsZUFBZSxFQUFFLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2lvL2dvb2dsZS1zaGVldHMvc2VydmljZVxuICogQHN1bW1hcnkgR29vZ2xlIFNoZWV0cyBBUEkgaW50ZWdyYXRpb24gc2VydmljZSBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyBzcHJlYWRzaGVldCB2YWx1ZXMuXG4gKiBAZGVzY3JpcHRpb24gRXhwb3NlcyB0aGUgR29vZ2xlIFNoZWV0cyB2NCB2YWx1ZXMgQVBJIChgZ2V0YCwgYHVwZGF0ZWAsXG4gKiBgYXBwZW5kYCwgYGNsZWFyYCkgYW5kIHNwcmVhZHNoZWV0IGNyZWF0aW9uIGFzIGFuIHVuZGVjb3JhdGVkXG4gKiBjbGllbnQtYmFzZWQgc2VydmljZSBidWlsdCBvblxuICoge0BsaW5rIEh0dHBBcGlTZXJ2aWNlfS4gQXV0aGVudGljYXRpb24gYWNjZXB0cyBlaXRoZXIgYW4gT0F1dGggdG9rZW5cbiAqIChiZWFyZXIpIG9yIGEgcGxhaW4gQVBJIGtleSAoYFgtR29vZy1BcGktS2V5YCk7IGNvbmZpZ3VyYXRpb24gY29tZXMgZnJvbSBhblxuICogZXhwbGljaXQgYEdvb2dsZVNoZWV0c1NlcnZpY2VDb25maWdgIG9yIHRoZSBgaW8uZ29vZ2xlU2hlZXRzYCBlbnZpcm9ubWVudFxuICogc2xpY2UsIGFuZCBmYWlsdXJlcyBhcmUgbWFwcGVkIHRvIGRlY2FmIGVycm9ycyB2aWEge0BsaW5rIGh0dHBFcnJvcn0uXG4gKi9cbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IElvRW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vZW52aXJvbm1lbnRcIjtcbmltcG9ydCB7IGVudk51bWJlciwgZW52U3RyaW5nIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9lbnZpcm9ubWVudFZhbHVlXCI7XG5pbXBvcnQge1xuICBIdHRwQXBpU2VydmljZSxcbiAgdHlwZSBIdHRwQXBpU2VydmljZUNvbmZpZyxcbiAgaHR0cEVycm9yLFxufSBmcm9tIFwiLi4vLi4vc2hhcmVkL2h0dHBcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29uZmlndXJhdGlvbiBmb3IgdGhlIEdvb2dsZSBTaGVldHMgc2VydmljZVxuICogQHN1bW1hcnkgRXh0ZW5kcyB7QGxpbmsgSHR0cEFwaVNlcnZpY2VDb25maWd9IHdpdGggZWl0aGVyIGFuIE9BdXRoIHRva2VuXG4gKiAocHJlZmVycmVkLCBzZW50IGFzIGEgYmVhcmVyIHRva2VuKSBvciBhbiBBUEkga2V5IChzZW50IGFzXG4gKiBgWC1Hb29nLUFwaS1LZXlgOyByZWFkLW9ubHkgYWdhaW5zdCBwdWJsaWMgc3ByZWFkc2hlZXRzKS4gV2hlbiBvbWl0dGVkLCB0aGVcbiAqIGBpby5nb29nbGVTaGVldHNgIGVudmlyb25tZW50IHNsaWNlIHN1cHBsaWVzIGJvdGggKGFuZCBvcHRpb25hbFxuICogYGJhc2VVcmxgL2B0aW1lb3V0YCkuXG4gKiBAY2F0ZWdvcnkgSU9cbiAqIEBtZW1iZXJPZiBtb2R1bGU6aW50ZWdyYXRpb25zL2lvL2dvb2dsZS1zaGVldHMvc2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdvb2dsZVNoZWV0c1NlcnZpY2VDb25maWcgZXh0ZW5kcyBIdHRwQXBpU2VydmljZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gR29vZ2xlIE9BdXRoIGFjY2VzcyB0b2tlblxuICAgKiBAc3VtbWFyeSBTZW50IGFzIGBBdXRob3JpemF0aW9uOiBCZWFyZXIgPHRva2VuPmA7IHRha2VzIHByZWNlZGVuY2Ugb3ZlciB0aGUgQVBJIGtleS5cbiAgICovXG4gIHRva2VuPzogc3RyaW5nO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdvb2dsZSBBUEkga2V5XG4gICAqIEBzdW1tYXJ5IFNlbnQgYXMgYFgtR29vZy1BcGktS2V5YCB3aGVuIG5vIE9BdXRoIHRva2VuIGlzIGNvbmZpZ3VyZWQuXG4gICAqL1xuICBhcGlLZXk/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFJlc3VsdCBvZiBhIEdvb2dsZSBTaGVldHMgdmFsdWVzIHJlYWQgb3Igd3JpdGVcbiAqIEBzdW1tYXJ5IEVjaG9lcyB0aGUgdGFyZ2V0IGBzcHJlYWRzaGVldElkYCBhbmQgdGhlIEExIGByYW5nZWAgR29vZ2xlXG4gKiBhY3R1YWxseSBzZXJ2ZWQsIHRoZSBgbWFqb3JEaW1lbnNpb25gIG9mIHRoZSBwYXlsb2FkLCBhbmQgdGhlIGdyaWRcbiAqIGB2YWx1ZXNgIGFzIGFuIGFycmF5IG9mIHJvd3MgKGFycmF5cyBvZiBjZWxsIHN0cmluZ3MpLlxuICogQGNhdGVnb3J5IElPXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9ucy9pby9nb29nbGUtc2hlZXRzL3NlcnZpY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHb29nbGVTaGVldHNWYWx1ZXNSZXN1bHQge1xuICBzcHJlYWRzaGVldElkOiBzdHJpbmc7XG4gIHJhbmdlOiBzdHJpbmc7XG4gIG1ham9yRGltZW5zaW9uPzogc3RyaW5nO1xuICB2YWx1ZXM6IHN0cmluZ1tdW107XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIElucHV0IGZvciB3cml0aW5nIHZhbHVlcyBpbnRvIGEgR29vZ2xlIFNoZWV0cyByYW5nZVxuICogQHN1bW1hcnkgQ2FycmllcyB0aGUgdGFyZ2V0IGBzcHJlYWRzaGVldElkYCBhbmQgQTEgYHJhbmdlYCwgdGhlIHJvd1xuICogYHZhbHVlc2AgdG8gd3JpdGUsIGFuZCB0aGUgYHZhbHVlSW5wdXRPcHRpb25gIGNvbnRyb2xsaW5nIGhvdyBHb29nbGVcbiAqIGludGVycHJldHMgdGhlIGNlbGxzIChgXCJSQVdcImAgc3RvcmVzIHRleHQgYXMtaXMsIGBcIlVTRVJfRU5URVJFRFwiYCBhcHBsaWVzXG4gKiBzcHJlYWRzaGVldCBwYXJzaW5nIGFuZCBmb3JtdWxhczsgZGVmYXVsdHMgdG8gYFwiVVNFUl9FTlRFUkVEXCJgKS5cbiAqIEBjYXRlZ29yeSBJT1xuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvaW8vZ29vZ2xlLXNoZWV0cy9zZXJ2aWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR29vZ2xlU2hlZXRzV3JpdGVJbnB1dCB7XG4gIHNwcmVhZHNoZWV0SWQ6IHN0cmluZztcbiAgcmFuZ2U6IHN0cmluZztcbiAgdmFsdWVzOiB1bmtub3duW11bXTtcbiAgdmFsdWVJbnB1dE9wdGlvbj86IFwiUkFXXCIgfCBcIlVTRVJfRU5URVJFRFwiO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBHb29nbGUgU2hlZXRzIEFQSSBpbnRlZ3JhdGlvbiBzZXJ2aWNlXG4gKiBAc3VtbWFyeSBBbiB1bmRlY29yYXRlZCBIVFRQIHNlcnZpY2UgZm9yIHJlYWRpbmcsXG4gKiB1cGRhdGluZywgYXBwZW5kaW5nLCBhbmQgY2xlYXJpbmcgdmFsdWVzIGluIEExIHJhbmdlcyBvZiBhIHNwcmVhZHNoZWV0LCBhbmRcbiAqIGZvciBjcmVhdGluZyBuZXcgc3ByZWFkc2hlZXRzLiBFdmVyeSBvcGVyYXRpb24gcmVxdWlyZXMgZWl0aGVyIGFuIE9BdXRoXG4gKiB0b2tlbiBvciBhbiBBUEkga2V5IChgcmVxdWlyZUF1dGgoKWApOyByYW5nZXMgYW5kIHNwcmVhZHNoZWV0IElEcyBhcmVcbiAqIFVSTC1lbmNvZGVkLCBhbmQgdHJhbnNwb3J0IGZhaWx1cmVzIGFyZSBtYXBwZWQgdG8gZGVjYWYgZXJyb3JzIHZpYVxuICoge0BsaW5rIGh0dHBFcnJvcn0uXG4gKiBAY2xhc3MgR29vZ2xlU2hlZXRzU2VydmljZVxuICogQGNhdGVnb3J5IElPXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IEdvb2dsZVNoZWV0c1NlcnZpY2UgfSBmcm9tIFwiQGRlY2FmLXRzL2ludGVncmF0aW9ucy9pby9nb29nbGUtc2hlZXRzXCI7XG4gKlxuICogY29uc3Qgc2hlZXRzID0gbmV3IEdvb2dsZVNoZWV0c1NlcnZpY2UoKTtcbiAqIGF3YWl0IHNoZWV0cy5pbml0aWFsaXplKHtcbiAqICAgdG9rZW46IHByb2Nlc3MuZW52LkdSQVBIX0NSRURFTlRJQUxfR09PR0xFX1NIRUVUU19UT0tFTixcbiAqIH0pO1xuICogY29uc3QgY3JlYXRlZCA9IGF3YWl0IHNoZWV0cy5jcmVhdGVTcHJlYWRzaGVldChcIk1ldHJpY3NcIik7XG4gKiBhd2FpdCBzaGVldHMudXBkYXRlVmFsdWVzKHtcbiAqICAgc3ByZWFkc2hlZXRJZDogY3JlYXRlZC5zcHJlYWRzaGVldElkLFxuICogICByYW5nZTogXCJTaGVldDEhQTE6QjJcIixcbiAqICAgdmFsdWVzOiBbXG4gKiAgICAgW1wiZGF0ZVwiLCBcImNvdW50XCJdLFxuICogICAgIFtcIjIwMjYtMDEtMDFcIiwgXCI0MlwiXSxcbiAqICAgXSxcbiAqIH0pO1xuICogYGBgXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9ucy9pby9nb29nbGUtc2hlZXRzL3NlcnZpY2VcbiAqL1xuZXhwb3J0IGNsYXNzIEdvb2dsZVNoZWV0c1NlcnZpY2UgZXh0ZW5kcyBIdHRwQXBpU2VydmljZTxHb29nbGVTaGVldHNTZXJ2aWNlQ29uZmlnPiB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIHByb3ZpZGVyIG5hbWUgdXNlZCBpbiBlcnJvciBtZXNzYWdlc1xuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlcnZpY2VOYW1lID0gXCJHb29nbGUgU2hlZXRzXCI7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgR29vZ2xlIFNoZWV0cyB2NCB2YWx1ZXMgQVBJIGJhc2UgVVJMXG4gICAqIEBzdW1tYXJ5IFVzZWQgd2hlbiB0aGUgcmVzb2x2ZWQgY29uZmlnIGNhcnJpZXMgbm8gYGJhc2VVcmxgLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBgXCJodHRwczovL3NoZWV0cy5nb29nbGVhcGlzLmNvbS92NC9zcHJlYWRzaGVldHNcImAuXG4gICAqL1xuICBwcm90ZWN0ZWQgZGVmYXVsdEJhc2VVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCJodHRwczovL3NoZWV0cy5nb29nbGVhcGlzLmNvbS92NC9zcHJlYWRzaGVldHNcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQnVpbGRzIHRoZSBHb29nbGUgU2hlZXRzIGF1dGhvcml6YXRpb24gaGVhZGVyc1xuICAgKiBAc3VtbWFyeSBSZXR1cm5zIHRoZSBgQXV0aG9yaXphdGlvbjogQmVhcmVyIDx0b2tlbj5gIGhlYWRlciB3aGVuIHRoZVxuICAgKiBjb25maWcgY2FycmllcyBhbiBPQXV0aCB0b2tlbiwgb3RoZXJ3aXNlIHRoZSBgWC1Hb29nLUFwaS1LZXlgIGhlYWRlciB3aGVuXG4gICAqIGFuIEFQSSBrZXkgaXMgY29uZmlndXJlZCwgYW5kIG5vIGhlYWRlcnMgb3RoZXJ3aXNlLlxuICAgKiBAcGFyYW0ge0dvb2dsZVNoZWV0c1NlcnZpY2VDb25maWd9IGNvbmZpZyAtIFRoZSByZXNvbHZlZCBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uXG4gICAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSBUaGUgYXV0aG9yaXphdGlvbiBoZWFkZXJzIChlbXB0eSB3aXRob3V0IGEgdG9rZW4gb3IgQVBJIGtleSkuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXV0aEhlYWRlcnMoXG4gICAgY29uZmlnOiBHb29nbGVTaGVldHNTZXJ2aWNlQ29uZmlnXG4gICk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGlmIChjb25maWcudG9rZW4pIHJldHVybiB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtjb25maWcudG9rZW59YCB9O1xuICAgIGlmIChjb25maWcuYXBpS2V5KSByZXR1cm4geyBcIlgtR29vZy1BcGktS2V5XCI6IGNvbmZpZy5hcGlLZXkgfTtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlYWRzIHRoZSBHb29nbGUgU2hlZXRzIGNyZWRlbnRpYWxzIGFuZCBkZWZhdWx0cyBmcm9tIHRoZSBlbnZpcm9ubWVudFxuICAgKiBAc3VtbWFyeSBSZWFkcyB0aGUgYGlvLmdvb2dsZVNoZWV0c2AgZW52aXJvbm1lbnQgc2xpY2UgYW5kIHJldHVybnMgYVxuICAgKiBwYXJ0aWFsIGNvbmZpZyB3aGVuIGEgdG9rZW4gb3IgQVBJIGtleSBpcyBjb25maWd1cmVkLCBgdW5kZWZpbmVkYFxuICAgKiBvdGhlcndpc2UuIFZhbHVlcyBwYXNzIHRocm91Z2ggYGVudlN0cmluZ2AvYGVudk51bWJlcmAgdG8gcmVqZWN0XG4gICAqIHVuc2V0LWxlYWYgcHJveGllcy5cbiAgICogQHJldHVybnMge1BhcnRpYWw8R29vZ2xlU2hlZXRzU2VydmljZUNvbmZpZz4gfCB1bmRlZmluZWR9IEEgcGFydGlhbCBjb25maWcsIG9yIGB1bmRlZmluZWRgIHdoZW4gbmVpdGhlciB0b2tlbiBub3IgQVBJIGtleSBpcyBjb25maWd1cmVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNvbmZpZ0Zyb21FbnZpcm9ubWVudCgpOlxuICAgIHwgUGFydGlhbDxHb29nbGVTaGVldHNTZXJ2aWNlQ29uZmlnPlxuICAgIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBlbnYgPSBJb0Vudmlyb25tZW50LmlvLmdvb2dsZVNoZWV0cztcbiAgICBjb25zdCB0b2tlbiA9IGVudlN0cmluZyhlbnY/LnRva2VuKTtcbiAgICBjb25zdCBhcGlLZXkgPSBlbnZTdHJpbmcoZW52Py5hcGlLZXkpO1xuICAgIGlmICghdG9rZW4gJiYgIWFwaUtleSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4ge1xuICAgICAgdG9rZW4sXG4gICAgICBhcGlLZXksXG4gICAgICBiYXNlVXJsOiBlbnZTdHJpbmcoZW52LmJhc2VVcmwpLFxuICAgICAgdGltZW91dDogZW52TnVtYmVyKGVudi50aW1lb3V0KSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBBc3NlcnRzIHRoYXQgdGhlIHNlcnZpY2Ugd2FzIGNvbmZpZ3VyZWQgd2l0aCBPQXV0aCBjcmVkZW50aWFsc1xuICAgKiBAc3VtbWFyeSBUaHJvd3Mgd2hlbiB0aGUgcmVzb2x2ZWQgY29uZmlnIGNhcnJpZXMgbmVpdGhlciBhIGB0b2tlbmAgbm9yIGFuXG4gICAqIGBhcGlLZXlgOyBldmVyeSBvcGVyYXRpb24gY2FsbHMgdGhpcyBiZWZvcmUgaXNzdWluZyByZXF1ZXN0cy5cbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gbmVpdGhlciBhbiBPQXV0aCB0b2tlbiBub3IgYW4gQVBJIGtleSBpcyBjb25maWd1cmVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlcXVpcmVBdXRoKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnO1xuICAgIGlmICghY29uZmlnLnRva2VuICYmICFjb25maWcuYXBpS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgXCJHb29nbGUgU2hlZXRzIHJlcXVpcmVzIGFuIE9BdXRoIHRva2VuIG9yIGFuIEFQSSBrZXlcIlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFVSTC1lbmNvZGVzIGFuIEExIHJhbmdlIGZvciB0aGUgdmFsdWVzIEFQSSBwYXRoXG4gICAqIEBzdW1tYXJ5IFJhbmdlcyBzdWNoIGFzIGBTaGVldDEhQTE6QjJgIGNvbnRhaW4gY2hhcmFjdGVycyB0aGF0IG11c3QgYmVcbiAgICogcGVyY2VudC1lbmNvZGVkOyBhbGwgb3BlcmF0aW9ucyByb3V0ZSB0aGUgcmFuZ2UgdGhyb3VnaCB0aGlzIGhlbHBlci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHJhbmdlIC0gVGhlIEExIG5vdGF0aW9uIHJhbmdlIHRvIGVuY29kZS5cbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIFVSTC1lbmNvZGVkIHJhbmdlLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJhbmdlUGF0aChyYW5nZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHJhbmdlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVhZHMgdmFsdWVzIGZyb20gYW4gQTEgcmFuZ2Ugb2YgYSBzcHJlYWRzaGVldFxuICAgKiBAc3VtbWFyeSBgR0VUYHMgdGhlIHZhbHVlcyBlbmRwb2ludCBmb3IgdGhlIGdpdmVuIGBzcHJlYWRzaGVldElkYCBhbmRcbiAgICogYHJhbmdlYCBhbmQgcmV0dXJucyB0aGUgc2VydmVkIHJhbmdlLCBtYWpvciBkaW1lbnNpb24sIGFuZCB0aGUgZ3JpZFxuICAgKiB2YWx1ZXMgKHJvd3Mgb2YgY2VsbCBzdHJpbmdzKS4gUmVxdWlyZXMgY3JlZGVudGlhbHMgYW5kIGJvdGggYXJndW1lbnRzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3ByZWFkc2hlZXRJZCAtIFRoZSBzcHJlYWRzaGVldCB0byByZWFkIGZyb20uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByYW5nZSAtIFRoZSBBMSBub3RhdGlvbiByYW5nZSB0byByZWFkIChlLmcuIGBcIlNoZWV0MSFBMTpDMTBcImApLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxHb29nbGVTaGVldHNWYWx1ZXNSZXN1bHQ+fSBUaGUgc2VydmVkIHJhbmdlIGFuZCBncmlkIHZhbHVlcy5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBjcmVkZW50aWFscyBhcmUgbWlzc2luZyBvciB0aGUgc3ByZWFkc2hlZXQgSUQvcmFuZ2UgaXMgZW1wdHkuXG4gICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IFdoZW4gdGhlIHNwcmVhZHNoZWV0IGRvZXMgbm90IGV4aXN0IChIVFRQIDQwNCkuXG4gICAqIEB0aHJvd3Mge0NvbmZsaWN0RXJyb3J9IFdoZW4gR29vZ2xlIGFuc3dlcnMgd2l0aCBIVFRQIDQwOS5cbiAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIEdvb2dsZSBhbnN3ZXJzIHdpdGggYW55IG90aGVyIEhUVFAgZXJyb3Igc3RhdHVzIChlLmcuIGludmFsaWQgcmFuZ2UpLlxuICAgKi9cbiAgYXN5bmMgZ2V0VmFsdWVzKFxuICAgIHNwcmVhZHNoZWV0SWQ6IHN0cmluZyxcbiAgICByYW5nZTogc3RyaW5nXG4gICk6IFByb21pc2U8R29vZ2xlU2hlZXRzVmFsdWVzUmVzdWx0PiB7XG4gICAgdGhpcy5yZXF1aXJlQXV0aCgpO1xuICAgIGlmICghc3ByZWFkc2hlZXRJZCB8fCAhcmFuZ2UpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIkdvb2dsZSBTaGVldHMgZ2V0VmFsdWVzIHJlcXVpcmVzIGEgc3ByZWFkc2hlZXQgSUQgYW5kIHJhbmdlXCJcbiAgICAgICk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LmdldDxHb29nbGVTaGVldHNWYWx1ZXNSZXN1bHQ+KFxuICAgICAgICBgLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHNwcmVhZHNoZWV0SWQpfS92YWx1ZXMvJHt0aGlzLnJhbmdlUGF0aChyYW5nZSl9YFxuICAgICAgKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNwcmVhZHNoZWV0SWQsXG4gICAgICAgIHJhbmdlOiByZXNwb25zZS5kYXRhLnJhbmdlID8/IHJhbmdlLFxuICAgICAgICBtYWpvckRpbWVuc2lvbjogcmVzcG9uc2UuZGF0YS5tYWpvckRpbWVuc2lvbixcbiAgICAgICAgdmFsdWVzOiByZXNwb25zZS5kYXRhLnZhbHVlcyA/PyBbXSxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGh0dHBFcnJvcihcIkdvb2dsZSBTaGVldHNcIiwgXCJnZXQgdmFsdWVzXCIsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE92ZXJ3cml0ZXMgdmFsdWVzIGluIGFuIEExIHJhbmdlIG9mIGEgc3ByZWFkc2hlZXRcbiAgICogQHN1bW1hcnkgYFBVVGBzIHRoZSByb3cgdmFsdWVzIHRvIHRoZSB2YWx1ZXMgZW5kcG9pbnQgZm9yIHRoZSBnaXZlblxuICAgKiBgc3ByZWFkc2hlZXRJZGAgYW5kIGByYW5nZWAuIENlbGxzIGFyZSBpbnRlcnByZXRlZCBhY2NvcmRpbmcgdG9cbiAgICogYHZhbHVlSW5wdXRPcHRpb25gIChgXCJVU0VSX0VOVEVSRURcImAgYnkgZGVmYXVsdCwgYFwiUkFXXCJgIHRvIHN0b3JlIHRleHRcbiAgICogdmVyYmF0aW0pLCBhbmQgdGhlIGV4aXN0aW5nIHJhbmdlIGNvbnRlbnQgaXMgcmVwbGFjZWQuXG4gICAqIEBwYXJhbSB7R29vZ2xlU2hlZXRzV3JpdGVJbnB1dH0gaW5wdXQgLSBUaGUgdGFyZ2V0IHNwcmVhZHNoZWV0LCByYW5nZSwgdmFsdWVzLCBhbmQgaW5wdXQgaW50ZXJwcmV0YXRpb24uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEdvb2dsZVNoZWV0c1ZhbHVlc1Jlc3VsdD59IFRoZSBzZXJ2ZWQgcmFuZ2UgYW5kIHRoZSB3cml0dGVuIHZhbHVlcy5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBjcmVkZW50aWFscyBhcmUgbWlzc2luZy5cbiAgICogQHRocm93cyB7Tm90Rm91bmRFcnJvcn0gV2hlbiB0aGUgc3ByZWFkc2hlZXQgZG9lcyBub3QgZXhpc3QgKEhUVFAgNDA0KS5cbiAgICogQHRocm93cyB7Q29uZmxpY3RFcnJvcn0gV2hlbiBHb29nbGUgYW5zd2VycyB3aXRoIEhUVFAgNDA5LlxuICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gR29vZ2xlIGFuc3dlcnMgd2l0aCBhbnkgb3RoZXIgSFRUUCBlcnJvciBzdGF0dXMgKGUuZy4gaW52YWxpZCByYW5nZSkuXG4gICAqL1xuICBhc3luYyB1cGRhdGVWYWx1ZXMoXG4gICAgaW5wdXQ6IEdvb2dsZVNoZWV0c1dyaXRlSW5wdXRcbiAgKTogUHJvbWlzZTxHb29nbGVTaGVldHNWYWx1ZXNSZXN1bHQ+IHtcbiAgICB0aGlzLnJlcXVpcmVBdXRoKCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucHV0PEdvb2dsZVNoZWV0c1ZhbHVlc1Jlc3VsdD4oXG4gICAgICAgIGAvJHtlbmNvZGVVUklDb21wb25lbnQoaW5wdXQuc3ByZWFkc2hlZXRJZCl9L3ZhbHVlcy8ke3RoaXMucmFuZ2VQYXRoKFxuICAgICAgICAgIGlucHV0LnJhbmdlXG4gICAgICAgICl9YCxcbiAgICAgICAge1xuICAgICAgICAgIHJhbmdlOiBpbnB1dC5yYW5nZSxcbiAgICAgICAgICBtYWpvckRpbWVuc2lvbjogXCJST1dTXCIsXG4gICAgICAgICAgdmFsdWVzOiBpbnB1dC52YWx1ZXMsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgIHZhbHVlSW5wdXRPcHRpb246IGlucHV0LnZhbHVlSW5wdXRPcHRpb24gPz8gXCJVU0VSX0VOVEVSRURcIixcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3ByZWFkc2hlZXRJZDogaW5wdXQuc3ByZWFkc2hlZXRJZCxcbiAgICAgICAgcmFuZ2U6IHJlc3BvbnNlLmRhdGEucmFuZ2UgPz8gaW5wdXQucmFuZ2UsXG4gICAgICAgIG1ham9yRGltZW5zaW9uOiByZXNwb25zZS5kYXRhLm1ham9yRGltZW5zaW9uID8/IFwiUk9XU1wiLFxuICAgICAgICB2YWx1ZXM6IHJlc3BvbnNlLmRhdGEudmFsdWVzID8/IGlucHV0LnZhbHVlcyxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGh0dHBFcnJvcihcIkdvb2dsZSBTaGVldHNcIiwgXCJ1cGRhdGUgdmFsdWVzXCIsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFwcGVuZHMgdmFsdWVzIGFmdGVyIHRoZSBsYXN0IHJvdyBvZiBhbiBBMSByYW5nZSdzIHRhYmxlXG4gICAqIEBzdW1tYXJ5IGBQT1NUYHMgdGhlIHJvdyB2YWx1ZXMgdG8gdGhlIGA6YXBwZW5kYCBlbmRwb2ludCBmb3IgdGhlIGdpdmVuXG4gICAqIGBzcHJlYWRzaGVldElkYCBhbmQgYHJhbmdlYCwgaW5zZXJ0aW5nIG5ldyByb3dzIGFmdGVyIGV4aXN0aW5nIHRhYmxlIGRhdGFcbiAgICogKGBpbnNlcnREYXRhT3B0aW9uOiBcIklOU0VSVF9ST1dTXCJgKS4gQ2VsbHMgYXJlIGludGVycHJldGVkIGFjY29yZGluZyB0b1xuICAgKiBgdmFsdWVJbnB1dE9wdGlvbmAgKGBcIlVTRVJfRU5URVJFRFwiYCBieSBkZWZhdWx0KS4gVXNlIGEgc2luZ2xlLXJvdyBvclxuICAgKiBzaW5nbGUtY29sdW1uIEExIHJhbmdlIHRvIGFuY2hvciB0aGUgdGFibGU7IEdvb2dsZSByZXBvcnRzIHRoZSByYW5nZSB0aGVcbiAgICogZGF0YSBhY3R1YWxseSBsYW5kZWQgaW4uXG4gICAqIEBwYXJhbSB7R29vZ2xlU2hlZXRzV3JpdGVJbnB1dH0gaW5wdXQgLSBUaGUgdGFyZ2V0IHNwcmVhZHNoZWV0LCBhbmNob3IgcmFuZ2UsIHZhbHVlcywgYW5kIGlucHV0IGludGVycHJldGF0aW9uLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxHb29nbGVTaGVldHNWYWx1ZXNSZXN1bHQ+fSBUaGUgcmFuZ2UgdGhlIGFwcGVuZGVkIHJvd3MgbGFuZGVkIGluIGFuZCB0aGUgYXBwZW5kZWQgdmFsdWVzLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIGNyZWRlbnRpYWxzIGFyZSBtaXNzaW5nLlxuICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBXaGVuIHRoZSBzcHJlYWRzaGVldCBkb2VzIG5vdCBleGlzdCAoSFRUUCA0MDQpLlxuICAgKiBAdGhyb3dzIHtDb25mbGljdEVycm9yfSBXaGVuIEdvb2dsZSBhbnN3ZXJzIHdpdGggSFRUUCA0MDkuXG4gICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiBHb29nbGUgYW5zd2VycyB3aXRoIGFueSBvdGhlciBIVFRQIGVycm9yIHN0YXR1cyAoZS5nLiBpbnZhbGlkIHJhbmdlKS5cbiAgICovXG4gIGFzeW5jIGFwcGVuZFZhbHVlcyhcbiAgICBpbnB1dDogR29vZ2xlU2hlZXRzV3JpdGVJbnB1dFxuICApOiBQcm9taXNlPEdvb2dsZVNoZWV0c1ZhbHVlc1Jlc3VsdD4ge1xuICAgIHRoaXMucmVxdWlyZUF1dGgoKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0PEdvb2dsZVNoZWV0c1ZhbHVlc1Jlc3VsdD4oXG4gICAgICAgIGAvJHtlbmNvZGVVUklDb21wb25lbnQoaW5wdXQuc3ByZWFkc2hlZXRJZCl9L3ZhbHVlcy8ke3RoaXMucmFuZ2VQYXRoKFxuICAgICAgICAgIGlucHV0LnJhbmdlXG4gICAgICAgICl9OmFwcGVuZGAsXG4gICAgICAgIHtcbiAgICAgICAgICByYW5nZTogaW5wdXQucmFuZ2UsXG4gICAgICAgICAgbWFqb3JEaW1lbnNpb246IFwiUk9XU1wiLFxuICAgICAgICAgIHZhbHVlczogaW5wdXQudmFsdWVzLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICB2YWx1ZUlucHV0T3B0aW9uOiBpbnB1dC52YWx1ZUlucHV0T3B0aW9uID8/IFwiVVNFUl9FTlRFUkVEXCIsXG4gICAgICAgICAgICBpbnNlcnREYXRhT3B0aW9uOiBcIklOU0VSVF9ST1dTXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNwcmVhZHNoZWV0SWQ6IGlucHV0LnNwcmVhZHNoZWV0SWQsXG4gICAgICAgIHJhbmdlOiByZXNwb25zZS5kYXRhLnJhbmdlID8/IGlucHV0LnJhbmdlLFxuICAgICAgICBtYWpvckRpbWVuc2lvbjogcmVzcG9uc2UuZGF0YS5tYWpvckRpbWVuc2lvbiA/PyBcIlJPV1NcIixcbiAgICAgICAgdmFsdWVzOiByZXNwb25zZS5kYXRhLnZhbHVlcyA/PyBbXSxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGh0dHBFcnJvcihcIkdvb2dsZSBTaGVldHNcIiwgXCJhcHBlbmQgdmFsdWVzXCIsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENsZWFycyBhbGwgdmFsdWVzIGluIGFuIEExIHJhbmdlIG9mIGEgc3ByZWFkc2hlZXRcbiAgICogQHN1bW1hcnkgYFBPU1RgcyB0aGUgYDpjbGVhcmAgZW5kcG9pbnQgZm9yIHRoZSBnaXZlbiBgc3ByZWFkc2hlZXRJZGAgYW5kXG4gICAqIGByYW5nZWAsIGVtcHR5aW5nIHRoZSBjZWxscyB3aGlsZSBwcmVzZXJ2aW5nIGZvcm1hdHRpbmcsIGFuZCByZXR1cm5zIHRoZVxuICAgKiByYW5nZSBHb29nbGUgYWN0dWFsbHkgY2xlYXJlZC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHNwcmVhZHNoZWV0SWQgLSBUaGUgc3ByZWFkc2hlZXQgdG8gY2xlYXIgdmFsdWVzIGluLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmFuZ2UgLSBUaGUgQTEgbm90YXRpb24gcmFuZ2UgdG8gY2xlYXIuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHtzcHJlYWRzaGVldElkOiBzdHJpbmcsIGNsZWFyZWRSYW5nZTogc3RyaW5nfT59IFRoZSBjbGVhcmVkIHJhbmdlIGFzIHJlcG9ydGVkIGJ5IEdvb2dsZS5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBjcmVkZW50aWFscyBhcmUgbWlzc2luZy5cbiAgICogQHRocm93cyB7Tm90Rm91bmRFcnJvcn0gV2hlbiB0aGUgc3ByZWFkc2hlZXQgZG9lcyBub3QgZXhpc3QgKEhUVFAgNDA0KS5cbiAgICogQHRocm93cyB7Q29uZmxpY3RFcnJvcn0gV2hlbiBHb29nbGUgYW5zd2VycyB3aXRoIEhUVFAgNDA5LlxuICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gR29vZ2xlIGFuc3dlcnMgd2l0aCBhbnkgb3RoZXIgSFRUUCBlcnJvciBzdGF0dXMgKGUuZy4gaW52YWxpZCByYW5nZSkuXG4gICAqL1xuICBhc3luYyBjbGVhclZhbHVlcyhcbiAgICBzcHJlYWRzaGVldElkOiBzdHJpbmcsXG4gICAgcmFuZ2U6IHN0cmluZ1xuICApOiBQcm9taXNlPHsgc3ByZWFkc2hlZXRJZDogc3RyaW5nOyBjbGVhcmVkUmFuZ2U6IHN0cmluZyB9PiB7XG4gICAgdGhpcy5yZXF1aXJlQXV0aCgpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnBvc3Q8eyBjbGVhcmVkUmFuZ2U/OiBzdHJpbmcgfT4oXG4gICAgICAgIGAvJHtlbmNvZGVVUklDb21wb25lbnQoc3ByZWFkc2hlZXRJZCl9L3ZhbHVlcy8ke3RoaXMucmFuZ2VQYXRoKFxuICAgICAgICAgIHJhbmdlXG4gICAgICAgICl9OmNsZWFyYCxcbiAgICAgICAge31cbiAgICAgICk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzcHJlYWRzaGVldElkLFxuICAgICAgICBjbGVhcmVkUmFuZ2U6IHJlc3BvbnNlLmRhdGEuY2xlYXJlZFJhbmdlID8/IHJhbmdlLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgaHR0cEVycm9yKFwiR29vZ2xlIFNoZWV0c1wiLCBcImNsZWFyIHZhbHVlc1wiLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IHNwcmVhZHNoZWV0IHdpdGggdGhlIGdpdmVuIHRpdGxlXG4gICAqIEBzdW1tYXJ5IGBQT1NUYHMgYSBzcHJlYWRzaGVldCByZXNvdXJjZSB3aXRoIGBwcm9wZXJ0aWVzLnRpdGxlYCB0byB0aGVcbiAgICogc3ByZWFkc2hlZXRzIGVuZHBvaW50IGFuZCByZXR1cm5zIHRoZSBuZXcgc3ByZWFkc2hlZXQncyBJRCBhbmQgVVJMLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGl0bGUgLSBUaGUgdGl0bGUgZm9yIHRoZSBuZXcgc3ByZWFkc2hlZXQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHtzcHJlYWRzaGVldElkOiBzdHJpbmcsIHNwcmVhZHNoZWV0VXJsPzogc3RyaW5nfT59IFRoZSBjcmVhdGVkIHNwcmVhZHNoZWV0J3MgSUQgYW5kIFVSTC5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBjcmVkZW50aWFscyBhcmUgbWlzc2luZyBvciB0aGUgdGl0bGUgaXMgZW1wdHkuXG4gICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IFdoZW4gR29vZ2xlIGFuc3dlcnMgd2l0aCBIVFRQIDQwNC5cbiAgICogQHRocm93cyB7Q29uZmxpY3RFcnJvcn0gV2hlbiBHb29nbGUgYW5zd2VycyB3aXRoIEhUVFAgNDA5LlxuICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gR29vZ2xlIGFuc3dlcnMgd2l0aCBhbnkgb3RoZXIgSFRUUCBlcnJvciBzdGF0dXMuXG4gICAqL1xuICBhc3luYyBjcmVhdGVTcHJlYWRzaGVldChcbiAgICB0aXRsZTogc3RyaW5nXG4gICk6IFByb21pc2U8eyBzcHJlYWRzaGVldElkOiBzdHJpbmc7IHNwcmVhZHNoZWV0VXJsPzogc3RyaW5nIH0+IHtcbiAgICB0aGlzLnJlcXVpcmVBdXRoKCk7XG4gICAgaWYgKCF0aXRsZSkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIFwiR29vZ2xlIFNoZWV0cyBjcmVhdGVTcHJlYWRzaGVldCByZXF1aXJlcyBhIHRpdGxlXCJcbiAgICAgICk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnBvc3Q8e1xuICAgICAgICBzcHJlYWRzaGVldElkOiBzdHJpbmc7XG4gICAgICAgIHNwcmVhZHNoZWV0VXJsPzogc3RyaW5nO1xuICAgICAgfT4oXCIvXCIsIHtcbiAgICAgICAgcHJvcGVydGllczogeyB0aXRsZSB9LFxuICAgICAgfSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzcHJlYWRzaGVldElkOiByZXNwb25zZS5kYXRhLnNwcmVhZHNoZWV0SWQsXG4gICAgICAgIHNwcmVhZHNoZWV0VXJsOiByZXNwb25zZS5kYXRhLnNwcmVhZHNoZWV0VXJsLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgaHR0cEVycm9yKFwiR29vZ2xlIFNoZWV0c1wiLCBcImNyZWF0ZSBzcHJlYWRzaGVldFwiLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
288
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR29vZ2xlU2hlZXRzU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkdvb2dsZVNoZWV0c1NlcnZpY2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7Ozs7R0FVRztBQUNILDJEQUF3RDtBQUN4RCx3REFBb0Q7QUFDcEQsNEVBQTBFO0FBQzFFLDJEQUEwRTtBQUMxRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Qkc7QUFDSCxNQUFhLG1CQUFvQixTQUFRLHlCQUFjO0lBQ25EO1FBQ0ksS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDcEI7O1dBRUc7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQztJQUN2QyxDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILGNBQWM7UUFDVixPQUFPLCtDQUErQyxDQUFDO0lBQzNELENBQUM7SUFDRDs7Ozs7OztPQU9HO0lBQ0gsV0FBVyxDQUFDLE1BQU07UUFDZCxJQUFJLE1BQU0sQ0FBQyxLQUFLO1lBQ1osT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3ZELElBQUksTUFBTSxDQUFDLE1BQU07WUFDYixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQy9DLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNEOzs7Ozs7O09BT0c7SUFDSCxxQkFBcUI7UUFDakIsTUFBTSxHQUFHLEdBQUcsOEJBQWEsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDO1FBQzFDLE1BQU0sS0FBSyxHQUFHLElBQUEsK0JBQVMsRUFBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEMsTUFBTSxNQUFNLEdBQUcsSUFBQSwrQkFBUyxFQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTTtZQUNqQixPQUFPLFNB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QztDQUNKO0FBNU9ELGtEQTRPQztBQUNELGswMEJBQWswMEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2lvL2dvb2dsZS1zaGVldHMvc2VydmljZVxuICogQHN1bW1hcnkgR29vZ2xlIFNoZWV0cyBBUEkgaW50ZWdyYXRpb24gc2VydmljZSBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyBzcHJlYWRzaGVldCB2YWx1ZXMuXG4gKiBAZGVzY3JpcHRpb24gRXhwb3NlcyB0aGUgR29vZ2xlIFNoZWV0cyB2NCB2YWx1ZXMgQVBJIChgZ2V0YCwgYHVwZGF0ZWAsXG4gKiBgYXBwZW5kYCwgYGNsZWFyYCkgYW5kIHNwcmVhZHNoZWV0IGNyZWF0aW9uIGFzIGFuIHVuZGVjb3JhdGVkXG4gKiBjbGllbnQtYmFzZWQgc2VydmljZSBidWlsdCBvblxuICoge0BsaW5rIEh0dHBBcGlTZXJ2aWNlfS4gQXV0aGVudGljYXRpb24gYWNjZXB0cyBlaXRoZXIgYW4gT0F1dGggdG9rZW5cbiAqIChiZWFyZXIpIG9yIGEgcGxhaW4gQVBJIGtleSAoYFgtR29vZy1BcGktS2V5YCk7IGNvbmZpZ3VyYXRpb24gY29tZXMgZnJvbSBhblxuICogZXhwbGljaXQgYEdvb2dsZVNoZWV0c1NlcnZpY2VDb25maWdgIG9yIHRoZSBgaW8uZ29vZ2xlU2hlZXRzYCBlbnZpcm9ubWVudFxuICogc2xpY2UsIGFuZCBmYWlsdXJlcyBhcmUgbWFwcGVkIHRvIGRlY2FmIGVycm9ycyB2aWEge0BsaW5rIGh0dHBFcnJvcn0uXG4gKi9cbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IElvRW52aXJvbm1lbnQgfSBmcm9tIFwiLi8uLi9lbnZpcm9ubWVudC5qc1wiO1xuaW1wb3J0IHsgZW52TnVtYmVyLCBlbnZTdHJpbmcgfSBmcm9tIFwiLi8uLi8uLi9zaGFyZWQvZW52aXJvbm1lbnRWYWx1ZS5qc1wiO1xuaW1wb3J0IHsgSHR0cEFwaVNlcnZpY2UsIGh0dHBFcnJvciwgfSBmcm9tIFwiLi8uLi8uLi9zaGFyZWQvaHR0cC9pbmRleC5qc1wiO1xuLyoqXG4gKiBAZGVzY3JpcHRpb24gR29vZ2xlIFNoZWV0cyBBUEkgaW50ZWdyYXRpb24gc2VydmljZVxuICogQHN1bW1hcnkgQW4gdW5kZWNvcmF0ZWQgSFRUUCBzZXJ2aWNlIGZvciByZWFkaW5nLFxuICogdXBkYXRpbmcsIGFwcGVuZGluZywgYW5kIGNsZWFyaW5nIHZhbHVlcyBpbiBBMSByYW5nZXMgb2YgYSBzcHJlYWRzaGVldCwgYW5kXG4gKiBmb3IgY3JlYXRpbmcgbmV3IHNwcmVhZHNoZWV0cy4gRXZlcnkgb3BlcmF0aW9uIHJlcXVpcmVzIGVpdGhlciBhbiBPQXV0aFxuICogdG9rZW4gb3IgYW4gQVBJIGtleSAoYHJlcXVpcmVBdXRoKClgKTsgcmFuZ2VzIGFuZCBzcHJlYWRzaGVldCBJRHMgYXJlXG4gKiBVUkwtZW5jb2RlZCwgYW5kIHRyYW5zcG9ydCBmYWlsdXJlcyBhcmUgbWFwcGVkIHRvIGRlY2FmIGVycm9ycyB2aWFcbiAqIHtAbGluayBodHRwRXJyb3J9LlxuICogQGNsYXNzIEdvb2dsZVNoZWV0c1NlcnZpY2VcbiAqIEBjYXRlZ29yeSBJT1xuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBHb29nbGVTaGVldHNTZXJ2aWNlIH0gZnJvbSBcIkBkZWNhZi10cy9pbnRlZ3JhdGlvbnMvaW8vZ29vZ2xlLXNoZWV0c1wiO1xuICpcbiAqIGNvbnN0IHNoZWV0cyA9IG5ldyBHb29nbGVTaGVldHNTZXJ2aWNlKCk7XG4gKiBhd2FpdCBzaGVldHMuaW5pdGlhbGl6ZSh7XG4gKiAgIHRva2VuOiBwcm9jZXNzLmVudi5HUkFQSF9DUkVERU5USUFMX0dPT0dMRV9TSEVFVFNfVE9LRU4sXG4gKiB9KTtcbiAqIGNvbnN0IGNyZWF0ZWQgPSBhd2FpdCBzaGVldHMuY3JlYXRlU3ByZWFkc2hlZXQoXCJNZXRyaWNzXCIpO1xuICogYXdhaXQgc2hlZXRzLnVwZGF0ZVZhbHVlcyh7XG4gKiAgIHNwcmVhZHNoZWV0SWQ6IGNyZWF0ZWQuc3ByZWFkc2hlZXRJZCxcbiAqICAgcmFuZ2U6IFwiU2hlZXQxIUExOkIyXCIsXG4gKiAgIHZhbHVlczogW1xuICogICAgIFtcImRhdGVcIiwgXCJjb3VudFwiXSxcbiAqICAgICBbXCIyMDI2LTAxLTAxXCIsIFwiNDJcIl0sXG4gKiAgIF0sXG4gKiB9KTtcbiAqIGBgYFxuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvaW8vZ29vZ2xlLXNoZWV0cy9zZXJ2aWNlXG4gKi9cbmV4cG9ydCBjbGFzcyBHb29nbGVTaGVldHNTZXJ2aWNlIGV4dGVuZHMgSHR0cEFwaVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgICAgICAvKipcbiAgICAgICAgICogQGRlc2NyaXB0aW9uIFRoZSBwcm92aWRlciBuYW1lIHVzZWQgaW4gZXJyb3IgbWVzc2FnZXNcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuc2VydmljZU5hbWUgPSBcIkdvb2dsZSBTaGVldHNcIjtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFRoZSBHb29nbGUgU2hlZXRzIHY0IHZhbHVlcyBBUEkgYmFzZSBVUkxcbiAgICAgKiBAc3VtbWFyeSBVc2VkIHdoZW4gdGhlIHJlc29sdmVkIGNvbmZpZyBjYXJyaWVzIG5vIGBiYXNlVXJsYC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBgXCJodHRwczovL3NoZWV0cy5nb29nbGVhcGlzLmNvbS92NC9zcHJlYWRzaGVldHNcImAuXG4gICAgICovXG4gICAgZGVmYXVsdEJhc2VVcmwoKSB7XG4gICAgICAgIHJldHVybiBcImh0dHBzOi8vc2hlZXRzLmdvb2dsZWFwaXMuY29tL3Y0L3NwcmVhZHNoZWV0c1wiO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQnVpbGRzIHRoZSBHb29nbGUgU2hlZXRzIGF1dGhvcml6YXRpb24gaGVhZGVyc1xuICAgICAqIEBzdW1tYXJ5IFJldHVybnMgdGhlIGBBdXRob3JpemF0aW9uOiBCZWFyZXIgPHRva2VuPmAgaGVhZGVyIHdoZW4gdGhlXG4gICAgICogY29uZmlnIGNhcnJpZXMgYW4gT0F1dGggdG9rZW4sIG90aGVyd2lzZSB0aGUgYFgtR29vZy1BcGktS2V5YCBoZWFkZXIgd2hlblxuICAgICAqIGFuIEFQSSBrZXkgaXMgY29uZmlndXJlZCwgYW5kIG5vIGhlYWRlcnMgb3RoZXJ3aXNlLlxuICAgICAqIEBwYXJhbSB7R29vZ2xlU2hlZXRzU2VydmljZUNvbmZpZ30gY29uZmlnIC0gVGhlIHJlc29sdmVkIHNlcnZpY2UgY29uZmlndXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gVGhlIGF1dGhvcml6YXRpb24gaGVhZGVycyAoZW1wdHkgd2l0aG91dCBhIHRva2VuIG9yIEFQSSBrZXkpLlxuICAgICAqL1xuICAgIGF1dGhIZWFkZXJzKGNvbmZpZykge1xuICAgICAgICBpZiAoY29uZmlnLnRva2VuKVxuICAgICAgICAgICAgcmV0dXJuIHsgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2NvbmZpZy50b2tlbn1gIH07XG4gICAgICAgIGlmIChjb25maWcuYXBpS2V5KVxuICAgICAgICAgICAgcmV0dXJuIHsgXCJYLUdvb2ctQXBpLUtleVwiOiBjb25maWcuYXBpS2V5IH07XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJlYWRzIHRoZSBHb29nbGUgU2hlZXRzIGNyZWRlbnRpYWxzIGFuZCBkZWZhdWx0cyBmcm9tIHRoZSBlbnZpcm9ubWVudFxuICAgICAqIEBzdW1tYXJ5IFJlYWRzIHRoZSBgaW8uZ29vZ2xlU2hlZXRzYCBlbnZpcm9ubWVudCBzbGljZSBhbmQgcmV0dXJucyBhXG4gICAgICogcGFydGlhbCBjb25maWcgd2hlbiBhIHRva2VuIG9yIEFQSSBrZXkgaXMgY29uZmlndXJlZCwgYHVuZGVmaW5lZGBcbiAgICAgKiBvdGhlcndpc2UuIFZhbHVlcyBwYXNzIHRocm91Z2ggYGVudlN0cmluZ2AvYGVudk51bWJlcmAgdG8gcmVqZWN0XG4gICAgICogdW5zZXQtbGVhZiBwcm94aWVzLlxuICAgICAqIEByZXR1cm5zIHtQYXJ0aWFsPEdvb2dsZVNoZWV0c1NlcnZpY2VDb25maWc+IHwgdW5kZWZpbmVkfSBBIHBhcnRpYWwgY29uZmlnLCBvciBgdW5kZWZpbmVkYCB3aGVuIG5laXRoZXIgdG9rZW4gbm9yIEFQSSBrZXkgaXMgY29uZmlndXJlZC5cbiAgICAgKi9cbiAgICBjb25maWdGcm9tRW52aXJvbm1lbnQoKSB7XG4gICAgICAgIGNvbnN0IGVudiA9IElvRW52aXJvbm1lbnQuaW8uZ29vZ2xlU2hlZXRzO1xuICAgICAgICBjb25zdCB0b2tlbiA9IGVudlN0cmluZyhlbnY/LnRva2VuKTtcbiAgICAgICAgY29uc3QgYXBpS2V5ID0gZW52U3RyaW5nKGVudj8uYXBpS2V5KTtcbiAgICAgICAgaWYgKCF0b2tlbiAmJiAhYXBpS2V5KVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgYXBpS2V5LFxuICAgICAgICAgICAgYmFzZVVybDogZW52U3RyaW5nKGVudi5iYXNlVXJsKSxcbiAgICAgICAgICAgIHRpbWVvdXQ6IGVudk51bWJlcihlbnYudGltZW91dCksXG4gICAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBBc3NlcnRzIHRoYXQgdGhlIHNlcnZpY2Ugd2FzIGNvbmZpZ3VyZWQgd2l0aCBPQXV0aCBjcmVkZW50aWFsc1xuICAgICAqIEBzdW1tYXJ5IFRocm93cyB3aGVuIHRoZSByZXNvbHZlZCBjb25maWcgY2FycmllcyBuZWl0aGVyIGEgYHRva2VuYCBub3IgYW5cbiAgICAgKiBgYXBpS2V5YDsgZXZlcnkgb3BlcmF0aW9uIGNhbGxzIHRoaXMgYmVmb3JlIGlzc3VpbmcgcmVxdWVzdHMuXG4gICAgICogQHJldHVybnMge3ZvaWR9XG4gICAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBuZWl0aGVyIGFuIE9BdXRoIHRva2VuIG5vciBhbiBBUEkga2V5IGlzIGNvbmZpZ3VyZWQuXG4gICAgICovXG4gICAgcmVxdWlyZUF1dGgoKSB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnO1xuICAgICAgICBpZiAoIWNvbmZpZy50b2tlbiAmJiAhY29uZmlnLmFwaUtleSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJHb29nbGUgU2hlZXRzIHJlcXVpcmVzIGFuIE9BdXRoIHRva2VuIG9yIGFuIEFQSSBrZXlcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFVSTC1lbmNvZGVzIGFuIEExIHJhbmdlIGZvciB0aGUgdmFsdWVzIEFQSSBwYXRoXG4gICAgICogQHN1bW1hcnkgUmFuZ2VzIHN1Y2ggYXMgYFNoZWV0MSFBMTpCMmAgY29udGFpbiBjaGFyYWN0ZXJzIHRoYXQgbXVzdCBiZVxuICAgICAqIHBlcmNlbnQtZW5jb2RlZDsgYWxsIG9wZXJhdGlvbnMgcm91dGUgdGhlIHJhbmdlIHRocm91Z2ggdGhpcyBoZWxwZXIuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHJhbmdlIC0gVGhlIEExIG5vdGF0aW9uIHJhbmdlIHRvIGVuY29kZS5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgVVJMLWVuY29kZWQgcmFuZ2UuXG4gICAgICovXG4gICAgcmFuZ2VQYXRoKHJhbmdlKSB7XG4gICAgICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQocmFuZ2UpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVhZHMgdmFsdWVzIGZyb20gYW4gQTEgcmFuZ2Ugb2YgYSBzcHJlYWRzaGVldFxuICAgICAqIEBzdW1tYXJ5IGBHRVRgcyB0aGUgdmFsdWVzIGVuZHBvaW50IGZvciB0aGUgZ2l2ZW4gYHNwcmVhZHNoZWV0SWRgIGFuZFxuICAgICAqIGByYW5nZWAgYW5kIHJldHVybnMgdGhlIHNlcnZlZCByYW5nZSwgbWFqb3IgZGltZW5zaW9uLCBhbmQgdGhlIGdyaWRcbiAgICAgKiB2YWx1ZXMgKHJvd3Mgb2YgY2VsbCBzdHJpbmdzKS4gUmVxdWlyZXMgY3JlZGVudGlhbHMgYW5kIGJvdGggYXJndW1lbnRzLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzcHJlYWRzaGVldElkIC0gVGhlIHNwcmVhZHNoZWV0IHRvIHJlYWQgZnJvbS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmFuZ2UgLSBUaGUgQTEgbm90YXRpb24gcmFuZ2UgdG8gcmVhZCAoZS5nLiBgXCJTaGVldDEhQTE6QzEwXCJgKS5cbiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZTxHb29nbGVTaGVldHNWYWx1ZXNSZXN1bHQ+fSBUaGUgc2VydmVkIHJhbmdlIGFuZCBncmlkIHZhbHVlcy5cbiAgICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIGNyZWRlbnRpYWxzIGFyZSBtaXNzaW5nIG9yIHRoZSBzcHJlYWRzaGVldCBJRC9yYW5nZSBpcyBlbXB0eS5cbiAgICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBXaGVuIHRoZSBzcHJlYWRzaGVldCBkb2VzIG5vdCBleGlzdCAoSFRUUCA0MDQpLlxuICAgICAqIEB0aHJvd3Mge0NvbmZsaWN0RXJyb3J9IFdoZW4gR29vZ2xlIGFuc3dlcnMgd2l0aCBIVFRQIDQwOS5cbiAgICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gR29vZ2xlIGFuc3dlcnMgd2l0aCBhbnkgb3RoZXIgSFRUUCBlcnJvciBzdGF0dXMgKGUuZy4gaW52YWxpZCByYW5nZSkuXG4gICAgICovXG4gICAgYXN5bmMgZ2V0VmFsdWVzKHNwcmVhZHNoZWV0SWQsIHJhbmdlKSB7XG4gICAgICAgIHRoaXMucmVxdWlyZUF1dGgoKTtcbiAgICAgICAgaWYgKCFzcHJlYWRzaGVldElkIHx8ICFyYW5nZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJHb29nbGUgU2hlZXRzIGdldFZhbHVlcyByZXF1aXJlcyBhIHNwcmVhZHNoZWV0IElEIGFuZCByYW5nZVwiKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5nZXQoYC8ke2VuY29kZVVSSUNvbXBvbmVudChzcHJlYWRzaGVldElkKX0vdmFsdWVzLyR7dGhpcy5yYW5nZVBhdGgocmFuZ2UpfWApO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzcHJlYWRzaGVldElkLFxuICAgICAgICAgICAgICAgIHJhbmdlOiByZXNwb25zZS5kYXRhLnJhbmdlID8/IHJhbmdlLFxuICAgICAgICAgICAgICAgIG1ham9yRGltZW5zaW9uOiByZXNwb25zZS5kYXRhLm1ham9yRGltZW5zaW9uLFxuICAgICAgICAgICAgICAgIHZhbHVlczogcmVzcG9uc2UuZGF0YS52YWx1ZXMgPz8gW10sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgaHR0cEVycm9yKFwiR29vZ2xlIFNoZWV0c1wiLCBcImdldCB2YWx1ZXNcIiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBPdmVyd3JpdGVzIHZhbHVlcyBpbiBhbiBBMSByYW5nZSBvZiBhIHNwcmVhZHNoZWV0XG4gICAgICogQHN1bW1hcnkgYFBVVGBzIHRoZSByb3cgdmFsdWVzIHRvIHRoZSB2YWx1ZXMgZW5kcG9pbnQgZm9yIHRoZSBnaXZlblxuICAgICAqIGBzcHJlYWRzaGVldElkYCBhbmQgYHJhbmdlYC4gQ2VsbHMgYXJlIGludGVycHJldGVkIGFjY29yZGluZyB0b1xuICAgICAqIGB2YWx1ZUlucHV0T3B0aW9uYCAoYFwiVVNFUl9FTlRFUkVEXCJgIGJ5IGRlZmF1bHQsIGBcIlJBV1wiYCB0byBzdG9yZSB0ZXh0XG4gICAgICogdmVyYmF0aW0pLCBhbmQgdGhlIGV4aXN0aW5nIHJhbmdlIGNvbnRlbnQgaXMgcmVwbGFjZWQuXG4gICAgICogQHBhcmFtIHtHb29nbGVTaGVldHNXcml0ZUlucHV0fSBpbnB1dCAtIFRoZSB0YXJnZXQgc3ByZWFkc2hlZXQsIHJhbmdlLCB2YWx1ZXMsIGFuZCBpbnB1dCBpbnRlcnByZXRhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZTxHb29nbGVTaGVldHNWYWx1ZXNSZXN1bHQ+fSBUaGUgc2VydmVkIHJhbmdlIGFuZCB0aGUgd3JpdHRlbiB2YWx1ZXMuXG4gICAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBjcmVkZW50aWFscyBhcmUgbWlzc2luZy5cbiAgICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBXaGVuIHRoZSBzcHJlYWRzaGVldCBkb2VzIG5vdCBleGlzdCAoSFRUUCA0MDQpLlxuICAgICAqIEB0aHJvd3Mge0NvbmZsaWN0RXJyb3J9IFdoZW4gR29vZ2xlIGFuc3dlcnMgd2l0aCBIVFRQIDQwOS5cbiAgICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gR29vZ2xlIGFuc3dlcnMgd2l0aCBhbnkgb3RoZXIgSFRUUCBlcnJvciBzdGF0dXMgKGUuZy4gaW52YWxpZCByYW5nZSkuXG4gICAgICovXG4gICAgYXN5bmMgdXBkYXRlVmFsdWVzKGlucHV0KSB7XG4gICAgICAgIHRoaXMucmVxdWlyZUF1dGgoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucHV0KGAvJHtlbmNvZGVVUklDb21wb25lbnQoaW5wdXQuc3ByZWFkc2hlZXRJZCl9L3ZhbHVlcy8ke3RoaXMucmFuZ2VQYXRoKGlucHV0LnJhbmdlKX1gLCB7XG4gICAgICAgICAgICAgICAgcmFuZ2U6IGlucHV0LnJhbmdlLFxuICAgICAgICAgICAgICAgIG1ham9yRGltZW5zaW9uOiBcIlJPV1NcIixcbiAgICAgICAgICAgICAgICB2YWx1ZXM6IGlucHV0LnZhbHVlcyxcbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVJbnB1dE9wdGlvbjogaW5wdXQudmFsdWVJbnB1dE9wdGlvbiA/PyBcIlVTRVJfRU5URVJFRFwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc3ByZWFkc2hlZXRJZDogaW5wdXQuc3ByZWFkc2hlZXRJZCxcbiAgICAgICAgICAgICAgICByYW5nZTogcmVzcG9uc2UuZGF0YS5yYW5nZSA/PyBpbnB1dC5yYW5nZSxcbiAgICAgICAgICAgICAgICBtYWpvckRpbWVuc2lvbjogcmVzcG9uc2UuZGF0YS5tYWpvckRpbWVuc2lvbiA/PyBcIlJPV1NcIixcbiAgICAgICAgICAgICAgICB2YWx1ZXM6IHJlc3BvbnNlLmRhdGEudmFsdWVzID8/IGlucHV0LnZhbHVlcyxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBodHRwRXJyb3IoXCJHb29nbGUgU2hlZXRzXCIsIFwidXBkYXRlIHZhbHVlc1wiLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEFwcGVuZHMgdmFsdWVzIGFmdGVyIHRoZSBsYXN0IHJvdyBvZiBhbiBBMSByYW5nZSdzIHRhYmxlXG4gICAgICogQHN1bW1hcnkgYFBPU1RgcyB0aGUgcm93IHZhbHVlcyB0byB0aGUgYDphcHBlbmRgIGVuZHBvaW50IGZvciB0aGUgZ2l2ZW5cbiAgICAgKiBgc3ByZWFkc2hlZXRJZGAgYW5kIGByYW5nZWAsIGluc2VydGluZyBuZXcgcm93cyBhZnRlciBleGlzdGluZyB0YWJsZSBkYXRhXG4gICAgICogKGBpbnNlcnREYXRhT3B0aW9uOiBcIklOU0VSVF9ST1dTXCJgKS4gQ2VsbHMgYXJlIGludGVycHJldGVkIGFjY29yZGluZyB0b1xuICAgICAqIGB2YWx1ZUlucHV0T3B0aW9uYCAoYFwiVVNFUl9FTlRFUkVEXCJgIGJ5IGRlZmF1bHQpLiBVc2UgYSBzaW5nbGUtcm93IG9yXG4gICAgICogc2luZ2xlLWNvbHVtbiBBMSByYW5nZSB0byBhbmNob3IgdGhlIHRhYmxlOyBHb29nbGUgcmVwb3J0cyB0aGUgcmFuZ2UgdGhlXG4gICAgICogZGF0YSBhY3R1YWxseSBsYW5kZWQgaW4uXG4gICAgICogQHBhcmFtIHtHb29nbGVTaGVldHNXcml0ZUlucHV0fSBpbnB1dCAtIFRoZSB0YXJnZXQgc3ByZWFkc2hlZXQsIGFuY2hvciByYW5nZSwgdmFsdWVzLCBhbmQgaW5wdXQgaW50ZXJwcmV0YXRpb24uXG4gICAgICogQHJldHVybnMge1Byb21pc2U8R29vZ2xlU2hlZXRzVmFsdWVzUmVzdWx0Pn0gVGhlIHJhbmdlIHRoZSBhcHBlbmRlZCByb3dzIGxhbmRlZCBpbiBhbmQgdGhlIGFwcGVuZGVkIHZhbHVlcy5cbiAgICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIGNyZWRlbnRpYWxzIGFyZSBtaXNzaW5nLlxuICAgICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IFdoZW4gdGhlIHNwcmVhZHNoZWV0IGRvZXMgbm90IGV4aXN0IChIVFRQIDQwNCkuXG4gICAgICogQHRocm93cyB7Q29uZmxpY3RFcnJvcn0gV2hlbiBHb29nbGUgYW5zd2VycyB3aXRoIEhUVFAgNDA5LlxuICAgICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiBHb29nbGUgYW5zd2VycyB3aXRoIGFueSBvdGhlciBIVFRQIGVycm9yIHN0YXR1cyAoZS5nLiBpbnZhbGlkIHJhbmdlKS5cbiAgICAgKi9cbiAgICBhc3luYyBhcHBlbmRWYWx1ZXMoaW5wdXQpIHtcbiAgICAgICAgdGhpcy5yZXF1aXJlQXV0aCgpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0KGAvJHtlbmNvZGVVUklDb21wb25lbnQoaW5wdXQuc3ByZWFkc2hlZXRJZCl9L3ZhbHVlcy8ke3RoaXMucmFuZ2VQYXRoKGlucHV0LnJhbmdlKX06YXBwZW5kYCwge1xuICAgICAgICAgICAgICAgIHJhbmdlOiBpbnB1dC5yYW5nZSxcbiAgICAgICAgICAgICAgICBtYWpvckRpbWVuc2lvbjogXCJST1dTXCIsXG4gICAgICAgICAgICAgICAgdmFsdWVzOiBpbnB1dC52YWx1ZXMsXG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlSW5wdXRPcHRpb246IGlucHV0LnZhbHVlSW5wdXRPcHRpb24gPz8gXCJVU0VSX0VOVEVSRURcIixcbiAgICAgICAgICAgICAgICAgICAgaW5zZXJ0RGF0YU9wdGlvbjogXCJJTlNFUlRfUk9XU1wiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgc3ByZWFkc2hlZXRJZDogaW5wdXQuc3ByZWFkc2hlZXRJZCxcbiAgICAgICAgICAgICAgICByYW5nZTogcmVzcG9uc2UuZGF0YS5yYW5nZSA/PyBpbnB1dC5yYW5nZSxcbiAgICAgICAgICAgICAgICBtYWpvckRpbWVuc2lvbjogcmVzcG9uc2UuZGF0YS5tYWpvckRpbWVuc2lvbiA/PyBcIlJPV1NcIixcbiAgICAgICAgICAgICAgICB2YWx1ZXM6IHJlc3BvbnNlLmRhdGEudmFsdWVzID8/IFtdLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGh0dHBFcnJvcihcIkdvb2dsZSBTaGVldHNcIiwgXCJhcHBlbmQgdmFsdWVzXCIsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ2xlYXJzIGFsbCB2YWx1ZXMgaW4gYW4gQTEgcmFuZ2Ugb2YgYSBzcHJlYWRzaGVldFxuICAgICAqIEBzdW1tYXJ5IGBQT1NUYHMgdGhlIGA6Y2xlYXJgIGVuZHBvaW50IGZvciB0aGUgZ2l2ZW4gYHNwcmVhZHNoZWV0SWRgIGFuZFxuICAgICAqIGByYW5nZWAsIGVtcHR5aW5nIHRoZSBjZWxscyB3aGlsZSBwcmVzZXJ2aW5nIGZvcm1hdHRpbmcsIGFuZCByZXR1cm5zIHRoZVxuICAgICAqIHJhbmdlIEdvb2dsZSBhY3R1YWxseSBjbGVhcmVkLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzcHJlYWRzaGVldElkIC0gVGhlIHNwcmVhZHNoZWV0IHRvIGNsZWFyIHZhbHVlcyBpbi5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmFuZ2UgLSBUaGUgQTEgbm90YXRpb24gcmFuZ2UgdG8gY2xlYXIuXG4gICAgICogQHJldHVybnMge1Byb21pc2U8e3NwcmVhZHNoZWV0SWQ6IHN0cmluZywgY2xlYXJlZFJhbmdlOiBzdHJpbmd9Pn0gVGhlIGNsZWFyZWQgcmFuZ2UgYXMgcmVwb3J0ZWQgYnkgR29vZ2xlLlxuICAgICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gY3JlZGVudGlhbHMgYXJlIG1pc3NpbmcuXG4gICAgICogQHRocm93cyB7Tm90Rm91bmRFcnJvcn0gV2hlbiB0aGUgc3ByZWFkc2hlZXQgZG9lcyBub3QgZXhpc3QgKEhUVFAgNDA0KS5cbiAgICAgKiBAdGhyb3dzIHtDb25mbGljdEVycm9yfSBXaGVuIEdvb2dsZSBhbnN3ZXJzIHdpdGggSFRUUCA0MDkuXG4gICAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIEdvb2dsZSBhbnN3ZXJzIHdpdGggYW55IG90aGVyIEhUVFAgZXJyb3Igc3RhdHVzIChlLmcuIGludmFsaWQgcmFuZ2UpLlxuICAgICAqL1xuICAgIGFzeW5jIGNsZWFyVmFsdWVzKHNwcmVhZHNoZWV0SWQsIHJhbmdlKSB7XG4gICAgICAgIHRoaXMucmVxdWlyZUF1dGgoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucG9zdChgLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHNwcmVhZHNoZWV0SWQpfS92YWx1ZXMvJHt0aGlzLnJhbmdlUGF0aChyYW5nZSl9OmNsZWFyYCwge30pO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBzcHJlYWRzaGVldElkLFxuICAgICAgICAgICAgICAgIGNsZWFyZWRSYW5nZTogcmVzcG9uc2UuZGF0YS5jbGVhcmVkUmFuZ2UgPz8gcmFuZ2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgaHR0cEVycm9yKFwiR29vZ2xlIFNoZWV0c1wiLCBcImNsZWFyIHZhbHVlc1wiLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBuZXcgc3ByZWFkc2hlZXQgd2l0aCB0aGUgZ2l2ZW4gdGl0bGVcbiAgICAgKiBAc3VtbWFyeSBgUE9TVGBzIGEgc3ByZWFkc2hlZXQgcmVzb3VyY2Ugd2l0aCBgcHJvcGVydGllcy50aXRsZWAgdG8gdGhlXG4gICAgICogc3ByZWFkc2hlZXRzIGVuZHBvaW50IGFuZCByZXR1cm5zIHRoZSBuZXcgc3ByZWFkc2hlZXQncyBJRCBhbmQgVVJMLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0aXRsZSAtIFRoZSB0aXRsZSBmb3IgdGhlIG5ldyBzcHJlYWRzaGVldC5cbiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZTx7c3ByZWFkc2hlZXRJZDogc3RyaW5nLCBzcHJlYWRzaGVldFVybD86IHN0cmluZ30+fSBUaGUgY3JlYXRlZCBzcHJlYWRzaGVldCdzIElEIGFuZCBVUkwuXG4gICAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBjcmVkZW50aWFscyBhcmUgbWlzc2luZyBvciB0aGUgdGl0bGUgaXMgZW1wdHkuXG4gICAgICogQHRocm93cyB7Tm90Rm91bmRFcnJvcn0gV2hlbiBHb29nbGUgYW5zd2VycyB3aXRoIEhUVFAgNDA0LlxuICAgICAqIEB0aHJvd3Mge0NvbmZsaWN0RXJyb3J9IFdoZW4gR29vZ2xlIGFuc3dlcnMgd2l0aCBIVFRQIDQwOS5cbiAgICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gR29vZ2xlIGFuc3dlcnMgd2l0aCBhbnkgb3RoZXIgSFRUUCBlcnJvciBzdGF0dXMuXG4gICAgICovXG4gICAgYXN5bmMgY3JlYXRlU3ByZWFkc2hlZXQodGl0bGUpIHtcbiAgICAgICAgdGhpcy5yZXF1aXJlQXV0aCgpO1xuICAgICAgICBpZiAoIXRpdGxlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkdvb2dsZSBTaGVldHMgY3JlYXRlU3ByZWFkc2hlZXQgcmVxdWlyZXMgYSB0aXRsZVwiKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0KFwiL1wiLCB7XG4gICAgICAgICAgICAgICAgcHJvcGVydGllczogeyB0aXRsZSB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHNwcmVhZHNoZWV0SWQ6IHJlc3BvbnNlLmRhdGEuc3ByZWFkc2hlZXRJZCxcbiAgICAgICAgICAgICAgICBzcHJlYWRzaGVldFVybDogcmVzcG9uc2UuZGF0YS5zcHJlYWRzaGVldFVybCxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBodHRwRXJyb3IoXCJHb29nbGUgU2hlZXRzXCIsIFwiY3JlYXRlIHNwcmVhZHNoZWV0XCIsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVIyOXZaMnhsVTJobFpYUnpVMlZ5ZG1salpTNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUwzTnlZeTlwYnk5bmIyOW5iR1V0YzJobFpYUnpMMGR2YjJkc1pWTm9aV1YwYzFObGNuWnBZMlV1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdPenM3T3pzN096czdSMEZWUnp0QlFVTklMRTlCUVU4c1JVRkJSU3hoUVVGaExFVkJRVVVzVFVGQlRTeDVRa0ZCZVVJc1EwRkJRenRCUVVONFJDeFBRVUZQTEVWQlFVVXNZVUZCWVN4RlFVRkZMRFJDUVVGMVFqdEJRVU12UXl4UFFVRlBMRVZCUVVVc1UwRkJVeXhGUVVGRkxGTkJRVk1zUlVGQlJTd3lRMEZCYzBNN1FVRkRja1VzVDBGQlR5eEZRVU5NTEdOQlFXTXNSVUZGWkN4VFFVRlRMRWRCUTFZc2NVTkJRVEJDTzBGQmQwUXpRanM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3UjBFMlFrYzdRVUZEU0N4TlFVRk5MRTlCUVU4c2JVSkJRVzlDTEZOQlFWRXNZMEZCZVVNN1NVRkJiRVk3TzFGQlEwVTdPMWRCUlVjN1VVRkRaMElzWjBKQlFWY3NSMEZCUnl4bFFVRmxMRU5CUVVNN1NVRnRVbTVFTEVOQlFVTTdTVUZxVWtNN096czdUMEZKUnp0SlFVTlBMR05CUVdNN1VVRkRkRUlzVDBGQlR5d3JRMEZCSzBNc1EwRkJRenRKUVVONlJDeERRVUZETzBsQlJVUTdPenM3T3pzN1QwRlBSenRKUVVOUExGZEJRVmNzUTBGRGJrSXNUVUZCYVVNN1VVRkZha01zU1VGQlNTeE5RVUZOTEVOQlFVTXNTMEZCU3p0WlFVRkZMRTlCUVU4c1JVRkJSU3hoUVVGaExFVkJRVVVzVlVGQlZTeE5RVUZOTEVOQlFVTXNTMEZCU3l4RlFVRkZMRVZCUVVVc1EwRkJRenRSUVVOeVJTeEpRVUZKTEUxQlFVMHNRMEZCUXl4TlFVRk5PMWxCUVVVc1QwRkJUeXhGUVVGRkxHZENRVUZuUWl4RlFVRkZMRTFCUVUwc1EwRkJReXhOUVVGTkxFVkJRVVVzUTBGQlF6dFJRVU01UkN4UFFVRlBMRVZCUVVVc1EwRkJRenRKUVVOYUxFTkJRVU03U1VGRlJEczdPenM3T3p0UFFVOUhPMGxCUTA4c2NVSkJRWEZDTzFGQlJ6ZENMRTFCUVUwc1IwRkJSeXhIUVVGSExHRkJRV0VzUTBGQlF5eEZRVUZGTEVOQlFVTXNXVUZCV1N4RFFVRkRPMUZCUXpGRExFMUJRVTBzUzBGQlN5eEhRVUZITEZOQlFWTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRGNFTXNUVUZCVFN4TlFVRk5MRWRCUVVjc1UwRkJVeXhEUVVGRExFZEJRVWNzUlVGQlJTeE5RVUZOTEVOQlFVTXNRMEZCUXp0UlFVTjBReXhKUVVGSkxFTkJRVU1zUzBGQlN5eEpRVUZKTEVOQlFVTXNUVUZCVFR0WlFVRkZMRTlCUVU4c1UwRkJVeXhEUVVGRE8xRkJRM2hETEU5QlFVODdXVUZEVEN4TFFVRkxPMWxCUTB3c1RVRkJUVHRaUVVOT0xFOUJRVThzUlVGQlJTeFRRVUZUTEVOQlFVTXNSMEZCUnl4RFFVRkRMRTlCUVU4c1EwRkJRenRaUVVNdlFpeFBRVUZQTEVWQlFVVXNVMEZCVXl4RFFVRkRMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU03VTBGRGFFTXNRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkZSRHM3T3pzN08wOUJUVWM3U1VGRFR5eFhRVUZYTzFGQlEyNUNMRTFCUVUwc1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTTdVVUZETTBJc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eExRVUZMTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hGUVVGRkxFTkJRVU03V1VGRGNFTXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkRja0lzY1VSQlFYRkVMRU5CUTNSRUxFTkJRVU03VVVGRFNpeERRVUZETzBsQlEwZ3NRMEZCUXp0SlFVVkVPenM3T3pzN1QwRk5SenRKUVVOUExGTkJRVk1zUTBGQlF5eExRVUZoTzFGQlF5OUNMRTlCUVU4c2EwSkJRV3RDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRU5CUVVNN1NVRkRia01zUTBGQlF6dEpRVVZFT3pzN096czdPenM3T3pzN1QwRlpSenRKUVVOSUxFdEJRVXNzUTBGQlF5eFRRVUZUTEVOQlEySXNZVUZCY1VJc1JVRkRja0lzUzBGQllUdFJRVVZpTEVsQlFVa3NRMEZCUXl4WFFVRlhMRVZCUVVVc1EwRkJRenRSUVVOdVFpeEpRVUZKTEVOQlFVTXNZVUZCWVN4SlFVRkpMRU5CUVVNc1MwRkJTeXhGUVVGRkxFTkJRVU03V1VGRE4wSXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkRja0lzTmtSQlFUWkVMRU5CUXpsRUxFTkJRVU03VVVGRFNpeERRVUZETzFGQlEwUXNTVUZCU1N4RFFVRkRPMWxCUTBnc1RVRkJUU3hSUVVGUkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkRjRU1zU1VGQlNTeHJRa0ZCYTBJc1EwRkJReXhoUVVGaExFTkJRVU1zVjBGQlZ5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRXRCUVVzc1EwRkJReXhGUVVGRkxFTkJRM2hGTEVOQlFVTTdXVUZEUml4UFFVRlBPMmRDUVVOTUxHRkJRV0U3WjBKQlEySXNTMEZCU3l4RlFVRkZMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eEpRVUZKTEV0QlFVczdaMEpCUTI1RExHTkJRV01zUlVGQlJTeFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkRMR05CUVdNN1owSkJRelZETEUxQlFVMHNSVUZCUlN4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzU1VGQlNTeEZRVUZGTzJGQlEyNURMRU5CUVVNN1VVRkRTaXhEUVVGRE8xRkJRVU1zVDBGQlR5eExRVUZMTEVWQlFVVXNRMEZCUXp0WlFVTm1MRTFCUVUwc1UwRkJVeXhEUVVGRExHVkJRV1VzUlVGQlJTeFpRVUZaTEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkRlRVFzUTBGQlF6dEpRVU5JTEVOQlFVTTdTVUZGUkRzN096czdPenM3T3pzN08wOUJXVWM3U1VGRFNDeExRVUZMTEVOQlFVTXNXVUZCV1N4RFFVTm9RaXhMUVVFMlFqdFJRVVUzUWl4SlFVRkpMRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU03VVVGRGJrSXNTVUZCU1N4RFFVRkRPMWxCUTBnc1RVRkJUU3hSUVVGUkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWRCUVVjc1EwRkRjRU1zU1VGQlNTeHJRa0ZCYTBJc1EwRkJReXhMUVVGTExFTkJRVU1zWVVGQllTeERRVUZETEZkQlFWY3NTVUZCU1N4RFFVRkRMRk5CUVZNc1EwRkRiRVVzUzBGQlN5eERRVUZETEV0QlFVc3NRMEZEV2l4RlFVRkZMRVZCUTBnN1owSkJRMFVzUzBGQlN5eEZRVUZGTEV0QlFVc3NRMEZCUXl4TFFVRkxPMmRDUVVOc1FpeGpRVUZqTEVWQlFVVXNUVUZCVFR0blFrRkRkRUlzVFVGQlRTeEZRVUZGTEV0QlFVc3NRMEZCUXl4TlFVRk5PMkZCUTNKQ0xFVkJRMFE3WjBKQlEwVXNUVUZCVFN4RlFVRkZPMjlDUVVOT0xHZENRVUZuUWl4RlFVRkZMRXRCUVVzc1EwRkJReXhuUWtGQlowSXNTVUZCU1N4alFVRmpPMmxDUVVNelJEdGhRVU5HTEVOQlEwWXNRMEZCUXp0WlFVTkdMRTlCUVU4N1owSkJRMHdzWVVGQllTeEZRVUZGTEV0QlFVc3NRMEZCUXl4aFFVRmhPMmRDUVVOc1F5eExRVUZMTEVWQlFVVXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhMUVVGTExFbEJRVWtzUzBGQlN5eERRVUZETEV0QlFVczdaMEpCUTNwRExHTkJRV01zUlVGQlJTeFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkRMR05CUVdNc1NVRkJTU3hOUVVGTk8yZENRVU4wUkN4TlFVRk5MRVZCUVVVc1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTFCUVUwN1lVRkROME1zUTBGQlF6dFJRVU5LTEVOQlFVTTdVVUZCUXl4UFFVRlBMRXRCUVVzc1JVRkJSU3hEUVVGRE8xbEJRMllzVFVGQlRTeFRRVUZUTEVOQlFVTXNaVUZCWlN4RlFVRkZMR1ZCUVdVc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU16UkN4RFFVRkRPMGxCUTBnc1EwRkJRenRKUVVWRU96czdPenM3T3pzN096czdPenRQUVdOSE8wbEJRMGdzUzBGQlN5eERRVUZETEZsQlFWa3NRMEZEYUVJc1MwRkJOa0k3VVVGRk4wSXNTVUZCU1N4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRE8xRkJRMjVDTEVsQlFVa3NRMEZCUXp0WlFVTklMRTFCUVUwc1VVRkJVU3hIUVVGSExFMUJRVTBzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRU5CUTNKRExFbEJRVWtzYTBKQlFXdENMRU5CUVVNc1MwRkJTeXhEUVVGRExHRkJRV0VzUTBGQlF5eFhRVUZYTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUTJ4RkxFdEJRVXNzUTBGQlF5eExRVUZMTEVOQlExb3NVMEZCVXl4RlFVTldPMmRDUVVORkxFdEJRVXNzUlVGQlJTeExRVUZMTEVOQlFVTXNTMEZCU3p0blFrRkRiRUlzWTBGQll5eEZRVUZGTEUxQlFVMDdaMEpCUTNSQ0xFMUJRVTBzUlVGQlJTeExRVUZMTEVOQlFVTXNUVUZCVFR0aFFVTnlRaXhGUVVORU8yZENRVU5GTEUxQlFVMHNSVUZCUlR0dlFrRkRUaXhuUWtGQlowSXNSVUZCUlN4TFFVRkxMRU5CUVVNc1owSkJRV2RDTEVsQlFVa3NZMEZCWXp0dlFrRkRNVVFzWjBKQlFXZENMRVZCUVVVc1lVRkJZVHRwUWtGRGFFTTdZVUZEUml4RFFVTkdMRU5CUVVNN1dVRkRSaXhQUVVGUE8yZENRVU5NTEdGQlFXRXNSVUZCUlN4TFFVRkxMRU5CUVVNc1lVRkJZVHRuUWtGRGJFTXNTMEZCU3l4RlFVRkZMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eEpRVUZKTEV0QlFVc3NRMEZCUXl4TFFVRkxPMmRDUVVONlF5eGpRVUZqTEVWQlFVVXNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJReXhqUVVGakxFbEJRVWtzVFVGQlRUdG5Ra0ZEZEVRc1RVRkJUU3hGUVVGRkxGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4SlFVRkpMRVZCUVVVN1lVRkRia01zUTBGQlF6dFJRVU5LTEVOQlFVTTdVVUZCUXl4UFFVRlBMRXRCUVVzc1JVRkJSU3hEUVVGRE8xbEJRMllzVFVGQlRTeFRRVUZUTEVOQlFVTXNaVUZCWlN4RlFVRkZMR1ZCUVdVc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU16UkN4RFFVRkRPMGxCUTBnc1EwRkJRenRKUVVWRU96czdPenM3T3pzN096czdUMEZaUnp0SlFVTklMRXRCUVVzc1EwRkJReXhYUVVGWExFTkJRMllzWVVGQmNVSXNSVUZEY2tJc1MwRkJZVHRSUVVWaUxFbEJRVWtzUTBGQlF5eFhRVUZYTEVWQlFVVXNRMEZCUXp0UlFVTnVRaXhKUVVGSkxFTkJRVU03V1VGRFNDeE5RVUZOTEZGQlFWRXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVU55UXl4SlFVRkpMR3RDUVVGclFpeERRVUZETEdGQlFXRXNRMEZCUXl4WFFVRlhMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRelZFTEV0QlFVc3NRMEZEVGl4UlFVRlJMRVZCUTFRc1JVRkJSU3hEUVVOSUxFTkJRVU03V1VGRFJpeFBRVUZQTzJkQ1FVTk1MR0ZCUVdFN1owSkJRMklzV1VGQldTeEZRVUZGTEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hKUVVGSkxFdEJRVXM3WVVGRGJFUXNRMEZCUXp0UlFVTktMRU5CUVVNN1VVRkJReXhQUVVGUExFdEJRVXNzUlVGQlJTeERRVUZETzFsQlEyWXNUVUZCVFN4VFFVRlRMRU5CUVVNc1pVRkJaU3hGUVVGRkxHTkJRV01zUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTXhSQ3hEUVVGRE8wbEJRMGdzUTBGQlF6dEpRVVZFT3pzN096czdPenM3TzA5QlZVYzdTVUZEU0N4TFFVRkxMRU5CUVVNc2FVSkJRV2xDTEVOQlEzSkNMRXRCUVdFN1VVRkZZaXhKUVVGSkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTTdVVUZEYmtJc1NVRkJTU3hEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETzFsQlExZ3NUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkRja0lzYTBSQlFXdEVMRU5CUTI1RUxFTkJRVU03VVVGRFNpeERRVUZETzFGQlEwUXNTVUZCU1N4RFFVRkRPMWxCUTBnc1RVRkJUU3hSUVVGUkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkhjRU1zUjBGQlJ5eEZRVUZGTzJkQ1FVTk9MRlZCUVZVc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJUdGhRVU4wUWl4RFFVRkRMRU5CUVVNN1dVRkRTQ3hQUVVGUE8yZENRVU5NTEdGQlFXRXNSVUZCUlN4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExHRkJRV0U3WjBKQlF6RkRMR05CUVdNc1JVRkJSU3hSUVVGUkxFTkJRVU1zU1VGQlNTeERRVUZETEdOQlFXTTdZVUZETjBNc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGQlF5eFBRVUZQTEV0QlFVc3NSVUZCUlN4RFFVRkRPMWxCUTJZc1RVRkJUU3hUUVVGVExFTkJRVU1zWlVGQlpTeEZRVUZGTEc5Q1FVRnZRaXhGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzFGQlEyaEZMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wTkJRMFlpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCdGIyUjFiR1VnYVc1MFpXZHlZWFJwYjI1ekwybHZMMmR2YjJkc1pTMXphR1ZsZEhNdmMyVnlkbWxqWlZ4dUlDb2dRSE4xYlcxaGNua2dSMjl2WjJ4bElGTm9aV1YwY3lCQlVFa2dhVzUwWldkeVlYUnBiMjRnYzJWeWRtbGpaU0JtYjNJZ2NtVmhaR2x1WnlCaGJtUWdkM0pwZEdsdVp5QnpjSEpsWVdSemFHVmxkQ0IyWVd4MVpYTXVYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdSWGh3YjNObGN5QjBhR1VnUjI5dloyeGxJRk5vWldWMGN5QjJOQ0IyWVd4MVpYTWdRVkJKSUNoZ1oyVjBZQ3dnWUhWd1pHRjBaV0FzWEc0Z0tpQmdZWEJ3Wlc1a1lDd2dZR05zWldGeVlDa2dZVzVrSUhOd2NtVmhaSE5vWldWMElHTnlaV0YwYVc5dUlHRnpJR0Z1SUhWdVpHVmpiM0poZEdWa1hHNGdLaUJqYkdsbGJuUXRZbUZ6WldRZ2MyVnlkbWxqWlNCaWRXbHNkQ0J2Ymx4dUlDb2dlMEJzYVc1cklFaDBkSEJCY0dsVFpYSjJhV05sZlM0Z1FYVjBhR1Z1ZEdsallYUnBiMjRnWVdOalpYQjBjeUJsYVhSb1pYSWdZVzRnVDBGMWRHZ2dkRzlyWlc1Y2JpQXFJQ2hpWldGeVpYSXBJRzl5SUdFZ2NHeGhhVzRnUVZCSklHdGxlU0FvWUZndFIyOXZaeTFCY0drdFMyVjVZQ2s3SUdOdmJtWnBaM1Z5WVhScGIyNGdZMjl0WlhNZ1puSnZiU0JoYmx4dUlDb2daWGh3YkdsamFYUWdZRWR2YjJkc1pWTm9aV1YwYzFObGNuWnBZMlZEYjI1bWFXZGdJRzl5SUhSb1pTQmdhVzh1WjI5dloyeGxVMmhsWlhSellDQmxiblpwY205dWJXVnVkRnh1SUNvZ2MyeHBZMlVzSUdGdVpDQm1ZV2xzZFhKbGN5QmhjbVVnYldGd2NHVmtJSFJ2SUdSbFkyRm1JR1Z5Y205eWN5QjJhV0VnZTBCc2FXNXJJR2gwZEhCRmNuSnZjbjB1WEc0Z0tpOWNibWx0Y0c5eWRDQjdJRWx1ZEdWeWJtRnNSWEp5YjNJZ2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmlMV1JsWTI5eVlYUnZjbk5jSWp0Y2JtbHRjRzl5ZENCN0lFbHZSVzUyYVhKdmJtMWxiblFnZlNCbWNtOXRJRndpTGk0dlpXNTJhWEp2Ym0xbGJuUmNJanRjYm1sdGNHOXlkQ0I3SUdWdWRrNTFiV0psY2l3Z1pXNTJVM1J5YVc1bklIMGdabkp2YlNCY0lpNHVMeTR1TDNOb1lYSmxaQzlsYm5acGNtOXViV1Z1ZEZaaGJIVmxYQ0k3WEc1cGJYQnZjblFnZTF4dUlDQklkSFJ3UVhCcFUyVnlkbWxqWlN4Y2JpQWdkSGx3WlNCSWRIUndRWEJwVTJWeWRtbGpaVU52Ym1acFp5eGNiaUFnYUhSMGNFVnljbTl5TEZ4dWZTQm1jbTl0SUZ3aUxpNHZMaTR2YzJoaGNtVmtMMmgwZEhCY0lqdGNibHh1THlvcVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1EyOXVabWxuZFhKaGRHbHZiaUJtYjNJZ2RHaGxJRWR2YjJkc1pTQlRhR1ZsZEhNZ2MyVnlkbWxqWlZ4dUlDb2dRSE4xYlcxaGNua2dSWGgwWlc1a2N5QjdRR3hwYm1zZ1NIUjBjRUZ3YVZObGNuWnBZMlZEYjI1bWFXZDlJSGRwZEdnZ1pXbDBhR1Z5SUdGdUlFOUJkWFJvSUhSdmEyVnVYRzRnS2lBb2NISmxabVZ5Y21Wa0xDQnpaVzUwSUdGeklHRWdZbVZoY21WeUlIUnZhMlZ1S1NCdmNpQmhiaUJCVUVrZ2EyVjVJQ2h6Wlc1MElHRnpYRzRnS2lCZ1dDMUhiMjluTFVGd2FTMUxaWGxnT3lCeVpXRmtMVzl1YkhrZ1lXZGhhVzV6ZENCd2RXSnNhV01nYzNCeVpXRmtjMmhsWlhSektTNGdWMmhsYmlCdmJXbDBkR1ZrTENCMGFHVmNiaUFxSUdCcGJ5NW5iMjluYkdWVGFHVmxkSE5nSUdWdWRtbHliMjV0Wlc1MElITnNhV05sSUhOMWNIQnNhV1Z6SUdKdmRHZ2dLR0Z1WkNCdmNIUnBiMjVoYkZ4dUlDb2dZR0poYzJWVmNteGdMMkIwYVcxbGIzVjBZQ2t1WEc0Z0tpQkFZMkYwWldkdmNua2dTVTljYmlBcUlFQnRaVzFpWlhKUFppQnRiMlIxYkdVNmFXNTBaV2R5WVhScGIyNXpMMmx2TDJkdmIyZHNaUzF6YUdWbGRITXZjMlZ5ZG1salpWeHVJQ292WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVkdmIyZHNaVk5vWldWMGMxTmxjblpwWTJWRGIyNW1hV2NnWlhoMFpXNWtjeUJJZEhSd1FYQnBVMlZ5ZG1salpVTnZibVpwWnlCN1hHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1IyOXZaMnhsSUU5QmRYUm9JR0ZqWTJWemN5QjBiMnRsYmx4dUlDQWdLaUJBYzNWdGJXRnllU0JUWlc1MElHRnpJR0JCZFhSb2IzSnBlbUYwYVc5dU9pQkNaV0Z5WlhJZ1BIUnZhMlZ1UG1BN0lIUmhhMlZ6SUhCeVpXTmxaR1Z1WTJVZ2IzWmxjaUIwYUdVZ1FWQkpJR3RsZVM1Y2JpQWdJQ292WEc0Z0lIUnZhMlZ1UHpvZ2MzUnlhVzVuTzF4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUVkdmIyZHNaU0JCVUVrZ2EyVjVYRzRnSUNBcUlFQnpkVzF0WVhKNUlGTmxiblFnWVhNZ1lGZ3RSMjl2WnkxQmNHa3RTMlY1WUNCM2FHVnVJRzV2SUU5QmRYUm9JSFJ2YTJWdUlHbHpJR052Ym1acFozVnlaV1F1WEc0Z0lDQXFMMXh1SUNCaGNHbExaWGsvT2lCemRISnBibWM3WEc1OVhHNWNiaThxS2x4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUZKbGMzVnNkQ0J2WmlCaElFZHZiMmRzWlNCVGFHVmxkSE1nZG1Gc2RXVnpJSEpsWVdRZ2IzSWdkM0pwZEdWY2JpQXFJRUJ6ZFcxdFlYSjVJRVZqYUc5bGN5QjBhR1VnZEdGeVoyVjBJR0J6Y0hKbFlXUnphR1ZsZEVsa1lDQmhibVFnZEdobElFRXhJR0J5WVc1blpXQWdSMjl2WjJ4bFhHNGdLaUJoWTNSMVlXeHNlU0J6WlhKMlpXUXNJSFJvWlNCZ2JXRnFiM0pFYVcxbGJuTnBiMjVnSUc5bUlIUm9aU0J3WVhsc2IyRmtMQ0JoYm1RZ2RHaGxJR2R5YVdSY2JpQXFJR0IyWVd4MVpYTmdJR0Z6SUdGdUlHRnljbUY1SUc5bUlISnZkM01nS0dGeWNtRjVjeUJ2WmlCalpXeHNJSE4wY21sdVozTXBMbHh1SUNvZ1FHTmhkR1ZuYjNKNUlFbFBYRzRnS2lCQWJXVnRZbVZ5VDJZZ2JXOWtkV3hsT21sdWRHVm5jbUYwYVc5dWN5OXBieTluYjI5bmJHVXRjMmhsWlhSekwzTmxjblpwWTJWY2JpQXFMMXh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JIYjI5bmJHVlRhR1ZsZEhOV1lXeDFaWE5TWlhOMWJIUWdlMXh1SUNCemNISmxZV1J6YUdWbGRFbGtPaUJ6ZEhKcGJtYzdYRzRnSUhKaGJtZGxPaUJ6ZEhKcGJtYzdYRzRnSUcxaGFtOXlSR2x0Wlc1emFXOXVQem9nYzNSeWFXNW5PMXh1SUNCMllXeDFaWE02SUhOMGNtbHVaMXRkVzEwN1hHNTlYRzVjYmk4cUtseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlFbHVjSFYwSUdadmNpQjNjbWwwYVc1bklIWmhiSFZsY3lCcGJuUnZJR0VnUjI5dloyeGxJRk5vWldWMGN5QnlZVzVuWlZ4dUlDb2dRSE4xYlcxaGNua2dRMkZ5Y21sbGN5QjBhR1VnZEdGeVoyVjBJR0J6Y0hKbFlXUnphR1ZsZEVsa1lDQmhibVFnUVRFZ1lISmhibWRsWUN3Z2RHaGxJSEp2ZDF4dUlDb2dZSFpoYkhWbGMyQWdkRzhnZDNKcGRHVXNJR0Z1WkNCMGFHVWdZSFpoYkhWbFNXNXdkWFJQY0hScGIyNWdJR052Ym5SeWIyeHNhVzVuSUdodmR5QkhiMjluYkdWY2JpQXFJR2x1ZEdWeWNISmxkSE1nZEdobElHTmxiR3h6SUNoZ1hDSlNRVmRjSW1BZ2MzUnZjbVZ6SUhSbGVIUWdZWE10YVhNc0lHQmNJbFZUUlZKZlJVNVVSVkpGUkZ3aVlDQmhjSEJzYVdWelhHNGdLaUJ6Y0hKbFlXUnphR1ZsZENCd1lYSnphVzVuSUdGdVpDQm1iM0p0ZFd4aGN6c2daR1ZtWVhWc2RITWdkRzhnWUZ3aVZWTkZVbDlGVGxSRlVrVkVYQ0pnS1M1Y2JpQXFJRUJqWVhSbFoyOXllU0JKVDF4dUlDb2dRRzFsYldKbGNrOW1JRzF2WkhWc1pUcHBiblJsWjNKaGRHbHZibk12YVc4dloyOXZaMnhsTFhOb1pXVjBjeTl6WlhKMmFXTmxYRzRnS2k5Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1IyOXZaMnhsVTJobFpYUnpWM0pwZEdWSmJuQjFkQ0I3WEc0Z0lITndjbVZoWkhOb1pXVjBTV1E2SUhOMGNtbHVaenRjYmlBZ2NtRnVaMlU2SUhOMGNtbHVaenRjYmlBZ2RtRnNkV1Z6T2lCMWJtdHViM2R1VzExYlhUdGNiaUFnZG1Gc2RXVkpibkIxZEU5d2RHbHZiajg2SUZ3aVVrRlhYQ0lnZkNCY0lsVlRSVkpmUlU1VVJWSkZSRndpTzF4dWZWeHVYRzR2S2lwY2JpQXFJRUJrWlhOamNtbHdkR2x2YmlCSGIyOW5iR1VnVTJobFpYUnpJRUZRU1NCcGJuUmxaM0poZEdsdmJpQnpaWEoyYVdObFhHNGdLaUJBYzNWdGJXRnllU0JCYmlCMWJtUmxZMjl5WVhSbFpDQklWRlJRSUhObGNuWnBZMlVnWm05eUlISmxZV1JwYm1jc1hHNGdLaUIxY0dSaGRHbHVaeXdnWVhCd1pXNWthVzVuTENCaGJtUWdZMnhsWVhKcGJtY2dkbUZzZFdWeklHbHVJRUV4SUhKaGJtZGxjeUJ2WmlCaElITndjbVZoWkhOb1pXVjBMQ0JoYm1SY2JpQXFJR1p2Y2lCamNtVmhkR2x1WnlCdVpYY2djM0J5WldGa2MyaGxaWFJ6TGlCRmRtVnllU0J2Y0dWeVlYUnBiMjRnY21WeGRXbHlaWE1nWldsMGFHVnlJR0Z1SUU5QmRYUm9YRzRnS2lCMGIydGxiaUJ2Y2lCaGJpQkJVRWtnYTJWNUlDaGdjbVZ4ZFdseVpVRjFkR2dvS1dBcE95QnlZVzVuWlhNZ1lXNWtJSE53Y21WaFpITm9aV1YwSUVsRWN5QmhjbVZjYmlBcUlGVlNUQzFsYm1OdlpHVmtMQ0JoYm1RZ2RISmhibk53YjNKMElHWmhhV3gxY21WeklHRnlaU0J0WVhCd1pXUWdkRzhnWkdWallXWWdaWEp5YjNKeklIWnBZVnh1SUNvZ2UwQnNhVzVySUdoMGRIQkZjbkp2Y24wdVhHNGdLaUJBWTJ4aGMzTWdSMjl2WjJ4bFUyaGxaWFJ6VTJWeWRtbGpaVnh1SUNvZ1FHTmhkR1ZuYjNKNUlFbFBYRzRnS2lCQVpYaGhiWEJzWlZ4dUlDb2dZR0JnZEhOY2JpQXFJR2x0Y0c5eWRDQjdJRWR2YjJkc1pWTm9aV1YwYzFObGNuWnBZMlVnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJsdWRHVm5jbUYwYVc5dWN5OXBieTluYjI5bmJHVXRjMmhsWlhSelhDSTdYRzRnS2x4dUlDb2dZMjl1YzNRZ2MyaGxaWFJ6SUQwZ2JtVjNJRWR2YjJkc1pWTm9aV1YwYzFObGNuWnBZMlVvS1R0Y2JpQXFJR0YzWVdsMElITm9aV1YwY3k1cGJtbDBhV0ZzYVhwbEtIdGNiaUFxSUNBZ2RHOXJaVzQ2SUhCeWIyTmxjM011Wlc1MkxrZFNRVkJJWDBOU1JVUkZUbFJKUVV4ZlIwOVBSMHhGWDFOSVJVVlVVMTlVVDB0RlRpeGNiaUFxSUgwcE8xeHVJQ29nWTI5dWMzUWdZM0psWVhSbFpDQTlJR0YzWVdsMElITm9aV1YwY3k1amNtVmhkR1ZUY0hKbFlXUnphR1ZsZENoY0lrMWxkSEpwWTNOY0lpazdYRzRnS2lCaGQyRnBkQ0J6YUdWbGRITXVkWEJrWVhSbFZtRnNkV1Z6S0h0Y2JpQXFJQ0FnYzNCeVpXRmtjMmhsWlhSSlpEb2dZM0psWVhSbFpDNXpjSEpsWVdSemFHVmxkRWxrTEZ4dUlDb2dJQ0J5WVc1blpUb2dYQ0pUYUdWbGRERWhRVEU2UWpKY0lpeGNiaUFxSUNBZ2RtRnNkV1Z6T2lCYlhHNGdLaUFnSUNBZ1cxd2laR0YwWlZ3aUxDQmNJbU52ZFc1MFhDSmRMRnh1SUNvZ0lDQWdJRnRjSWpJd01qWXRNREV0TURGY0lpd2dYQ0kwTWx3aVhTeGNiaUFxSUNBZ1hTeGNiaUFxSUgwcE8xeHVJQ29nWUdCZ1hHNGdLaUJBYldWdFltVnlUMllnYlc5a2RXeGxPbWx1ZEdWbmNtRjBhVzl1Y3k5cGJ5OW5iMjluYkdVdGMyaGxaWFJ6TDNObGNuWnBZMlZjYmlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUVkdmIyZHNaVk5vWldWMGMxTmxjblpwWTJVZ1pYaDBaVzVrY3lCSWRIUndRWEJwVTJWeWRtbGpaVHhIYjI5bmJHVlRhR1ZsZEhOVFpYSjJhV05sUTI5dVptbG5QaUI3WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnVkdobElIQnliM1pwWkdWeUlHNWhiV1VnZFhObFpDQnBiaUJsY25KdmNpQnRaWE56WVdkbGMxeHVJQ0FnS2k5Y2JpQWdjSEp2ZEdWamRHVmtJSEpsWVdSdmJteDVJSE5sY25acFkyVk9ZVzFsSUQwZ1hDSkhiMjluYkdVZ1UyaGxaWFJ6WENJN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQlVhR1VnUjI5dloyeGxJRk5vWldWMGN5QjJOQ0IyWVd4MVpYTWdRVkJKSUdKaGMyVWdWVkpNWEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRlZ6WldRZ2QyaGxiaUIwYUdVZ2NtVnpiMngyWldRZ1kyOXVabWxuSUdOaGNuSnBaWE1nYm04Z1lHSmhjMlZWY214Z0xseHVJQ0FnS2lCQWNtVjBkWEp1Y3lCN2MzUnlhVzVuZlNCZ1hDSm9kSFJ3Y3pvdkwzTm9aV1YwY3k1bmIyOW5iR1ZoY0dsekxtTnZiUzkyTkM5emNISmxZV1J6YUdWbGRITmNJbUF1WEc0Z0lDQXFMMXh1SUNCd2NtOTBaV04wWldRZ1pHVm1ZWFZzZEVKaGMyVlZjbXdvS1RvZ2MzUnlhVzVuSUh0Y2JpQWdJQ0J5WlhSMWNtNGdYQ0pvZEhSd2N6b3ZMM05vWldWMGN5NW5iMjluYkdWaGNHbHpMbU52YlM5Mk5DOXpjSEpsWVdSemFHVmxkSE5jSWp0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnUW5WcGJHUnpJSFJvWlNCSGIyOW5iR1VnVTJobFpYUnpJR0YxZEdodmNtbDZZWFJwYjI0Z2FHVmhaR1Z5YzF4dUlDQWdLaUJBYzNWdGJXRnllU0JTWlhSMWNtNXpJSFJvWlNCZ1FYVjBhRzl5YVhwaGRHbHZiam9nUW1WaGNtVnlJRHgwYjJ0bGJqNWdJR2hsWVdSbGNpQjNhR1Z1SUhSb1pWeHVJQ0FnS2lCamIyNW1hV2NnWTJGeWNtbGxjeUJoYmlCUFFYVjBhQ0IwYjJ0bGJpd2diM1JvWlhKM2FYTmxJSFJvWlNCZ1dDMUhiMjluTFVGd2FTMUxaWGxnSUdobFlXUmxjaUIzYUdWdVhHNGdJQ0FxSUdGdUlFRlFTU0JyWlhrZ2FYTWdZMjl1Wm1sbmRYSmxaQ3dnWVc1a0lHNXZJR2hsWVdSbGNuTWdiM1JvWlhKM2FYTmxMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UwZHZiMmRzWlZOb1pXVjBjMU5sY25acFkyVkRiMjVtYVdkOUlHTnZibVpwWnlBdElGUm9aU0J5WlhOdmJIWmxaQ0J6WlhKMmFXTmxJR052Ym1acFozVnlZWFJwYjI0dVhHNGdJQ0FxSUVCeVpYUjFjbTV6SUh0U1pXTnZjbVE4YzNSeWFXNW5MQ0J6ZEhKcGJtYytmU0JVYUdVZ1lYVjBhRzl5YVhwaGRHbHZiaUJvWldGa1pYSnpJQ2hsYlhCMGVTQjNhWFJvYjNWMElHRWdkRzlyWlc0Z2IzSWdRVkJKSUd0bGVTa3VYRzRnSUNBcUwxeHVJQ0J3Y205MFpXTjBaV1FnWVhWMGFFaGxZV1JsY25Nb1hHNGdJQ0FnWTI5dVptbG5PaUJIYjI5bmJHVlRhR1ZsZEhOVFpYSjJhV05sUTI5dVptbG5YRzRnSUNrNklGSmxZMjl5WkR4emRISnBibWNzSUhOMGNtbHVaejRnZTF4dUlDQWdJR2xtSUNoamIyNW1hV2N1ZEc5clpXNHBJSEpsZEhWeWJpQjdJRUYxZEdodmNtbDZZWFJwYjI0NklHQkNaV0Z5WlhJZ0pIdGpiMjVtYVdjdWRHOXJaVzU5WUNCOU8xeHVJQ0FnSUdsbUlDaGpiMjVtYVdjdVlYQnBTMlY1S1NCeVpYUjFjbTRnZXlCY0lsZ3RSMjl2WnkxQmNHa3RTMlY1WENJNklHTnZibVpwWnk1aGNHbExaWGtnZlR0Y2JpQWdJQ0J5WlhSMWNtNGdlMzA3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRkpsWVdSeklIUm9aU0JIYjI5bmJHVWdVMmhsWlhSeklHTnlaV1JsYm5ScFlXeHpJR0Z1WkNCa1pXWmhkV3gwY3lCbWNtOXRJSFJvWlNCbGJuWnBjbTl1YldWdWRGeHVJQ0FnS2lCQWMzVnRiV0Z5ZVNCU1pXRmtjeUIwYUdVZ1lHbHZMbWR2YjJkc1pWTm9aV1YwYzJBZ1pXNTJhWEp2Ym0xbGJuUWdjMnhwWTJVZ1lXNWtJSEpsZEhWeWJuTWdZVnh1SUNBZ0tpQndZWEowYVdGc0lHTnZibVpwWnlCM2FHVnVJR0VnZEc5clpXNGdiM0lnUVZCSklHdGxlU0JwY3lCamIyNW1hV2QxY21Wa0xDQmdkVzVrWldacGJtVmtZRnh1SUNBZ0tpQnZkR2hsY25kcGMyVXVJRlpoYkhWbGN5QndZWE56SUhSb2NtOTFaMmdnWUdWdWRsTjBjbWx1WjJBdllHVnVkazUxYldKbGNtQWdkRzhnY21WcVpXTjBYRzRnSUNBcUlIVnVjMlYwTFd4bFlXWWdjSEp2ZUdsbGN5NWNiaUFnSUNvZ1FISmxkSFZ5Ym5NZ2UxQmhjblJwWVd3OFIyOXZaMnhsVTJobFpYUnpVMlZ5ZG1salpVTnZibVpwWno0Z2ZDQjFibVJsWm1sdVpXUjlJRUVnY0dGeWRHbGhiQ0JqYjI1bWFXY3NJRzl5SUdCMWJtUmxabWx1WldSZ0lIZG9aVzRnYm1WcGRHaGxjaUIwYjJ0bGJpQnViM0lnUVZCSklHdGxlU0JwY3lCamIyNW1hV2QxY21Wa0xseHVJQ0FnS2k5Y2JpQWdjSEp2ZEdWamRHVmtJR052Ym1acFowWnliMjFGYm5acGNtOXViV1Z1ZENncE9seHVJQ0FnSUh3Z1VHRnlkR2xoYkR4SGIyOW5iR1ZUYUdWbGRITlRaWEoyYVdObFEyOXVabWxuUGx4dUlDQWdJSHdnZFc1a1pXWnBibVZrSUh0Y2JpQWdJQ0JqYjI1emRDQmxibllnUFNCSmIwVnVkbWx5YjI1dFpXNTBMbWx2TG1kdmIyZHNaVk5vWldWMGN6dGNiaUFnSUNCamIyNXpkQ0IwYjJ0bGJpQTlJR1Z1ZGxOMGNtbHVaeWhsYm5ZL0xuUnZhMlZ1S1R0Y2JpQWdJQ0JqYjI1emRDQmhjR2xMWlhrZ1BTQmxiblpUZEhKcGJtY29aVzUyUHk1aGNHbExaWGtwTzF4dUlDQWdJR2xtSUNnaGRHOXJaVzRnSmlZZ0lXRndhVXRsZVNrZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdkRzlyWlc0c1hHNGdJQ0FnSUNCaGNHbExaWGtzWEc0Z0lDQWdJQ0JpWVhObFZYSnNPaUJsYm5aVGRISnBibWNvWlc1MkxtSmhjMlZWY213cExGeHVJQ0FnSUNBZ2RHbHRaVzkxZERvZ1pXNTJUblZ0WW1WeUtHVnVkaTUwYVcxbGIzVjBLU3hjYmlBZ0lDQjlPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQkJjM05sY25SeklIUm9ZWFFnZEdobElITmxjblpwWTJVZ2QyRnpJR052Ym1acFozVnlaV1FnZDJsMGFDQlBRWFYwYUNCamNtVmtaVzUwYVdGc2MxeHVJQ0FnS2lCQWMzVnRiV0Z5ZVNCVWFISnZkM01nZDJobGJpQjBhR1VnY21WemIyeDJaV1FnWTI5dVptbG5JR05oY25KcFpYTWdibVZwZEdobGNpQmhJR0IwYjJ0bGJtQWdibTl5SUdGdVhHNGdJQ0FxSUdCaGNHbExaWGxnT3lCbGRtVnllU0J2Y0dWeVlYUnBiMjRnWTJGc2JITWdkR2hwY3lCaVpXWnZjbVVnYVhOemRXbHVaeUJ5WlhGMVpYTjBjeTVjYmlBZ0lDb2dRSEpsZEhWeWJuTWdlM1p2YVdSOVhHNGdJQ0FxSUVCMGFISnZkM01nZTBsdWRHVnlibUZzUlhKeWIzSjlJRmRvWlc0Z2JtVnBkR2hsY2lCaGJpQlBRWFYwYUNCMGIydGxiaUJ1YjNJZ1lXNGdRVkJKSUd0bGVTQnBjeUJqYjI1bWFXZDFjbVZrTGx4dUlDQWdLaTljYmlBZ2NISnZkR1ZqZEdWa0lISmxjWFZwY21WQmRYUm9LQ2s2SUhadmFXUWdlMXh1SUNBZ0lHTnZibk4wSUdOdmJtWnBaeUE5SUhSb2FYTXVZMjl1Wm1sbk8xeHVJQ0FnSUdsbUlDZ2hZMjl1Wm1sbkxuUnZhMlZ1SUNZbUlDRmpiMjVtYVdjdVlYQnBTMlY1S1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1NXNTBaWEp1WVd4RmNuSnZjaWhjYmlBZ0lDQWdJQ0FnWENKSGIyOW5iR1VnVTJobFpYUnpJSEpsY1hWcGNtVnpJR0Z1SUU5QmRYUm9JSFJ2YTJWdUlHOXlJR0Z1SUVGUVNTQnJaWGxjSWx4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRlZTVEMxbGJtTnZaR1Z6SUdGdUlFRXhJSEpoYm1kbElHWnZjaUIwYUdVZ2RtRnNkV1Z6SUVGUVNTQndZWFJvWEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRkpoYm1kbGN5QnpkV05vSUdGeklHQlRhR1ZsZERFaFFURTZRakpnSUdOdmJuUmhhVzRnWTJoaGNtRmpkR1Z5Y3lCMGFHRjBJRzExYzNRZ1ltVmNiaUFnSUNvZ2NHVnlZMlZ1ZEMxbGJtTnZaR1ZrT3lCaGJHd2diM0JsY21GMGFXOXVjeUJ5YjNWMFpTQjBhR1VnY21GdVoyVWdkR2h5YjNWbmFDQjBhR2x6SUdobGJIQmxjaTVjYmlBZ0lDb2dRSEJoY21GdElIdHpkSEpwYm1kOUlISmhibWRsSUMwZ1ZHaGxJRUV4SUc1dmRHRjBhVzl1SUhKaGJtZGxJSFJ2SUdWdVkyOWtaUzVjYmlBZ0lDb2dRSEpsZEhWeWJuTWdlM04wY21sdVozMGdWR2hsSUZWU1RDMWxibU52WkdWa0lISmhibWRsTGx4dUlDQWdLaTljYmlBZ2NISnZkR1ZqZEdWa0lISmhibWRsVUdGMGFDaHlZVzVuWlRvZ2MzUnlhVzVuS1RvZ2MzUnlhVzVuSUh0Y2JpQWdJQ0J5WlhSMWNtNGdaVzVqYjJSbFZWSkpRMjl0Y0c5dVpXNTBLSEpoYm1kbEtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1VtVmhaSE1nZG1Gc2RXVnpJR1p5YjIwZ1lXNGdRVEVnY21GdVoyVWdiMllnWVNCemNISmxZV1J6YUdWbGRGeHVJQ0FnS2lCQWMzVnRiV0Z5ZVNCZ1IwVlVZSE1nZEdobElIWmhiSFZsY3lCbGJtUndiMmx1ZENCbWIzSWdkR2hsSUdkcGRtVnVJR0J6Y0hKbFlXUnphR1ZsZEVsa1lDQmhibVJjYmlBZ0lDb2dZSEpoYm1kbFlDQmhibVFnY21WMGRYSnVjeUIwYUdVZ2MyVnlkbVZrSUhKaGJtZGxMQ0J0WVdwdmNpQmthVzFsYm5OcGIyNHNJR0Z1WkNCMGFHVWdaM0pwWkZ4dUlDQWdLaUIyWVd4MVpYTWdLSEp2ZDNNZ2IyWWdZMlZzYkNCemRISnBibWR6S1M0Z1VtVnhkV2x5WlhNZ1kzSmxaR1Z1ZEdsaGJITWdZVzVrSUdKdmRHZ2dZWEpuZFcxbGJuUnpMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2MzQnlaV0ZrYzJobFpYUkpaQ0F0SUZSb1pTQnpjSEpsWVdSemFHVmxkQ0IwYnlCeVpXRmtJR1p5YjIwdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0J5WVc1blpTQXRJRlJvWlNCQk1TQnViM1JoZEdsdmJpQnlZVzVuWlNCMGJ5QnlaV0ZrSUNobExtY3VJR0JjSWxOb1pXVjBNU0ZCTVRwRE1UQmNJbUFwTGx4dUlDQWdLaUJBY21WMGRYSnVjeUI3VUhKdmJXbHpaVHhIYjI5bmJHVlRhR1ZsZEhOV1lXeDFaWE5TWlhOMWJIUStmU0JVYUdVZ2MyVnlkbVZrSUhKaGJtZGxJR0Z1WkNCbmNtbGtJSFpoYkhWbGN5NWNiaUFnSUNvZ1FIUm9jbTkzY3lCN1NXNTBaWEp1WVd4RmNuSnZjbjBnVjJobGJpQmpjbVZrWlc1MGFXRnNjeUJoY21VZ2JXbHpjMmx1WnlCdmNpQjBhR1VnYzNCeVpXRmtjMmhsWlhRZ1NVUXZjbUZ1WjJVZ2FYTWdaVzF3ZEhrdVhHNGdJQ0FxSUVCMGFISnZkM01nZTA1dmRFWnZkVzVrUlhKeWIzSjlJRmRvWlc0Z2RHaGxJSE53Y21WaFpITm9aV1YwSUdSdlpYTWdibTkwSUdWNGFYTjBJQ2hJVkZSUUlEUXdOQ2t1WEc0Z0lDQXFJRUIwYUhKdmQzTWdlME52Ym1ac2FXTjBSWEp5YjNKOUlGZG9aVzRnUjI5dloyeGxJR0Z1YzNkbGNuTWdkMmwwYUNCSVZGUlFJRFF3T1M1Y2JpQWdJQ29nUUhSb2NtOTNjeUI3UW1Ga1VtVnhkV1Z6ZEVWeWNtOXlmU0JYYUdWdUlFZHZiMmRzWlNCaGJuTjNaWEp6SUhkcGRHZ2dZVzU1SUc5MGFHVnlJRWhVVkZBZ1pYSnliM0lnYzNSaGRIVnpJQ2hsTG1jdUlHbHVkbUZzYVdRZ2NtRnVaMlVwTGx4dUlDQWdLaTljYmlBZ1lYTjVibU1nWjJWMFZtRnNkV1Z6S0Z4dUlDQWdJSE53Y21WaFpITm9aV1YwU1dRNklITjBjbWx1Wnl4Y2JpQWdJQ0J5WVc1blpUb2djM1J5YVc1blhHNGdJQ2s2SUZCeWIyMXBjMlU4UjI5dloyeGxVMmhsWlhSelZtRnNkV1Z6VW1WemRXeDBQaUI3WEc0Z0lDQWdkR2hwY3k1eVpYRjFhWEpsUVhWMGFDZ3BPMXh1SUNBZ0lHbG1JQ2doYzNCeVpXRmtjMmhsWlhSSlpDQjhmQ0FoY21GdVoyVXBJSHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJKYm5SbGNtNWhiRVZ5Y205eUtGeHVJQ0FnSUNBZ0lDQmNJa2R2YjJkc1pTQlRhR1ZsZEhNZ1oyVjBWbUZzZFdWeklISmxjWFZwY21WeklHRWdjM0J5WldGa2MyaGxaWFFnU1VRZ1lXNWtJSEpoYm1kbFhDSmNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCeVpYTndiMjV6WlNBOUlHRjNZV2wwSUhSb2FYTXVZMnhwWlc1MExtZGxkRHhIYjI5bmJHVlRhR1ZsZEhOV1lXeDFaWE5TWlhOMWJIUStLRnh1SUNBZ0lDQWdJQ0JnTHlSN1pXNWpiMlJsVlZKSlEyOXRjRzl1Wlc1MEtITndjbVZoWkhOb1pXVjBTV1FwZlM5MllXeDFaWE12Skh0MGFHbHpMbkpoYm1kbFVHRjBhQ2h5WVc1blpTbDlZRnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQWdJSE53Y21WaFpITm9aV1YwU1dRc1hHNGdJQ0FnSUNBZ0lISmhibWRsT2lCeVpYTndiMjV6WlM1a1lYUmhMbkpoYm1kbElEOC9JSEpoYm1kbExGeHVJQ0FnSUNBZ0lDQnRZV3B2Y2tScGJXVnVjMmx2YmpvZ2NtVnpjRzl1YzJVdVpHRjBZUzV0WVdwdmNrUnBiV1Z1YzJsdmJpeGNiaUFnSUNBZ0lDQWdkbUZzZFdWek9pQnlaWE53YjI1elpTNWtZWFJoTG5aaGJIVmxjeUEvUHlCYlhTeGNiaUFnSUNBZ0lIMDdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pYSnliM0lwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJR2gwZEhCRmNuSnZjaWhjSWtkdmIyZHNaU0JUYUdWbGRITmNJaXdnWENKblpYUWdkbUZzZFdWelhDSXNJR1Z5Y205eUtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUU5MlpYSjNjbWwwWlhNZ2RtRnNkV1Z6SUdsdUlHRnVJRUV4SUhKaGJtZGxJRzltSUdFZ2MzQnlaV0ZrYzJobFpYUmNiaUFnSUNvZ1FITjFiVzFoY25rZ1lGQlZWR0J6SUhSb1pTQnliM2NnZG1Gc2RXVnpJSFJ2SUhSb1pTQjJZV3gxWlhNZ1pXNWtjRzlwYm5RZ1ptOXlJSFJvWlNCbmFYWmxibHh1SUNBZ0tpQmdjM0J5WldGa2MyaGxaWFJKWkdBZ1lXNWtJR0J5WVc1blpXQXVJRU5sYkd4eklHRnlaU0JwYm5SbGNuQnlaWFJsWkNCaFkyTnZjbVJwYm1jZ2RHOWNiaUFnSUNvZ1lIWmhiSFZsU1c1d2RYUlBjSFJwYjI1Z0lDaGdYQ0pWVTBWU1gwVk9WRVZTUlVSY0ltQWdZbmtnWkdWbVlYVnNkQ3dnWUZ3aVVrRlhYQ0pnSUhSdklITjBiM0psSUhSbGVIUmNiaUFnSUNvZ2RtVnlZbUYwYVcwcExDQmhibVFnZEdobElHVjRhWE4wYVc1bklISmhibWRsSUdOdmJuUmxiblFnYVhNZ2NtVndiR0ZqWldRdVhHNGdJQ0FxSUVCd1lYSmhiU0I3UjI5dloyeGxVMmhsWlhSelYzSnBkR1ZKYm5CMWRIMGdhVzV3ZFhRZ0xTQlVhR1VnZEdGeVoyVjBJSE53Y21WaFpITm9aV1YwTENCeVlXNW5aU3dnZG1Gc2RXVnpMQ0JoYm1RZ2FXNXdkWFFnYVc1MFpYSndjbVYwWVhScGIyNHVYRzRnSUNBcUlFQnlaWFIxY201eklIdFFjbTl0YVhObFBFZHZiMmRzWlZOb1pXVjBjMVpoYkhWbGMxSmxjM1ZzZEQ1OUlGUm9aU0J6WlhKMlpXUWdjbUZ1WjJVZ1lXNWtJSFJvWlNCM2NtbDBkR1Z1SUhaaGJIVmxjeTVjYmlBZ0lDb2dRSFJvY205M2N5QjdTVzUwWlhKdVlXeEZjbkp2Y24wZ1YyaGxiaUJqY21Wa1pXNTBhV0ZzY3lCaGNtVWdiV2x6YzJsdVp5NWNiaUFnSUNvZ1FIUm9jbTkzY3lCN1RtOTBSbTkxYm1SRmNuSnZjbjBnVjJobGJpQjBhR1VnYzNCeVpXRmtjMmhsWlhRZ1pHOWxjeUJ1YjNRZ1pYaHBjM1FnS0VoVVZGQWdOREEwS1M1Y2JpQWdJQ29nUUhSb2NtOTNjeUI3UTI5dVpteHBZM1JGY25KdmNuMGdWMmhsYmlCSGIyOW5iR1VnWVc1emQyVnljeUIzYVhSb0lFaFVWRkFnTkRBNUxseHVJQ0FnS2lCQWRHaHliM2R6SUh0Q1lXUlNaWEYxWlhOMFJYSnliM0o5SUZkb1pXNGdSMjl2WjJ4bElHRnVjM2RsY25NZ2QybDBhQ0JoYm5rZ2IzUm9aWElnU0ZSVVVDQmxjbkp2Y2lCemRHRjBkWE1nS0dVdVp5NGdhVzUyWVd4cFpDQnlZVzVuWlNrdVhHNGdJQ0FxTDF4dUlDQmhjM2x1WXlCMWNHUmhkR1ZXWVd4MVpYTW9YRzRnSUNBZ2FXNXdkWFE2SUVkdmIyZHNaVk5vWldWMGMxZHlhWFJsU1c1d2RYUmNiaUFnS1RvZ1VISnZiV2x6WlR4SGIyOW5iR1ZUYUdWbGRITldZV3gxWlhOU1pYTjFiSFErSUh0Y2JpQWdJQ0IwYUdsekxuSmxjWFZwY21WQmRYUm9LQ2s3WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSEpsYzNCdmJuTmxJRDBnWVhkaGFYUWdkR2hwY3k1amJHbGxiblF1Y0hWMFBFZHZiMmRzWlZOb1pXVjBjMVpoYkhWbGMxSmxjM1ZzZEQ0b1hHNGdJQ0FnSUNBZ0lHQXZKSHRsYm1OdlpHVlZVa2xEYjIxd2IyNWxiblFvYVc1d2RYUXVjM0J5WldGa2MyaGxaWFJKWkNsOUwzWmhiSFZsY3k4a2UzUm9hWE11Y21GdVoyVlFZWFJvS0Z4dUlDQWdJQ0FnSUNBZ0lHbHVjSFYwTG5KaGJtZGxYRzRnSUNBZ0lDQWdJQ2w5WUN4Y2JpQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJSEpoYm1kbE9pQnBibkIxZEM1eVlXNW5aU3hjYmlBZ0lDQWdJQ0FnSUNCdFlXcHZja1JwYldWdWMybHZiam9nWENKU1QxZFRYQ0lzWEc0Z0lDQWdJQ0FnSUNBZ2RtRnNkV1Z6T2lCcGJuQjFkQzUyWVd4MVpYTXNYRzRnSUNBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQndZWEpoYlhNNklIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhaaGJIVmxTVzV3ZFhSUGNIUnBiMjQ2SUdsdWNIVjBMblpoYkhWbFNXNXdkWFJQY0hScGIyNGdQejhnWENKVlUwVlNYMFZPVkVWU1JVUmNJaXhjYmlBZ0lDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lDQWdjM0J5WldGa2MyaGxaWFJKWkRvZ2FXNXdkWFF1YzNCeVpXRmtjMmhsWlhSSlpDeGNiaUFnSUNBZ0lDQWdjbUZ1WjJVNklISmxjM0J2Ym5ObExtUmhkR0V1Y21GdVoyVWdQejhnYVc1d2RYUXVjbUZ1WjJVc1hHNGdJQ0FnSUNBZ0lHMWhhbTl5UkdsdFpXNXphVzl1T2lCeVpYTndiMjV6WlM1a1lYUmhMbTFoYW05eVJHbHRaVzV6YVc5dUlEOC9JRndpVWs5WFUxd2lMRnh1SUNBZ0lDQWdJQ0IyWVd4MVpYTTZJSEpsYzNCdmJuTmxMbVJoZEdFdWRtRnNkV1Z6SUQ4L0lHbHVjSFYwTG5aaGJIVmxjeXhjYmlBZ0lDQWdJSDA3WEc0Z0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUdoMGRIQkZjbkp2Y2loY0lrZHZiMmRzWlNCVGFHVmxkSE5jSWl3Z1hDSjFjR1JoZEdVZ2RtRnNkV1Z6WENJc0lHVnljbTl5S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRUZ3Y0dWdVpITWdkbUZzZFdWeklHRm1kR1Z5SUhSb1pTQnNZWE4wSUhKdmR5QnZaaUJoYmlCQk1TQnlZVzVuWlNkeklIUmhZbXhsWEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJR0JRVDFOVVlITWdkR2hsSUhKdmR5QjJZV3gxWlhNZ2RHOGdkR2hsSUdBNllYQndaVzVrWUNCbGJtUndiMmx1ZENCbWIzSWdkR2hsSUdkcGRtVnVYRzRnSUNBcUlHQnpjSEpsWVdSemFHVmxkRWxrWUNCaGJtUWdZSEpoYm1kbFlDd2dhVzV6WlhKMGFXNW5JRzVsZHlCeWIzZHpJR0ZtZEdWeUlHVjRhWE4wYVc1bklIUmhZbXhsSUdSaGRHRmNiaUFnSUNvZ0tHQnBibk5sY25SRVlYUmhUM0IwYVc5dU9pQmNJa2xPVTBWU1ZGOVNUMWRUWENKZ0tTNGdRMlZzYkhNZ1lYSmxJR2x1ZEdWeWNISmxkR1ZrSUdGalkyOXlaR2x1WnlCMGIxeHVJQ0FnS2lCZ2RtRnNkV1ZKYm5CMWRFOXdkR2x2Ym1BZ0tHQmNJbFZUUlZKZlJVNVVSVkpGUkZ3aVlDQmllU0JrWldaaGRXeDBLUzRnVlhObElHRWdjMmx1WjJ4bExYSnZkeUJ2Y2x4dUlDQWdLaUJ6YVc1bmJHVXRZMjlzZFcxdUlFRXhJSEpoYm1kbElIUnZJR0Z1WTJodmNpQjBhR1VnZEdGaWJHVTdJRWR2YjJkc1pTQnlaWEJ2Y25SeklIUm9aU0J5WVc1blpTQjBhR1ZjYmlBZ0lDb2daR0YwWVNCaFkzUjFZV3hzZVNCc1lXNWtaV1FnYVc0dVhHNGdJQ0FxSUVCd1lYSmhiU0I3UjI5dloyeGxVMmhsWlhSelYzSnBkR1ZKYm5CMWRIMGdhVzV3ZFhRZ0xTQlVhR1VnZEdGeVoyVjBJSE53Y21WaFpITm9aV1YwTENCaGJtTm9iM0lnY21GdVoyVXNJSFpoYkhWbGN5d2dZVzVrSUdsdWNIVjBJR2x1ZEdWeWNISmxkR0YwYVc5dUxseHVJQ0FnS2lCQWNtVjBkWEp1Y3lCN1VISnZiV2x6WlR4SGIyOW5iR1ZUYUdWbGRITldZV3gxWlhOU1pYTjFiSFErZlNCVWFHVWdjbUZ1WjJVZ2RHaGxJR0Z3Y0dWdVpHVmtJSEp2ZDNNZ2JHRnVaR1ZrSUdsdUlHRnVaQ0IwYUdVZ1lYQndaVzVrWldRZ2RtRnNkV1Z6TGx4dUlDQWdLaUJBZEdoeWIzZHpJSHRKYm5SbGNtNWhiRVZ5Y205eWZTQlhhR1Z1SUdOeVpXUmxiblJwWVd4eklHRnlaU0J0YVhOemFXNW5MbHh1SUNBZ0tpQkFkR2h5YjNkeklIdE9iM1JHYjNWdVpFVnljbTl5ZlNCWGFHVnVJSFJvWlNCemNISmxZV1J6YUdWbGRDQmtiMlZ6SUc1dmRDQmxlR2x6ZENBb1NGUlVVQ0EwTURRcExseHVJQ0FnS2lCQWRHaHliM2R6SUh0RGIyNW1iR2xqZEVWeWNtOXlmU0JYYUdWdUlFZHZiMmRzWlNCaGJuTjNaWEp6SUhkcGRHZ2dTRlJVVUNBME1Ea3VYRzRnSUNBcUlFQjBhSEp2ZDNNZ2UwSmhaRkpsY1hWbGMzUkZjbkp2Y24wZ1YyaGxiaUJIYjI5bmJHVWdZVzV6ZDJWeWN5QjNhWFJvSUdGdWVTQnZkR2hsY2lCSVZGUlFJR1Z5Y205eUlITjBZWFIxY3lBb1pTNW5MaUJwYm5aaGJHbGtJSEpoYm1kbEtTNWNiaUFnSUNvdlhHNGdJR0Z6ZVc1aklHRndjR1Z1WkZaaGJIVmxjeWhjYmlBZ0lDQnBibkIxZERvZ1IyOXZaMnhsVTJobFpYUnpWM0pwZEdWSmJuQjFkRnh1SUNBcE9pQlFjbTl0YVhObFBFZHZiMmRzWlZOb1pXVjBjMVpoYkhWbGMxSmxjM1ZzZEQ0Z2UxeHVJQ0FnSUhSb2FYTXVjbVZ4ZFdseVpVRjFkR2dvS1R0Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnY21WemNHOXVjMlVnUFNCaGQyRnBkQ0IwYUdsekxtTnNhV1Z1ZEM1d2IzTjBQRWR2YjJkc1pWTm9aV1YwYzFaaGJIVmxjMUpsYzNWc2RENG9YRzRnSUNBZ0lDQWdJR0F2Skh0bGJtTnZaR1ZWVWtsRGIyMXdiMjVsYm5Rb2FXNXdkWFF1YzNCeVpXRmtjMmhsWlhSSlpDbDlMM1poYkhWbGN5OGtlM1JvYVhNdWNtRnVaMlZRWVhSb0tGeHVJQ0FnSUNBZ0lDQWdJR2x1Y0hWMExuSmhibWRsWEc0Z0lDQWdJQ0FnSUNsOU9tRndjR1Z1WkdBc1hHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0J5WVc1blpUb2dhVzV3ZFhRdWNtRnVaMlVzWEc0Z0lDQWdJQ0FnSUNBZ2JXRnFiM0pFYVcxbGJuTnBiMjQ2SUZ3aVVrOVhVMXdpTEZ4dUlDQWdJQ0FnSUNBZ0lIWmhiSFZsY3pvZ2FXNXdkWFF1ZG1Gc2RXVnpMRnh1SUNBZ0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdjR0Z5WVcxek9pQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMllXeDFaVWx1Y0hWMFQzQjBhVzl1T2lCcGJuQjFkQzUyWVd4MVpVbHVjSFYwVDNCMGFXOXVJRDgvSUZ3aVZWTkZVbDlGVGxSRlVrVkVYQ0lzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnBibk5sY25SRVlYUmhUM0IwYVc5dU9pQmNJa2xPVTBWU1ZGOVNUMWRUWENJc1hHNGdJQ0FnSUNBZ0lDQWdmU3hjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0FnSUhOd2NtVmhaSE5vWldWMFNXUTZJR2x1Y0hWMExuTndjbVZoWkhOb1pXVjBTV1FzWEc0Z0lDQWdJQ0FnSUhKaGJtZGxPaUJ5WlhOd2IyNXpaUzVrWVhSaExuSmhibWRsSUQ4L0lHbHVjSFYwTG5KaGJtZGxMRnh1SUNBZ0lDQWdJQ0J0WVdwdmNrUnBiV1Z1YzJsdmJqb2djbVZ6Y0c5dWMyVXVaR0YwWVM1dFlXcHZja1JwYldWdWMybHZiaUEvUHlCY0lsSlBWMU5jSWl4Y2JpQWdJQ0FnSUNBZ2RtRnNkV1Z6T2lCeVpYTndiMjV6WlM1a1lYUmhMblpoYkhWbGN5QS9QeUJiWFN4Y2JpQWdJQ0FnSUgwN1hHNGdJQ0FnZlNCallYUmphQ0FvWlhKeWIzSXBJSHRjYmlBZ0lDQWdJSFJvY205M0lHaDBkSEJGY25KdmNpaGNJa2R2YjJkc1pTQlRhR1ZsZEhOY0lpd2dYQ0poY0hCbGJtUWdkbUZzZFdWelhDSXNJR1Z5Y205eUtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUVOc1pXRnljeUJoYkd3Z2RtRnNkV1Z6SUdsdUlHRnVJRUV4SUhKaGJtZGxJRzltSUdFZ2MzQnlaV0ZrYzJobFpYUmNiaUFnSUNvZ1FITjFiVzFoY25rZ1lGQlBVMVJnY3lCMGFHVWdZRHBqYkdWaGNtQWdaVzVrY0c5cGJuUWdabTl5SUhSb1pTQm5hWFpsYmlCZ2MzQnlaV0ZrYzJobFpYUkpaR0FnWVc1a1hHNGdJQ0FxSUdCeVlXNW5aV0FzSUdWdGNIUjVhVzVuSUhSb1pTQmpaV3hzY3lCM2FHbHNaU0J3Y21WelpYSjJhVzVuSUdadmNtMWhkSFJwYm1jc0lHRnVaQ0J5WlhSMWNtNXpJSFJvWlZ4dUlDQWdLaUJ5WVc1blpTQkhiMjluYkdVZ1lXTjBkV0ZzYkhrZ1kyeGxZWEpsWkM1Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSE53Y21WaFpITm9aV1YwU1dRZ0xTQlVhR1VnYzNCeVpXRmtjMmhsWlhRZ2RHOGdZMnhsWVhJZ2RtRnNkV1Z6SUdsdUxseHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnY21GdVoyVWdMU0JVYUdVZ1FURWdibTkwWVhScGIyNGdjbUZ1WjJVZ2RHOGdZMnhsWVhJdVhHNGdJQ0FxSUVCeVpYUjFjbTV6SUh0UWNtOXRhWE5sUEh0emNISmxZV1J6YUdWbGRFbGtPaUJ6ZEhKcGJtY3NJR05zWldGeVpXUlNZVzVuWlRvZ2MzUnlhVzVuZlQ1OUlGUm9aU0JqYkdWaGNtVmtJSEpoYm1kbElHRnpJSEpsY0c5eWRHVmtJR0o1SUVkdmIyZHNaUzVjYmlBZ0lDb2dRSFJvY205M2N5QjdTVzUwWlhKdVlXeEZjbkp2Y24wZ1YyaGxiaUJqY21Wa1pXNTBhV0ZzY3lCaGNtVWdiV2x6YzJsdVp5NWNiaUFnSUNvZ1FIUm9jbTkzY3lCN1RtOTBSbTkxYm1SRmNuSnZjbjBnVjJobGJpQjBhR1VnYzNCeVpXRmtjMmhsWlhRZ1pHOWxjeUJ1YjNRZ1pYaHBjM1FnS0VoVVZGQWdOREEwS1M1Y2JpQWdJQ29nUUhSb2NtOTNjeUI3UTI5dVpteHBZM1JGY25KdmNuMGdWMmhsYmlCSGIyOW5iR1VnWVc1emQyVnljeUIzYVhSb0lFaFVWRkFnTkRBNUxseHVJQ0FnS2lCQWRHaHliM2R6SUh0Q1lXUlNaWEYxWlhOMFJYSnliM0o5SUZkb1pXNGdSMjl2WjJ4bElHRnVjM2RsY25NZ2QybDBhQ0JoYm5rZ2IzUm9aWElnU0ZSVVVDQmxjbkp2Y2lCemRHRjBkWE1nS0dVdVp5NGdhVzUyWVd4cFpDQnlZVzVuWlNrdVhHNGdJQ0FxTDF4dUlDQmhjM2x1WXlCamJHVmhjbFpoYkhWbGN5aGNiaUFnSUNCemNISmxZV1J6YUdWbGRFbGtPaUJ6ZEhKcGJtY3NYRzRnSUNBZ2NtRnVaMlU2SUhOMGNtbHVaMXh1SUNBcE9pQlFjbTl0YVhObFBIc2djM0J5WldGa2MyaGxaWFJKWkRvZ2MzUnlhVzVuT3lCamJHVmhjbVZrVW1GdVoyVTZJSE4wY21sdVp5QjlQaUI3WEc0Z0lDQWdkR2hwY3k1eVpYRjFhWEpsUVhWMGFDZ3BPMXh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnlaWE53YjI1elpTQTlJR0YzWVdsMElIUm9hWE11WTJ4cFpXNTBMbkJ2YzNROGV5QmpiR1ZoY21Wa1VtRnVaMlUvT2lCemRISnBibWNnZlQ0b1hHNGdJQ0FnSUNBZ0lHQXZKSHRsYm1OdlpHVlZVa2xEYjIxd2IyNWxiblFvYzNCeVpXRmtjMmhsWlhSSlpDbDlMM1poYkhWbGN5OGtlM1JvYVhNdWNtRnVaMlZRWVhSb0tGeHVJQ0FnSUNBZ0lDQWdJSEpoYm1kbFhHNGdJQ0FnSUNBZ0lDbDlPbU5zWldGeVlDeGNiaUFnSUNBZ0lDQWdlMzFjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdJQ0J6Y0hKbFlXUnphR1ZsZEVsa0xGeHVJQ0FnSUNBZ0lDQmpiR1ZoY21Wa1VtRnVaMlU2SUhKbGMzQnZibk5sTG1SaGRHRXVZMnhsWVhKbFpGSmhibWRsSUQ4L0lISmhibWRsTEZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2hsY25KdmNpa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2FIUjBjRVZ5Y205eUtGd2lSMjl2WjJ4bElGTm9aV1YwYzF3aUxDQmNJbU5zWldGeUlIWmhiSFZsYzF3aUxDQmxjbkp2Y2lrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJEY21WaGRHVnpJR0VnYm1WM0lITndjbVZoWkhOb1pXVjBJSGRwZEdnZ2RHaGxJR2RwZG1WdUlIUnBkR3hsWEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJR0JRVDFOVVlITWdZU0J6Y0hKbFlXUnphR1ZsZENCeVpYTnZkWEpqWlNCM2FYUm9JR0J3Y205d1pYSjBhV1Z6TG5ScGRHeGxZQ0IwYnlCMGFHVmNiaUFnSUNvZ2MzQnlaV0ZrYzJobFpYUnpJR1Z1WkhCdmFXNTBJR0Z1WkNCeVpYUjFjbTV6SUhSb1pTQnVaWGNnYzNCeVpXRmtjMmhsWlhRbmN5QkpSQ0JoYm1RZ1ZWSk1MbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2RHbDBiR1VnTFNCVWFHVWdkR2wwYkdVZ1ptOXlJSFJvWlNCdVpYY2djM0J5WldGa2MyaGxaWFF1WEc0Z0lDQXFJRUJ5WlhSMWNtNXpJSHRRY205dGFYTmxQSHR6Y0hKbFlXUnphR1ZsZEVsa09pQnpkSEpwYm1jc0lITndjbVZoWkhOb1pXVjBWWEpzUHpvZ2MzUnlhVzVuZlQ1OUlGUm9aU0JqY21WaGRHVmtJSE53Y21WaFpITm9aV1YwSjNNZ1NVUWdZVzVrSUZWU1RDNWNiaUFnSUNvZ1FIUm9jbTkzY3lCN1NXNTBaWEp1WVd4RmNuSnZjbjBnVjJobGJpQmpjbVZrWlc1MGFXRnNjeUJoY21VZ2JXbHpjMmx1WnlCdmNpQjBhR1VnZEdsMGJHVWdhWE1nWlcxd2RIa3VYRzRnSUNBcUlFQjBhSEp2ZDNNZ2UwNXZkRVp2ZFc1a1JYSnliM0o5SUZkb1pXNGdSMjl2WjJ4bElHRnVjM2RsY25NZ2QybDBhQ0JJVkZSUUlEUXdOQzVjYmlBZ0lDb2dRSFJvY205M2N5QjdRMjl1Wm14cFkzUkZjbkp2Y24wZ1YyaGxiaUJIYjI5bmJHVWdZVzV6ZDJWeWN5QjNhWFJvSUVoVVZGQWdOREE1TGx4dUlDQWdLaUJBZEdoeWIzZHpJSHRDWVdSU1pYRjFaWE4wUlhKeWIzSjlJRmRvWlc0Z1IyOXZaMnhsSUdGdWMzZGxjbk1nZDJsMGFDQmhibmtnYjNSb1pYSWdTRlJVVUNCbGNuSnZjaUJ6ZEdGMGRYTXVYRzRnSUNBcUwxeHVJQ0JoYzNsdVl5QmpjbVZoZEdWVGNISmxZV1J6YUdWbGRDaGNiaUFnSUNCMGFYUnNaVG9nYzNSeWFXNW5YRzRnSUNrNklGQnliMjFwYzJVOGV5QnpjSEpsWVdSemFHVmxkRWxrT2lCemRISnBibWM3SUhOd2NtVmhaSE5vWldWMFZYSnNQem9nYzNSeWFXNW5JSDArSUh0Y2JpQWdJQ0IwYUdsekxuSmxjWFZwY21WQmRYUm9LQ2s3WEc0Z0lDQWdhV1lnS0NGMGFYUnNaU2tnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9YRzRnSUNBZ0lDQWdJRndpUjI5dloyeGxJRk5vWldWMGN5QmpjbVZoZEdWVGNISmxZV1J6YUdWbGRDQnlaWEYxYVhKbGN5QmhJSFJwZEd4bFhDSmNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCeVpYTndiMjV6WlNBOUlHRjNZV2wwSUhSb2FYTXVZMnhwWlc1MExuQnZjM1E4ZTF4dUlDQWdJQ0FnSUNCemNISmxZV1J6YUdWbGRFbGtPaUJ6ZEhKcGJtYzdYRzRnSUNBZ0lDQWdJSE53Y21WaFpITm9aV1YwVlhKc1B6b2djM1J5YVc1bk8xeHVJQ0FnSUNBZ2ZUNG9YQ0l2WENJc0lIdGNiaUFnSUNBZ0lDQWdjSEp2Y0dWeWRHbGxjem9nZXlCMGFYUnNaU0I5TEZ4dUlDQWdJQ0FnZlNrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnSUNCemNISmxZV1J6YUdWbGRFbGtPaUJ5WlhOd2IyNXpaUzVrWVhSaExuTndjbVZoWkhOb1pXVjBTV1FzWEc0Z0lDQWdJQ0FnSUhOd2NtVmhaSE5vWldWMFZYSnNPaUJ5WlhOd2IyNXpaUzVrWVhSaExuTndjbVZoWkhOb1pXVjBWWEpzTEZ4dUlDQWdJQ0FnZlR0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2hsY25KdmNpa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2FIUjBjRVZ5Y205eUtGd2lSMjl2WjJ4bElGTm9aV1YwYzF3aUxDQmNJbU55WldGMFpTQnpjSEpsWVdSemFHVmxkRndpTENCbGNuSnZjaWs3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzRpWFgwPSJdfQ==
|
|
@@ -20,5 +20,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
20
20
|
* @description Re-exports the Google Sheets client-based service and its types.
|
|
21
21
|
*/
|
|
22
22
|
__exportStar(require("./GoogleSheetsService.cjs"), exports);
|
|
23
|
-
//# sourceMappingURL=
|
|
24
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW8vZ29vZ2xlLXNoZWV0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gseUNBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9pby9nb29nbGUtc2hlZXRzXG4gKiBAc3VtbWFyeSBHb29nbGUgU2hlZXRzIFJFU1QgdjQgc2VydmljZSAodmFsdWVzIHJlYWQvd3JpdGUvYXBwZW5kL2NsZWFyLCBzcHJlYWRzaGVldCBjcmVhdGlvbikuXG4gKiBAZGVzY3JpcHRpb24gUmUtZXhwb3J0cyB0aGUgR29vZ2xlIFNoZWV0cyBjbGllbnQtYmFzZWQgc2VydmljZSBhbmQgaXRzIHR5cGVzLlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9Hb29nbGVTaGVldHNTZXJ2aWNlXCI7XG4iXX0=
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7R0FJRztBQUNILDJEQUF5QztBQUN6Qywwb0JBQTBvQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvaW8vZ29vZ2xlLXNoZWV0c1xuICogQHN1bW1hcnkgR29vZ2xlIFNoZWV0cyBSRVNUIHY0IHNlcnZpY2UgKHZhbHVlcyByZWFkL3dyaXRlL2FwcGVuZC9jbGVhciwgc3ByZWFkc2hlZXQgY3JlYXRpb24pLlxuICogQGRlc2NyaXB0aW9uIFJlLWV4cG9ydHMgdGhlIEdvb2dsZSBTaGVldHMgY2xpZW50LWJhc2VkIHNlcnZpY2UgYW5kIGl0cyB0eXBlcy5cbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vR29vZ2xlU2hlZXRzU2VydmljZS5qc1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYVc1a1pYZ3Vhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOXpjbU12YVc4dloyOXZaMnhsTFhOb1pXVjBjeTlwYm1SbGVDNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVRzN096dEhRVWxITzBGQlEwZ3NlVU5CUVhORElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xWEc0Z0tpQkFiVzlrZFd4bElHbHVkR1ZuY21GMGFXOXVjeTlwYnk5bmIyOW5iR1V0YzJobFpYUnpYRzRnS2lCQWMzVnRiV0Z5ZVNCSGIyOW5iR1VnVTJobFpYUnpJRkpGVTFRZ2RqUWdjMlZ5ZG1salpTQW9kbUZzZFdWeklISmxZV1F2ZDNKcGRHVXZZWEJ3Wlc1a0wyTnNaV0Z5TENCemNISmxZV1J6YUdWbGRDQmpjbVZoZEdsdmJpa3VYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdVbVV0Wlhod2IzSjBjeUIwYUdVZ1IyOXZaMnhsSUZOb1pXVjBjeUJqYkdsbGJuUXRZbUZ6WldRZ2MyVnlkbWxqWlNCaGJtUWdhWFJ6SUhSNWNHVnpMbHh1SUNvdlhHNWxlSEJ2Y25RZ0tpQm1jbTl0SUZ3aUxpOUhiMjluYkdWVGFHVmxkSE5UWlhKMmFXTmxYQ0k3WEc0aVhYMD0iXX0=
|
|
@@ -139,5 +139,5 @@ class GraphqlService extends index_js_1.HttpApiService {
|
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
exports.GraphqlService = GraphqlService;
|
|
142
|
-
//# sourceMappingURL=GraphqlService.js.map
|
|
143
|
-
//# sourceMappingURL=GraphqlService.cjs.map
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhxbFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW8vZ3JhcGhxbC9HcmFwaHFsU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSw0QkFBdUI7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsMkNBQXNDO0FBQ3JFLE9BQU8sRUFDTCxjQUFjLEVBRWQsU0FBUyxHQUNWLHFDQUEwQjtBQW1FM0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsY0FBb0M7SUFBeEU7O1FBQ0U7O1dBRUc7UUFDZ0IsZ0JBQVcsR0FBRyxTQUFTLENBQUM7SUF5RzdDLENBQUM7SUF2R0M7Ozs7OztPQU1HO0lBQ08sY0FBYztRQUN0QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxLQUFLLENBQUMsVUFBVSxDQUNkLEdBQUcsSUFBNkI7UUFFaEMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFrQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hELENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ08sV0FBVyxDQUFDLE1BQTRCO1FBQ2hELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsVUFBVSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ08scUJBQXFCO1FBQzdCLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUNoQyxPQUFPO1lBQ0wsUUFBUTtZQUNSLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUMzQixPQUFPLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7U0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUNYLEtBQXFCO1FBRXJCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3BELE1BQU0sSUFBSSxhQUFhLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDN0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsTUFBTSxJQUFJLGFBQWEsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNyQyxRQUFRLEVBQ1I7Z0JBQ0UsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUNsQixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7Z0JBQzFCLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTthQUNuQyxFQUNELEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FDM0IsQ0FBQztZQUNGLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztRQUN2QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvaW8vZ3JhcGhxbC9zZXJ2aWNlXG4gKiBAc3VtbWFyeSBHZW5lcmljIEdyYXBoUUwgZW5kcG9pbnQgaW50ZWdyYXRpb24gc2VydmljZSBmb3IgZXhlY3V0aW5nIHF1ZXJpZXMgYW5kIG11dGF0aW9ucy5cbiAqIEBkZXNjcmlwdGlvbiBQb3N0cyBHcmFwaFFMIGRvY3VtZW50cyB0byBhbnkgZW5kcG9pbnQgYXMgYW4gdW5kZWNvcmF0ZWRcbiAqIGNsaWVudC1iYXNlZCBzZXJ2aWNlIGJ1aWx0IG9uIHtAbGluayBIdHRwQXBpU2VydmljZX0uXG4gKiBUaGUgZW5kcG9pbnQgaXMgc3VwcGxpZWQgYXMgYGVuZHBvaW50YCAoYW4gYWxpYXMgbm9ybWFsaXplZCB0byBgYmFzZVVybGBcbiAqIGR1cmluZyBpbml0aWFsaXphdGlvbikgb3IgdGhlIGBpby5ncmFwaHFsYCBlbnZpcm9ubWVudCBzbGljZTsgYW4gb3B0aW9uYWxcbiAqIGJlYXJlciB0b2tlbiBpcyBhdHRhY2hlZCB0byBldmVyeSByZXF1ZXN0LCBwZXItcmVxdWVzdCBoZWFkZXJzIGNhbiBleHRlbmRcbiAqIGl0LCBhbmQgZmFpbHVyZXMgYXJlIG1hcHBlZCB0byBkZWNhZiBlcnJvcnMgdmlhIHtAbGluayBodHRwRXJyb3J9LiBHcmFwaFFMXG4gKiBmaWVsZC1sZXZlbCBgZXJyb3JzYCBhcmUgcmV0dXJuZWQgaW4gdGhlIHJlc3BvbnNlIHJhdGhlciB0aGFuIHRocm93biDigJRcbiAqIGNhbGxlcnMgZGVjaWRlIGhvdyB0byBoYW5kbGUgcGFydGlhbCByZXN1bHRzLlxuICovXG5pbXBvcnQgeyB0eXBlIE1heWJlQ29udGV4dHVhbEFyZyB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHR5cGUgeyBBeGlvc0luc3RhbmNlIH0gZnJvbSBcImF4aW9zXCI7XG5pbXBvcnQgeyBJb0Vudmlyb25tZW50IH0gZnJvbSBcIi4uL2Vudmlyb25tZW50XCI7XG5pbXBvcnQgeyBlbnZOdW1iZXIsIGVudlN0cmluZyB9IGZyb20gXCIuLi8uLi9zaGFyZWQvZW52aXJvbm1lbnRWYWx1ZVwiO1xuaW1wb3J0IHtcbiAgSHR0cEFwaVNlcnZpY2UsXG4gIHR5cGUgSHR0cEFwaVNlcnZpY2VDb25maWcsXG4gIGh0dHBFcnJvcixcbn0gZnJvbSBcIi4uLy4uL3NoYXJlZC9odHRwXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBHcmFwaFFMIHNlcnZpY2VcbiAqIEBzdW1tYXJ5IEV4dGVuZHMge0BsaW5rIEh0dHBBcGlTZXJ2aWNlQ29uZmlnfSB3aXRoIHRoZSBHcmFwaFFMIGBlbmRwb2ludGBcbiAqIFVSTCAobm9ybWFsaXplZCB0byBgYmFzZVVybGAgZHVyaW5nIGluaXRpYWxpemF0aW9uKSBhbmQgdGhlIG9wdGlvbmFsIGJlYXJlclxuICogdG9rZW4uIFdoZW4gb21pdHRlZCwgdGhlIGBpby5ncmFwaHFsYCBlbnZpcm9ubWVudCBzbGljZSBzdXBwbGllcyB0aGVcbiAqIGVuZHBvaW50IChhbmQgb3B0aW9uYWwgYHRva2VuYCwgYHRpbWVvdXRgKS5cbiAqIEBjYXRlZ29yeSBJT1xuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvaW8vZ3JhcGhxbC9zZXJ2aWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JhcGhxbFNlcnZpY2VDb25maWcgZXh0ZW5kcyBIdHRwQXBpU2VydmljZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gR3JhcGhRTCBlbmRwb2ludCBVUkxcbiAgICogQHN1bW1hcnkgQWxpYXNlZCB0byBgYmFzZVVybGAgYnkge0BsaW5rIEdyYXBocWxTZXJ2aWNlLmluaXRpYWxpemV9OyBldmVyeVxuICAgKiByZXF1ZXN0IGlzIHBvc3RlZCB0byB0aGlzIFVSTC5cbiAgICovXG4gIGVuZHBvaW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEJlYXJlciB0b2tlbiBmb3IgdGhlIGVuZHBvaW50XG4gICAqIEBzdW1tYXJ5IFNlbnQgYXMgYEF1dGhvcml6YXRpb246IEJlYXJlciA8dG9rZW4+YCB3aXRoIGV2ZXJ5IHJlcXVlc3QuXG4gICAqL1xuICB0b2tlbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW5wdXQgZm9yIGEgR3JhcGhRTCByZXF1ZXN0XG4gKiBAc3VtbWFyeSBDYXJyaWVzIHRoZSBgcXVlcnlgIGRvY3VtZW50LCB0aGUgYHZhcmlhYmxlc2AgbWFwIHJlZmVyZW5jZWQgYnlcbiAqIGl0LCB0aGUgb3B0aW9uYWwgYG9wZXJhdGlvbk5hbWVgIHdoZW4gdGhlIGRvY3VtZW50IGhvbGRzIG11bHRpcGxlIG5hbWVkXG4gKiBvcGVyYXRpb25zLCBhbmQgcGVyLXJlcXVlc3QgYGhlYWRlcnNgIG1lcmdlZCBpbnRvIHRoZSBjbGllbnQncyBkZWZhdWx0cy5cbiAqIEBjYXRlZ29yeSBJT1xuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvaW8vZ3JhcGhxbC9zZXJ2aWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JhcGhxbFJlcXVlc3Qge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBHcmFwaFFMIHF1ZXJ5IG9yIG11dGF0aW9uIGRvY3VtZW50IChyZXF1aXJlZClcbiAgICovXG4gIHF1ZXJ5OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVmFyaWFibGUgdmFsdWVzIGZvciB0aGUgZG9jdW1lbnQncyBkZWNsYXJlZCB2YXJpYWJsZXNcbiAgICovXG4gIHZhcmlhYmxlcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBvcGVyYXRpb24gdG8gZXhlY3V0ZSB3aGVuIHRoZSBkb2N1bWVudCBkZWZpbmVzIHNldmVyYWxcbiAgICovXG4gIG9wZXJhdGlvbk5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRXh0cmEgaGVhZGVycyBtZXJnZWQgb3ZlciB0aGUgY2xpZW50J3MgZGVmYXVsdHMgZm9yIHRoaXMgcmVxdWVzdFxuICAgKi9cbiAgaGVhZGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEdyYXBoUUwgcmVzcG9uc2UgZW52ZWxvcGVcbiAqIEBzdW1tYXJ5IFRoZSBzdGFuZGFyZCBHcmFwaFFMIGV4ZWN1dGlvbiByZXN1bHQ6IGBkYXRhYCB3aGVuIHRoZSBvcGVyYXRpb25cbiAqIHByb2R1Y2VkIHJlc3VsdHMsIGZpZWxkLWxldmVsIGBlcnJvcnNgIChtZXNzYWdlIHBsdXMgcmVzcG9uc2UgcGF0aCkgd2hlblxuICogZXhlY3V0aW9uIHBhcnRpYWxseSBmYWlsZWQsIGFuZCBwcm92aWRlciBgZXh0ZW5zaW9uc2AuXG4gKiBAdGVtcGxhdGUgVCAtIFRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSBgZGF0YWAgcGF5bG9hZC5cbiAqIEBjYXRlZ29yeSBJT1xuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvaW8vZ3JhcGhxbC9zZXJ2aWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JhcGhxbFJlc3BvbnNlPFQgPSB1bmtub3duPiB7XG4gIGRhdGE/OiBUO1xuICBlcnJvcnM/OiBBcnJheTx7IG1lc3NhZ2U6IHN0cmluZzsgcGF0aD86IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfT47XG4gIGV4dGVuc2lvbnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gR2VuZXJpYyBHcmFwaFFMIGVuZHBvaW50IGludGVncmF0aW9uIHNlcnZpY2VcbiAqIEBzdW1tYXJ5IEFuIHVuZGVjb3JhdGVkIEhUVFAgc2VydmljZSB0aGF0IGBQT1NUYHMgR3JhcGhRTFxuICogZG9jdW1lbnRzIHRvIGFueSBlbmRwb2ludC4gVW5saWtlIHRoZSBvdGhlciBpbnRlZ3JhdGlvbiBzZXJ2aWNlcyB0aGVyZSBpc1xuICogbm8gZGVmYXVsdCBiYXNlIFVSTCDigJQgdGhlIGVuZHBvaW50IG11c3QgY29tZSBmcm9tIHRoZSBjb25maWcgKGBlbmRwb2ludGAgb3JcbiAqIGBiYXNlVXJsYCkgb3IgdGhlIGBpby5ncmFwaHFsYCBlbnZpcm9ubWVudCBzbGljZS4gSW5pdGlhbGl6YXRpb24gbm9ybWFsaXplc1xuICogdGhlIGBlbmRwb2ludGAgYWxpYXMgdG8gYGJhc2VVcmxgIGJlZm9yZSBkZWxlZ2F0aW5nIHRvIHRoZSBzaGFyZWRcbiAqIHtAbGluayBIdHRwQXBpU2VydmljZS5pbml0aWFsaXplfTsgdGhlIG9wdGlvbmFsIHRva2VuIGlzIHNlbnQgYXMgYSBiZWFyZXJcbiAqIGhlYWRlciBhbmQgcGVyLXJlcXVlc3QgaGVhZGVycyBleHRlbmQgaXQuIFRyYW5zcG9ydCBmYWlsdXJlcyBhcmUgbWFwcGVkIHRvXG4gKiBkZWNhZiBlcnJvcnMgdmlhIHtAbGluayBodHRwRXJyb3J9LCB3aGlsZSBHcmFwaFFMIGZpZWxkLWxldmVsIGBlcnJvcnNgIGFyZVxuICogcmV0dXJuZWQgaW4gdGhlIHJlc3BvbnNlIGZvciB0aGUgY2FsbGVyIHRvIGludGVycHJldC5cbiAqIEBjbGFzcyBHcmFwaHFsU2VydmljZVxuICogQGNhdGVnb3J5IElPXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IEdyYXBocWxTZXJ2aWNlIH0gZnJvbSBcIkBkZWNhZi10cy9pbnRlZ3JhdGlvbnMvaW8vZ3JhcGhxbFwiO1xuICpcbiAqIGNvbnN0IGdyYXBocWwgPSBuZXcgR3JhcGhxbFNlcnZpY2UoKTtcbiAqIGF3YWl0IGdyYXBocWwuaW5pdGlhbGl6ZSh7XG4gKiAgIGVuZHBvaW50OiBcImh0dHBzOi8vYXBpLmV4YW1wbGUuY29tL2dyYXBocWxcIixcbiAqICAgdG9rZW46IHByb2Nlc3MuZW52LkdSQVBIX0NSRURFTlRJQUxfR1JBUEhRTF9UT0tFTixcbiAqIH0pO1xuICogY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBncmFwaHFsLnJlcXVlc3Q8eyB1c2VyOiB7IG5hbWU6IHN0cmluZyB9IH0+KHtcbiAqICAgcXVlcnk6IGBxdWVyeSBHZXRVc2VyKCRpZDogSUQhKSB7XG4gKiAgICAgdXNlcihpZDogJGlkKSB7IG5hbWUgfVxuICogICB9YCxcbiAqICAgdmFyaWFibGVzOiB7IGlkOiBcIjEyM1wiIH0sXG4gKiB9KTtcbiAqIGBgYFxuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvaW8vZ3JhcGhxbC9zZXJ2aWNlXG4gKi9cbmV4cG9ydCBjbGFzcyBHcmFwaHFsU2VydmljZSBleHRlbmRzIEh0dHBBcGlTZXJ2aWNlPEdyYXBocWxTZXJ2aWNlQ29uZmlnPiB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIHByb3ZpZGVyIG5hbWUgdXNlZCBpbiBlcnJvciBtZXNzYWdlc1xuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlcnZpY2VOYW1lID0gXCJHcmFwaFFMXCI7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgYWJzZW5jZSBvZiBhIGRlZmF1bHQgR3JhcGhRTCBlbmRwb2ludFxuICAgKiBAc3VtbWFyeSBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBiZWNhdXNlIEdyYXBoUUwgZW5kcG9pbnRzIGFyZVxuICAgKiBwcm92aWRlci1zcGVjaWZpYzsge0BsaW5rIEdyYXBocWxTZXJ2aWNlLnJlcXVlc3R9IHJlamVjdHMgZXhlY3V0aW9uIHdoZW5cbiAgICogbm8gZW5kcG9pbnQgd2FzIGNvbmZpZ3VyZWQuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IEFuIGVtcHR5IHN0cmluZy5cbiAgICovXG4gIHByb3RlY3RlZCBkZWZhdWx0QmFzZVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBOb3JtYWxpemVzIHRoZSBgZW5kcG9pbnRgIGFsaWFzIGJlZm9yZSBzaGFyZWQgaW5pdGlhbGl6YXRpb25cbiAgICogQHN1bW1hcnkgV2hlbiB0aGUgcHJvdmlkZWQgY29uZmlnIGNhcnJpZXMgbm8gYGJhc2VVcmxgIGJ1dCBhbiBgZW5kcG9pbnRgLFxuICAgKiBjb3BpZXMgYGVuZHBvaW50YCBpbnRvIGBiYXNlVXJsYCBhbmQgZGVsZWdhdGVzIHRvXG4gICAqIHtAbGluayBIdHRwQXBpU2VydmljZS5pbml0aWFsaXplfSwgd2hpY2ggbWVyZ2VzIHRoZSBlbnZpcm9ubWVudCBzbGljZSBhbmRcbiAgICogYnVpbGRzIHRoZSBBeGlvcyBjbGllbnQuXG4gICAqIEBwYXJhbSB7Li4uTWF5YmVDb250ZXh0dWFsQXJnPGFueT59IGFyZ3MgLSBBbiBvcHRpb25hbCBgUGFydGlhbDxHcmFwaHFsU2VydmljZUNvbmZpZz5gLCBvcHRpb25hbGx5IGZvbGxvd2VkIGJ5IGEgZGVjYWYgYENvbnRleHRgLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx7Y29uZmlnOiBHcmFwaHFsU2VydmljZUNvbmZpZywgY2xpZW50OiBBeGlvc0luc3RhbmNlfT59IFRoZSBtZXJnZWQgY29uZmlndXJhdGlvbiBhbmQgdGhlIGNvbmZpZ3VyZWQgQXhpb3MgaW5zdGFuY2UuXG4gICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gbm8gYmFzZSBVUkwgY2FuIGJlIHJlc29sdmVkIGZyb20gdGhlIGNvbmZpZyBvciBlbnZpcm9ubWVudC5cbiAgICovXG4gIGFzeW5jIGluaXRpYWxpemUoXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx7IGNvbmZpZzogR3JhcGhxbFNlcnZpY2VDb25maWc7IGNsaWVudDogQXhpb3NJbnN0YW5jZSB9PiB7XG4gICAgY29uc3QgcHJvdmlkZWQgPSAoYXJnc1swXSA/PyB7fSkgYXMgUGFydGlhbDxHcmFwaHFsU2VydmljZUNvbmZpZz47XG4gICAgaWYgKCFwcm92aWRlZC5iYXNlVXJsICYmIHByb3ZpZGVkLmVuZHBvaW50KSB7XG4gICAgICBhcmdzWzBdID0geyAuLi5wcm92aWRlZCwgYmFzZVVybDogcHJvdmlkZWQuZW5kcG9pbnQgfTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLmluaXRpYWxpemUoLi4uYXJncyk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEJ1aWxkcyB0aGUgR3JhcGhRTCBiZWFyZXIgYXV0aG9yaXphdGlvbiBoZWFkZXJzXG4gICAqIEBzdW1tYXJ5IFJldHVybnMgdGhlIGBBdXRob3JpemF0aW9uOiBCZWFyZXIgPHRva2VuPmAgaGVhZGVyIHdoZW4gdGhlXG4gICAqIGNvbmZpZyBjYXJyaWVzIGEgdG9rZW4sIGFuZCBubyBoZWFkZXJzIG90aGVyd2lzZS5cbiAgICogQHBhcmFtIHtHcmFwaHFsU2VydmljZUNvbmZpZ30gY29uZmlnIC0gVGhlIHJlc29sdmVkIHNlcnZpY2UgY29uZmlndXJhdGlvbi5cbiAgICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIHN0cmluZz59IFRoZSBhdXRob3JpemF0aW9uIGhlYWRlcnMgKGVtcHR5IHdpdGhvdXQgYSB0b2tlbikuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXV0aEhlYWRlcnMoY29uZmlnOiBHcmFwaHFsU2VydmljZUNvbmZpZyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIHJldHVybiBjb25maWcudG9rZW4gPyB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtjb25maWcudG9rZW59YCB9IDoge307XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlYWRzIHRoZSBHcmFwaFFMIGVuZHBvaW50IGFuZCB0b2tlbiBmcm9tIHRoZSBlbnZpcm9ubWVudFxuICAgKiBAc3VtbWFyeSBSZWFkcyB0aGUgYGlvLmdyYXBocWxgIGVudmlyb25tZW50IHNsaWNlIGFuZCByZXR1cm5zIGEgcGFydGlhbFxuICAgKiBjb25maWcgKHdpdGggYGVuZHBvaW50YCBhbHNvIG1pcnJvcmVkIHRvIGBiYXNlVXJsYCkgd2hlbiBhbiBlbmRwb2ludCBpc1xuICAgKiBjb25maWd1cmVkLCBgdW5kZWZpbmVkYCBvdGhlcndpc2UuIFZhbHVlcyBwYXNzIHRocm91Z2hcbiAgICogYGVudlN0cmluZ2AvYGVudk51bWJlcmAgdG8gcmVqZWN0IHVuc2V0LWxlYWYgcHJveGllcy5cbiAgICogQHJldHVybnMge1BhcnRpYWw8R3JhcGhxbFNlcnZpY2VDb25maWc+IHwgdW5kZWZpbmVkfSBBIHBhcnRpYWwgY29uZmlnLCBvciBgdW5kZWZpbmVkYCB3aGVuIG5vIEdyYXBoUUwgZW5kcG9pbnQgaXMgY29uZmlndXJlZC5cbiAgICovXG4gIHByb3RlY3RlZCBjb25maWdGcm9tRW52aXJvbm1lbnQoKTogUGFydGlhbDxHcmFwaHFsU2VydmljZUNvbmZpZz4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGVudiA9IElvRW52aXJvbm1lbnQuaW8uZ3JhcGhxbDtcbiAgICBjb25zdCBlbmRwb2ludCA9IGVudlN0cmluZyhlbnY/LmVuZHBvaW50KTtcbiAgICBpZiAoIWVuZHBvaW50KSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiB7XG4gICAgICBlbmRwb2ludCxcbiAgICAgIGJhc2VVcmw6IGVuZHBvaW50LFxuICAgICAgdG9rZW46IGVudlN0cmluZyhlbnYudG9rZW4pLFxuICAgICAgdGltZW91dDogZW52TnVtYmVyKGVudi50aW1lb3V0KSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlcyBhIEdyYXBoUUwgcXVlcnkgb3IgbXV0YXRpb24gYWdhaW5zdCB0aGUgY29uZmlndXJlZCBlbmRwb2ludFxuICAgKiBAc3VtbWFyeSBgUE9TVGBzIHRoZSBzdGFuZGFyZCBHcmFwaFFMIHJlcXVlc3QgYm9keSAoYHF1ZXJ5YCxcbiAgICogYHZhcmlhYmxlc2AsIGBvcGVyYXRpb25OYW1lYCkgdG8gdGhlIHJlc29sdmVkIGVuZHBvaW50IHdpdGggdGhlIG9wdGlvbmFsXG4gICAqIHBlci1yZXF1ZXN0IGhlYWRlcnMgbWVyZ2VkIG92ZXIgdGhlIGNsaWVudCBkZWZhdWx0cy4gUmVxdWlyZXMgYVxuICAgKiBub24tZW1wdHkgcXVlcnkgYW5kIGEgY29uZmlndXJlZCBlbmRwb2ludC4gUmV0dXJucyB0aGUgcmF3IGV4ZWN1dGlvblxuICAgKiBlbnZlbG9wZTogZmllbGQtbGV2ZWwgYGVycm9yc2AgYXJlIHJlcG9ydGVkIGluIGBHcmFwaHFsUmVzcG9uc2UuZXJyb3JzYFxuICAgKiByYXRoZXIgdGhhbiB0aHJvd24sIHNvIGNhbGxlcnMgbXVzdCBpbnNwZWN0IHRoZW0gZm9yIHBhcnRpYWwgZmFpbHVyZXMuXG4gICAqIEB0ZW1wbGF0ZSBUIC0gVGhlIGV4cGVjdGVkIHR5cGUgb2YgdGhlIGBkYXRhYCBwYXlsb2FkLlxuICAgKiBAcGFyYW0ge0dyYXBocWxSZXF1ZXN0fSBpbnB1dCAtIFRoZSBxdWVyeSBkb2N1bWVudCwgdmFyaWFibGVzLCBvcGVyYXRpb24gbmFtZSwgYW5kIHBlci1yZXF1ZXN0IGhlYWRlcnMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEdyYXBocWxSZXNwb25zZTxUPj59IFRoZSBleGVjdXRpb24gZW52ZWxvcGUgd2l0aCBgZGF0YWAsIGBlcnJvcnNgLCBhbmQgYGV4dGVuc2lvbnNgLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIHRoZSBxdWVyeSBpcyBlbXB0eSBvciBubyBlbmRwb2ludCBpcyBjb25maWd1cmVkLlxuICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBXaGVuIHRoZSBlbmRwb2ludCBhbnN3ZXJzIHdpdGggSFRUUCA0MDQuXG4gICAqIEB0aHJvd3Mge0NvbmZsaWN0RXJyb3J9IFdoZW4gdGhlIGVuZHBvaW50IGFuc3dlcnMgd2l0aCBIVFRQIDQwOS5cbiAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIHRoZSBlbmRwb2ludCBhbnN3ZXJzIHdpdGggYW55IG90aGVyIEhUVFAgZXJyb3Igc3RhdHVzLlxuICAgKi9cbiAgYXN5bmMgcmVxdWVzdDxUID0gdW5rbm93bj4oXG4gICAgaW5wdXQ6IEdyYXBocWxSZXF1ZXN0XG4gICk6IFByb21pc2U8R3JhcGhxbFJlc3BvbnNlPFQ+PiB7XG4gICAgaWYgKCFpbnB1dC5xdWVyeSB8fCBpbnB1dC5xdWVyeS50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkdyYXBoUUwgcmVxdWVzdCByZXF1aXJlcyBhIHF1ZXJ5XCIpO1xuICAgIH1cbiAgICBjb25zdCBlbmRwb2ludCA9IHRoaXMuY29uZmlnLmVuZHBvaW50ID8/IHRoaXMuY29uZmlnLmJhc2VVcmw7XG4gICAgaWYgKCFlbmRwb2ludCkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJHcmFwaFFMIHJlcXVpcmVzIGFuIGVuZHBvaW50XCIpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0PEdyYXBocWxSZXNwb25zZTxUPj4oXG4gICAgICAgIGVuZHBvaW50LFxuICAgICAgICB7XG4gICAgICAgICAgcXVlcnk6IGlucHV0LnF1ZXJ5LFxuICAgICAgICAgIHZhcmlhYmxlczogaW5wdXQudmFyaWFibGVzLFxuICAgICAgICAgIG9wZXJhdGlvbk5hbWU6IGlucHV0Lm9wZXJhdGlvbk5hbWUsXG4gICAgICAgIH0sXG4gICAgICAgIHsgaGVhZGVyczogaW5wdXQuaGVhZGVycyB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGh0dHBFcnJvcihcIkdyYXBoUUxcIiwgXCJyZXF1ZXN0XCIsIGVycm9yKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JhcGhxbFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJHcmFwaHFsU2VydmljZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyREFBd0Q7QUFDeEQsd0RBQW9EO0FBQ3BELDRFQUEwRTtBQUMxRSwyREFBMEU7QUFDMUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCRztBQUNILE1BQWEsY0FBZSxTQUFRLHlCQUFjO0lBQzlDO1FBQ0ksS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDcEI7O1dBRUc7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztJQUNqQyxDQUFDO0lBQ0Q7Ozs7OztPQU1HO0lBQ0gsY0FBYztRQUNWLE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUNEOzs7Ozs7Ozs7T0FTRztJQUNILEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJO1FBQ3BCLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFELENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0Q7Ozs7OztPQU1HO0lBQ0gsV0FBVyxDQUFDLE1BQU07UUFDZCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLFVBQVUsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBQ0Q7Ozs7Ozs7T0FPRztJQUNILHFCQUFxQjtRQUNqQixNQUFNLEdBQUcsR0FBRyw4QkFBYSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDckMsTUFBTSxRQUFRLEdBQUcsSUFBQSwrQkFBUyxFQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUTtZQUNULE9BQU8sU0FBUyxDQUFDO1FBQ3JCLE9BQU87WUFDSCxRQUFRO1lBQ1IsT0FBTyxFQUFFLFFBQVE7WUFDakIsS0FBSyxFQUFFLElBQUEsK0JBQVMsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzNCLE9BQU8sRUFBRSxJQUFBLCtCQUFTLEVBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztTQUNsQyxDQUFDO0lBQ04sQ0FBQztJQUNEOzs7Ozs7Ozs7Ozs7Ozs7T0FlRztJQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSztRQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xELE1BQU0sSUFBSSw2QkFBYSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQzdELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSw2QkFBYSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNELElBQUksQ0FBQztZQUNELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUM5QyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ2xCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztnQkFDMUIsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO2FBQ3JDLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDL0IsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFBLG9CQUFTLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqRCxDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBckdELHdDQXFHQztBQUNELDg4ZUFBODhlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgSW9FbnZpcm9ubWVudCB9IGZyb20gXCIuLy4uL2Vudmlyb25tZW50LmpzXCI7XG5pbXBvcnQgeyBlbnZOdW1iZXIsIGVudlN0cmluZyB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9lbnZpcm9ubWVudFZhbHVlLmpzXCI7XG5pbXBvcnQgeyBIdHRwQXBpU2VydmljZSwgaHR0cEVycm9yLCB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9odHRwL2luZGV4LmpzXCI7XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBHZW5lcmljIEdyYXBoUUwgZW5kcG9pbnQgaW50ZWdyYXRpb24gc2VydmljZVxuICogQHN1bW1hcnkgQW4gdW5kZWNvcmF0ZWQgSFRUUCBzZXJ2aWNlIHRoYXQgYFBPU1RgcyBHcmFwaFFMXG4gKiBkb2N1bWVudHMgdG8gYW55IGVuZHBvaW50LiBVbmxpa2UgdGhlIG90aGVyIGludGVncmF0aW9uIHNlcnZpY2VzIHRoZXJlIGlzXG4gKiBubyBkZWZhdWx0IGJhc2UgVVJMIOKAlCB0aGUgZW5kcG9pbnQgbXVzdCBjb21lIGZyb20gdGhlIGNvbmZpZyAoYGVuZHBvaW50YCBvclxuICogYGJhc2VVcmxgKSBvciB0aGUgYGlvLmdyYXBocWxgIGVudmlyb25tZW50IHNsaWNlLiBJbml0aWFsaXphdGlvbiBub3JtYWxpemVzXG4gKiB0aGUgYGVuZHBvaW50YCBhbGlhcyB0byBgYmFzZVVybGAgYmVmb3JlIGRlbGVnYXRpbmcgdG8gdGhlIHNoYXJlZFxuICoge0BsaW5rIEh0dHBBcGlTZXJ2aWNlLmluaXRpYWxpemV9OyB0aGUgb3B0aW9uYWwgdG9rZW4gaXMgc2VudCBhcyBhIGJlYXJlclxuICogaGVhZGVyIGFuZCBwZXItcmVxdWVzdCBoZWFkZXJzIGV4dGVuZCBpdC4gVHJhbnNwb3J0IGZhaWx1cmVzIGFyZSBtYXBwZWQgdG9cbiAqIGRlY2FmIGVycm9ycyB2aWEge0BsaW5rIGh0dHBFcnJvcn0sIHdoaWxlIEdyYXBoUUwgZmllbGQtbGV2ZWwgYGVycm9yc2AgYXJlXG4gKiByZXR1cm5lZCBpbiB0aGUgcmVzcG9uc2UgZm9yIHRoZSBjYWxsZXIgdG8gaW50ZXJwcmV0LlxuICogQGNsYXNzIEdyYXBocWxTZXJ2aWNlXG4gKiBAY2F0ZWdvcnkgSU9cbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgR3JhcGhxbFNlcnZpY2UgfSBmcm9tIFwiQGRlY2FmLXRzL2ludGVncmF0aW9ucy9pby9ncmFwaHFsXCI7XG4gKlxuICogY29uc3QgZ3JhcGhxbCA9IG5ldyBHcmFwaHFsU2VydmljZSgpO1xuICogYXdhaXQgZ3JhcGhxbC5pbml0aWFsaXplKHtcbiAqICAgZW5kcG9pbnQ6IFwiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vZ3JhcGhxbFwiLFxuICogICB0b2tlbjogcHJvY2Vzcy5lbnYuR1JBUEhfQ1JFREVOVElBTF9HUkFQSFFMX1RPS0VOLFxuICogfSk7XG4gKiBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdyYXBocWwucmVxdWVzdDx7IHVzZXI6IHsgbmFtZTogc3RyaW5nIH0gfT4oe1xuICogICBxdWVyeTogYHF1ZXJ5IEdldFVzZXIoJGlkOiBJRCEpIHtcbiAqICAgICB1c2VyKGlkOiAkaWQpIHsgbmFtZSB9XG4gKiAgIH1gLFxuICogICB2YXJpYWJsZXM6IHsgaWQ6IFwiMTIzXCIgfSxcbiAqIH0pO1xuICogYGBgXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9ucy9pby9ncmFwaHFsL3NlcnZpY2VcbiAqL1xuZXhwb3J0IGNsYXNzIEdyYXBocWxTZXJ2aWNlIGV4dGVuZHMgSHR0cEFwaVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgICAgICAvKipcbiAgICAgICAgICogQGRlc2NyaXB0aW9uIFRoZSBwcm92aWRlciBuYW1lIHVzZWQgaW4gZXJyb3IgbWVzc2FnZXNcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuc2VydmljZU5hbWUgPSBcIkdyYXBoUUxcIjtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFRoZSBhYnNlbmNlIG9mIGEgZGVmYXVsdCBHcmFwaFFMIGVuZHBvaW50XG4gICAgICogQHN1bW1hcnkgUmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgYmVjYXVzZSBHcmFwaFFMIGVuZHBvaW50cyBhcmVcbiAgICAgKiBwcm92aWRlci1zcGVjaWZpYzsge0BsaW5rIEdyYXBocWxTZXJ2aWNlLnJlcXVlc3R9IHJlamVjdHMgZXhlY3V0aW9uIHdoZW5cbiAgICAgKiBubyBlbmRwb2ludCB3YXMgY29uZmlndXJlZC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBBbiBlbXB0eSBzdHJpbmcuXG4gICAgICovXG4gICAgZGVmYXVsdEJhc2VVcmwoKSB7XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gTm9ybWFsaXplcyB0aGUgYGVuZHBvaW50YCBhbGlhcyBiZWZvcmUgc2hhcmVkIGluaXRpYWxpemF0aW9uXG4gICAgICogQHN1bW1hcnkgV2hlbiB0aGUgcHJvdmlkZWQgY29uZmlnIGNhcnJpZXMgbm8gYGJhc2VVcmxgIGJ1dCBhbiBgZW5kcG9pbnRgLFxuICAgICAqIGNvcGllcyBgZW5kcG9pbnRgIGludG8gYGJhc2VVcmxgIGFuZCBkZWxlZ2F0ZXMgdG9cbiAgICAgKiB7QGxpbmsgSHR0cEFwaVNlcnZpY2UuaW5pdGlhbGl6ZX0sIHdoaWNoIG1lcmdlcyB0aGUgZW52aXJvbm1lbnQgc2xpY2UgYW5kXG4gICAgICogYnVpbGRzIHRoZSBBeGlvcyBjbGllbnQuXG4gICAgICogQHBhcmFtIHsuLi5NYXliZUNvbnRleHR1YWxBcmc8YW55Pn0gYXJncyAtIEFuIG9wdGlvbmFsIGBQYXJ0aWFsPEdyYXBocWxTZXJ2aWNlQ29uZmlnPmAsIG9wdGlvbmFsbHkgZm9sbG93ZWQgYnkgYSBkZWNhZiBgQ29udGV4dGAuXG4gICAgICogQHJldHVybnMge1Byb21pc2U8e2NvbmZpZzogR3JhcGhxbFNlcnZpY2VDb25maWcsIGNsaWVudDogQXhpb3NJbnN0YW5jZX0+fSBUaGUgbWVyZ2VkIGNvbmZpZ3VyYXRpb24gYW5kIHRoZSBjb25maWd1cmVkIEF4aW9zIGluc3RhbmNlLlxuICAgICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gbm8gYmFzZSBVUkwgY2FuIGJlIHJlc29sdmVkIGZyb20gdGhlIGNvbmZpZyBvciBlbnZpcm9ubWVudC5cbiAgICAgKi9cbiAgICBhc3luYyBpbml0aWFsaXplKC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgcHJvdmlkZWQgPSAoYXJnc1swXSA/PyB7fSk7XG4gICAgICAgIGlmICghcHJvdmlkZWQuYmFzZVVybCAmJiBwcm92aWRlZC5lbmRwb2ludCkge1xuICAgICAgICAgICAgYXJnc1swXSA9IHsgLi4ucHJvdmlkZWQsIGJhc2VVcmw6IHByb3ZpZGVkLmVuZHBvaW50IH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN1cGVyLmluaXRpYWxpemUoLi4uYXJncyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBCdWlsZHMgdGhlIEdyYXBoUUwgYmVhcmVyIGF1dGhvcml6YXRpb24gaGVhZGVyc1xuICAgICAqIEBzdW1tYXJ5IFJldHVybnMgdGhlIGBBdXRob3JpemF0aW9uOiBCZWFyZXIgPHRva2VuPmAgaGVhZGVyIHdoZW4gdGhlXG4gICAgICogY29uZmlnIGNhcnJpZXMgYSB0b2tlbiwgYW5kIG5vIGhlYWRlcnMgb3RoZXJ3aXNlLlxuICAgICAqIEBwYXJhbSB7R3JhcGhxbFNlcnZpY2VDb25maWd9IGNvbmZpZyAtIFRoZSByZXNvbHZlZCBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24uXG4gICAgICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIHN0cmluZz59IFRoZSBhdXRob3JpemF0aW9uIGhlYWRlcnMgKGVtcHR5IHdpdGhvdXQgYSB0b2tlbikuXG4gICAgICovXG4gICAgYXV0aEhlYWRlcnMoY29uZmlnKSB7XG4gICAgICAgIHJldHVybiBjb25maWcudG9rZW4gPyB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtjb25maWcudG9rZW59YCB9IDoge307XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBSZWFkcyB0aGUgR3JhcGhRTCBlbmRwb2ludCBhbmQgdG9rZW4gZnJvbSB0aGUgZW52aXJvbm1lbnRcbiAgICAgKiBAc3VtbWFyeSBSZWFkcyB0aGUgYGlvLmdyYXBocWxgIGVudmlyb25tZW50IHNsaWNlIGFuZCByZXR1cm5zIGEgcGFydGlhbFxuICAgICAqIGNvbmZpZyAod2l0aCBgZW5kcG9pbnRgIGFsc28gbWlycm9yZWQgdG8gYGJhc2VVcmxgKSB3aGVuIGFuIGVuZHBvaW50IGlzXG4gICAgICogY29uZmlndXJlZCwgYHVuZGVmaW5lZGAgb3RoZXJ3aXNlLiBWYWx1ZXMgcGFzcyB0aHJvdWdoXG4gICAgICogYGVudlN0cmluZ2AvYGVudk51bWJlcmAgdG8gcmVqZWN0IHVuc2V0LWxlYWYgcHJveGllcy5cbiAgICAgKiBAcmV0dXJucyB7UGFydGlhbDxHcmFwaHFsU2VydmljZUNvbmZpZz4gfCB1bmRlZmluZWR9IEEgcGFydGlhbCBjb25maWcsIG9yIGB1bmRlZmluZWRgIHdoZW4gbm8gR3JhcGhRTCBlbmRwb2ludCBpcyBjb25maWd1cmVkLlxuICAgICAqL1xuICAgIGNvbmZpZ0Zyb21FbnZpcm9ubWVudCgpIHtcbiAgICAgICAgY29uc3QgZW52ID0gSW9FbnZpcm9ubWVudC5pby5ncmFwaHFsO1xuICAgICAgICBjb25zdCBlbmRwb2ludCA9IGVudlN0cmluZyhlbnY/LmVuZHBvaW50KTtcbiAgICAgICAgaWYgKCFlbmRwb2ludClcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgIGJhc2VVcmw6IGVuZHBvaW50LFxuICAgICAgICAgICAgdG9rZW46IGVudlN0cmluZyhlbnYudG9rZW4pLFxuICAgICAgICAgICAgdGltZW91dDogZW52TnVtYmVyKGVudi50aW1lb3V0KSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGEgR3JhcGhRTCBxdWVyeSBvciBtdXRhdGlvbiBhZ2FpbnN0IHRoZSBjb25maWd1cmVkIGVuZHBvaW50XG4gICAgICogQHN1bW1hcnkgYFBPU1RgcyB0aGUgc3RhbmRhcmQgR3JhcGhRTCByZXF1ZXN0IGJvZHkgKGBxdWVyeWAsXG4gICAgICogYHZhcmlhYmxlc2AsIGBvcGVyYXRpb25OYW1lYCkgdG8gdGhlIHJlc29sdmVkIGVuZHBvaW50IHdpdGggdGhlIG9wdGlvbmFsXG4gICAgICogcGVyLXJlcXVlc3QgaGVhZGVycyBtZXJnZWQgb3ZlciB0aGUgY2xpZW50IGRlZmF1bHRzLiBSZXF1aXJlcyBhXG4gICAgICogbm9uLWVtcHR5IHF1ZXJ5IGFuZCBhIGNvbmZpZ3VyZWQgZW5kcG9pbnQuIFJldHVybnMgdGhlIHJhdyBleGVjdXRpb25cbiAgICAgKiBlbnZlbG9wZTogZmllbGQtbGV2ZWwgYGVycm9yc2AgYXJlIHJlcG9ydGVkIGluIGBHcmFwaHFsUmVzcG9uc2UuZXJyb3JzYFxuICAgICAqIHJhdGhlciB0aGFuIHRocm93biwgc28gY2FsbGVycyBtdXN0IGluc3BlY3QgdGhlbSBmb3IgcGFydGlhbCBmYWlsdXJlcy5cbiAgICAgKiBAdGVtcGxhdGUgVCAtIFRoZSBleHBlY3RlZCB0eXBlIG9mIHRoZSBgZGF0YWAgcGF5bG9hZC5cbiAgICAgKiBAcGFyYW0ge0dyYXBocWxSZXF1ZXN0fSBpbnB1dCAtIFRoZSBxdWVyeSBkb2N1bWVudCwgdmFyaWFibGVzLCBvcGVyYXRpb24gbmFtZSwgYW5kIHBlci1yZXF1ZXN0IGhlYWRlcnMuXG4gICAgICogQHJldHVybnMge1Byb21pc2U8R3JhcGhxbFJlc3BvbnNlPFQ+Pn0gVGhlIGV4ZWN1dGlvbiBlbnZlbG9wZSB3aXRoIGBkYXRhYCwgYGVycm9yc2AsIGFuZCBgZXh0ZW5zaW9uc2AuXG4gICAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiB0aGUgcXVlcnkgaXMgZW1wdHkgb3Igbm8gZW5kcG9pbnQgaXMgY29uZmlndXJlZC5cbiAgICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBXaGVuIHRoZSBlbmRwb2ludCBhbnN3ZXJzIHdpdGggSFRUUCA0MDQuXG4gICAgICogQHRocm93cyB7Q29uZmxpY3RFcnJvcn0gV2hlbiB0aGUgZW5kcG9pbnQgYW5zd2VycyB3aXRoIEhUVFAgNDA5LlxuICAgICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiB0aGUgZW5kcG9pbnQgYW5zd2VycyB3aXRoIGFueSBvdGhlciBIVFRQIGVycm9yIHN0YXR1cy5cbiAgICAgKi9cbiAgICBhc3luYyByZXF1ZXN0KGlucHV0KSB7XG4gICAgICAgIGlmICghaW5wdXQucXVlcnkgfHwgaW5wdXQucXVlcnkudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJHcmFwaFFMIHJlcXVlc3QgcmVxdWlyZXMgYSBxdWVyeVwiKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbmRwb2ludCA9IHRoaXMuY29uZmlnLmVuZHBvaW50ID8/IHRoaXMuY29uZmlnLmJhc2VVcmw7XG4gICAgICAgIGlmICghZW5kcG9pbnQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiR3JhcGhRTCByZXF1aXJlcyBhbiBlbmRwb2ludFwiKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0KGVuZHBvaW50LCB7XG4gICAgICAgICAgICAgICAgcXVlcnk6IGlucHV0LnF1ZXJ5LFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczogaW5wdXQudmFyaWFibGVzLFxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbk5hbWU6IGlucHV0Lm9wZXJhdGlvbk5hbWUsXG4gICAgICAgICAgICB9LCB7IGhlYWRlcnM6IGlucHV0LmhlYWRlcnMgfSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGh0dHBFcnJvcihcIkdyYXBoUUxcIiwgXCJyZXF1ZXN0XCIsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVIzSmhjR2h4YkZObGNuWnBZMlV1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdmFXOHZaM0poY0doeGJDOUhjbUZ3YUhGc1UyVnlkbWxqWlM1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRmhRU3hQUVVGUExFVkJRVVVzWVVGQllTeEZRVUZGTEUxQlFVMHNlVUpCUVhsQ0xFTkJRVU03UVVGRmVFUXNUMEZCVHl4RlFVRkZMR0ZCUVdFc1JVRkJSU3cwUWtGQmRVSTdRVUZETDBNc1QwRkJUeXhGUVVGRkxGTkJRVk1zUlVGQlJTeFRRVUZUTEVWQlFVVXNNa05CUVhORE8wRkJRM0pGTEU5QlFVOHNSVUZEVEN4alFVRmpMRVZCUldRc1UwRkJVeXhIUVVOV0xIRkRRVUV3UWp0QlFXMUZNMEk3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p0SFFUaENSenRCUVVOSUxFMUJRVTBzVDBGQlR5eGpRVUZsTEZOQlFWRXNZMEZCYjBNN1NVRkJlRVU3TzFGQlEwVTdPMWRCUlVjN1VVRkRaMElzWjBKQlFWY3NSMEZCUnl4VFFVRlRMRU5CUVVNN1NVRjVSemRETEVOQlFVTTdTVUYyUjBNN096czdPenRQUVUxSE8wbEJRMDhzWTBGQll6dFJRVU4wUWl4UFFVRlBMRVZCUVVVc1EwRkJRenRKUVVOYUxFTkJRVU03U1VGRlJEczdPenM3T3pzN08wOUJVMGM3U1VGRFNDeExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVTmtMRWRCUVVjc1NVRkJOa0k3VVVGRmFFTXNUVUZCVFN4UlFVRlJMRWRCUVVjc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRnJReXhEUVVGRE8xRkJRMnhGTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1QwRkJUeXhKUVVGSkxGRkJRVkVzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXp0WlFVTXpReXhKUVVGSkxFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NSVUZCUlN4SFFVRkhMRkZCUVZFc1JVRkJSU3hQUVVGUExFVkJRVVVzVVVGQlVTeERRVUZETEZGQlFWRXNSVUZCUlN4RFFVRkRPMUZCUTNoRUxFTkJRVU03VVVGRFJDeFBRVUZQTEV0QlFVc3NRMEZCUXl4VlFVRlZMRU5CUVVNc1IwRkJSeXhKUVVGSkxFTkJRVU1zUTBGQlF6dEpRVU51UXl4RFFVRkRPMGxCUlVRN096czdPenRQUVUxSE8wbEJRMDhzVjBGQlZ5eERRVUZETEUxQlFUUkNPMUZCUTJoRUxFOUJRVThzVFVGQlRTeERRVUZETEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hoUVVGaExFVkJRVVVzVlVGQlZTeE5RVUZOTEVOQlFVTXNTMEZCU3l4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETzBsQlEzcEZMRU5CUVVNN1NVRkZSRHM3T3pzN096dFBRVTlITzBsQlEwOHNjVUpCUVhGQ08xRkJRemRDTEUxQlFVMHNSMEZCUnl4SFFVRkhMR0ZCUVdFc1EwRkJReXhGUVVGRkxFTkJRVU1zVDBGQlR5eERRVUZETzFGQlEzSkRMRTFCUVUwc1VVRkJVU3hIUVVGSExGTkJRVk1zUTBGQlF5eEhRVUZITEVWQlFVVXNVVUZCVVN4RFFVRkRMRU5CUVVNN1VVRkRNVU1zU1VGQlNTeERRVUZETEZGQlFWRTdXVUZCUlN4UFFVRlBMRk5CUVZNc1EwRkJRenRSUVVOb1F5eFBRVUZQTzFsQlEwd3NVVUZCVVR0WlFVTlNMRTlCUVU4c1JVRkJSU3hSUVVGUk8xbEJRMnBDTEV0QlFVc3NSVUZCUlN4VFFVRlRMRU5CUVVNc1IwRkJSeXhEUVVGRExFdEJRVXNzUTBGQlF6dFpRVU16UWl4UFFVRlBMRVZCUVVVc1UwRkJVeXhEUVVGRExFZEJRVWNzUTBGQlF5eFBRVUZQTEVOQlFVTTdVMEZEYUVNc1EwRkJRenRKUVVOS0xFTkJRVU03U1VGRlJEczdPenM3T3pzN096czdPenM3TzA5QlpVYzdTVUZEU0N4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVOWUxFdEJRWEZDTzFGQlJYSkNMRWxCUVVrc1EwRkJReXhMUVVGTExFTkJRVU1zUzBGQlN5eEpRVUZKTEV0QlFVc3NRMEZCUXl4TFFVRkxMRU5CUVVNc1NVRkJTU3hGUVVGRkxFTkJRVU1zVFVGQlRTeExRVUZMTEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUTNCRUxFMUJRVTBzU1VGQlNTeGhRVUZoTEVOQlFVTXNhME5CUVd0RExFTkJRVU1zUTBGQlF6dFJRVU01UkN4RFFVRkRPMUZCUTBRc1RVRkJUU3hSUVVGUkxFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4UlFVRlJMRWxCUVVrc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTTdVVUZETjBRc1NVRkJTU3hEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETzFsQlEyUXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkJReXc0UWtGQk9FSXNRMEZCUXl4RFFVRkRPMUZCUXpGRUxFTkJRVU03VVVGRFJDeEpRVUZKTEVOQlFVTTdXVUZEU0N4TlFVRk5MRkZCUVZFc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVTnlReXhSUVVGUkxFVkJRMUk3WjBKQlEwVXNTMEZCU3l4RlFVRkZMRXRCUVVzc1EwRkJReXhMUVVGTE8yZENRVU5zUWl4VFFVRlRMRVZCUVVVc1MwRkJTeXhEUVVGRExGTkJRVk03WjBKQlF6RkNMR0ZCUVdFc1JVRkJSU3hMUVVGTExFTkJRVU1zWVVGQllUdGhRVU51UXl4RlFVTkVMRVZCUVVVc1QwRkJUeXhGUVVGRkxFdEJRVXNzUTBGQlF5eFBRVUZQTEVWQlFVVXNRMEZETTBJc1EwRkJRenRaUVVOR0xFOUJRVThzVVVGQlVTeERRVUZETEVsQlFVa3NRMEZCUXp0UlFVTjJRaXhEUVVGRE8xRkJRVU1zVDBGQlR5eExRVUZMTEVWQlFVVXNRMEZCUXp0WlFVTm1MRTFCUVUwc1UwRkJVeXhEUVVGRExGTkJRVk1zUlVGQlJTeFRRVUZUTEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkRMME1zUTBGQlF6dEpRVU5JTEVOQlFVTTdRMEZEUmlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLbHh1SUNvZ1FHMXZaSFZzWlNCcGJuUmxaM0poZEdsdmJuTXZhVzh2WjNKaGNHaHhiQzl6WlhKMmFXTmxYRzRnS2lCQWMzVnRiV0Z5ZVNCSFpXNWxjbWxqSUVkeVlYQm9VVXdnWlc1a2NHOXBiblFnYVc1MFpXZHlZWFJwYjI0Z2MyVnlkbWxqWlNCbWIzSWdaWGhsWTNWMGFXNW5JSEYxWlhKcFpYTWdZVzVrSUcxMWRHRjBhVzl1Y3k1Y2JpQXFJRUJrWlhOamNtbHdkR2x2YmlCUWIzTjBjeUJIY21Gd2FGRk1JR1J2WTNWdFpXNTBjeUIwYnlCaGJua2daVzVrY0c5cGJuUWdZWE1nWVc0Z2RXNWtaV052Y21GMFpXUmNiaUFxSUdOc2FXVnVkQzFpWVhObFpDQnpaWEoyYVdObElHSjFhV3gwSUc5dUlIdEFiR2x1YXlCSWRIUndRWEJwVTJWeWRtbGpaWDB1WEc0Z0tpQlVhR1VnWlc1a2NHOXBiblFnYVhNZ2MzVndjR3hwWldRZ1lYTWdZR1Z1WkhCdmFXNTBZQ0FvWVc0Z1lXeHBZWE1nYm05eWJXRnNhWHBsWkNCMGJ5QmdZbUZ6WlZWeWJHQmNiaUFxSUdSMWNtbHVaeUJwYm1sMGFXRnNhWHBoZEdsdmJpa2diM0lnZEdobElHQnBieTVuY21Gd2FIRnNZQ0JsYm5acGNtOXViV1Z1ZENCemJHbGpaVHNnWVc0Z2IzQjBhVzl1WVd4Y2JpQXFJR0psWVhKbGNpQjBiMnRsYmlCcGN5QmhkSFJoWTJobFpDQjBieUJsZG1WeWVTQnlaWEYxWlhOMExDQndaWEl0Y21WeGRXVnpkQ0JvWldGa1pYSnpJR05oYmlCbGVIUmxibVJjYmlBcUlHbDBMQ0JoYm1RZ1ptRnBiSFZ5WlhNZ1lYSmxJRzFoY0hCbFpDQjBieUJrWldOaFppQmxjbkp2Y25NZ2RtbGhJSHRBYkdsdWF5Qm9kSFJ3UlhKeWIzSjlMaUJIY21Gd2FGRk1YRzRnS2lCbWFXVnNaQzFzWlhabGJDQmdaWEp5YjNKellDQmhjbVVnY21WMGRYSnVaV1FnYVc0Z2RHaGxJSEpsYzNCdmJuTmxJSEpoZEdobGNpQjBhR0Z1SUhSb2NtOTNiaURpZ0pSY2JpQXFJR05oYkd4bGNuTWdaR1ZqYVdSbElHaHZkeUIwYnlCb1lXNWtiR1VnY0dGeWRHbGhiQ0J5WlhOMWJIUnpMbHh1SUNvdlhHNXBiWEJ2Y25RZ2V5QjBlWEJsSUUxaGVXSmxRMjl1ZEdWNGRIVmhiRUZ5WnlCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlkyOXlaVndpTzF4dWFXMXdiM0owSUhzZ1NXNTBaWEp1WVd4RmNuSnZjaUI5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WkdJdFpHVmpiM0poZEc5eWMxd2lPMXh1YVcxd2IzSjBJSFI1Y0dVZ2V5QkJlR2x2YzBsdWMzUmhibU5sSUgwZ1puSnZiU0JjSW1GNGFXOXpYQ0k3WEc1cGJYQnZjblFnZXlCSmIwVnVkbWx5YjI1dFpXNTBJSDBnWm5KdmJTQmNJaTR1TDJWdWRtbHliMjV0Wlc1MFhDSTdYRzVwYlhCdmNuUWdleUJsYm5aT2RXMWlaWElzSUdWdWRsTjBjbWx1WnlCOUlHWnliMjBnWENJdUxpOHVMaTl6YUdGeVpXUXZaVzUyYVhKdmJtMWxiblJXWVd4MVpWd2lPMXh1YVcxd2IzSjBJSHRjYmlBZ1NIUjBjRUZ3YVZObGNuWnBZMlVzWEc0Z0lIUjVjR1VnU0hSMGNFRndhVk5sY25acFkyVkRiMjVtYVdjc1hHNGdJR2gwZEhCRmNuSnZjaXhjYm4wZ1puSnZiU0JjSWk0dUx5NHVMM05vWVhKbFpDOW9kSFJ3WENJN1hHNWNiaThxS2x4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVOdmJtWnBaM1Z5WVhScGIyNGdabTl5SUhSb1pTQkhjbUZ3YUZGTUlITmxjblpwWTJWY2JpQXFJRUJ6ZFcxdFlYSjVJRVY0ZEdWdVpITWdlMEJzYVc1cklFaDBkSEJCY0dsVFpYSjJhV05sUTI5dVptbG5mU0IzYVhSb0lIUm9aU0JIY21Gd2FGRk1JR0JsYm1Sd2IybHVkR0JjYmlBcUlGVlNUQ0FvYm05eWJXRnNhWHBsWkNCMGJ5QmdZbUZ6WlZWeWJHQWdaSFZ5YVc1bklHbHVhWFJwWVd4cGVtRjBhVzl1S1NCaGJtUWdkR2hsSUc5d2RHbHZibUZzSUdKbFlYSmxjbHh1SUNvZ2RHOXJaVzR1SUZkb1pXNGdiMjFwZEhSbFpDd2dkR2hsSUdCcGJ5NW5jbUZ3YUhGc1lDQmxiblpwY205dWJXVnVkQ0J6YkdsalpTQnpkWEJ3YkdsbGN5QjBhR1ZjYmlBcUlHVnVaSEJ2YVc1MElDaGhibVFnYjNCMGFXOXVZV3dnWUhSdmEyVnVZQ3dnWUhScGJXVnZkWFJnS1M1Y2JpQXFJRUJqWVhSbFoyOXllU0JKVDF4dUlDb2dRRzFsYldKbGNrOW1JRzF2WkhWc1pUcHBiblJsWjNKaGRHbHZibk12YVc4dlozSmhjR2h4YkM5elpYSjJhV05sWEc0Z0tpOWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdSM0poY0doeGJGTmxjblpwWTJWRGIyNW1hV2NnWlhoMFpXNWtjeUJJZEhSd1FYQnBVMlZ5ZG1salpVTnZibVpwWnlCN1hHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1IzSmhjR2hSVENCbGJtUndiMmx1ZENCVlVreGNiaUFnSUNvZ1FITjFiVzFoY25rZ1FXeHBZWE5sWkNCMGJ5QmdZbUZ6WlZWeWJHQWdZbmtnZTBCc2FXNXJJRWR5WVhCb2NXeFRaWEoyYVdObExtbHVhWFJwWVd4cGVtVjlPeUJsZG1WeWVWeHVJQ0FnS2lCeVpYRjFaWE4wSUdseklIQnZjM1JsWkNCMGJ5QjBhR2x6SUZWU1RDNWNiaUFnSUNvdlhHNGdJR1Z1WkhCdmFXNTBQem9nYzNSeWFXNW5PMXh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRUpsWVhKbGNpQjBiMnRsYmlCbWIzSWdkR2hsSUdWdVpIQnZhVzUwWEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRk5sYm5RZ1lYTWdZRUYxZEdodmNtbDZZWFJwYjI0NklFSmxZWEpsY2lBOGRHOXJaVzQrWUNCM2FYUm9JR1YyWlhKNUlISmxjWFZsYzNRdVhHNGdJQ0FxTDF4dUlDQjBiMnRsYmo4NklITjBjbWx1Wnp0Y2JuMWNibHh1THlvcVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1NXNXdkWFFnWm05eUlHRWdSM0poY0doUlRDQnlaWEYxWlhOMFhHNGdLaUJBYzNWdGJXRnllU0JEWVhKeWFXVnpJSFJvWlNCZ2NYVmxjbmxnSUdSdlkzVnRaVzUwTENCMGFHVWdZSFpoY21saFlteGxjMkFnYldGd0lISmxabVZ5Wlc1alpXUWdZbmxjYmlBcUlHbDBMQ0IwYUdVZ2IzQjBhVzl1WVd3Z1lHOXdaWEpoZEdsdmJrNWhiV1ZnSUhkb1pXNGdkR2hsSUdSdlkzVnRaVzUwSUdodmJHUnpJRzExYkhScGNHeGxJRzVoYldWa1hHNGdLaUJ2Y0dWeVlYUnBiMjV6TENCaGJtUWdjR1Z5TFhKbGNYVmxjM1FnWUdobFlXUmxjbk5nSUcxbGNtZGxaQ0JwYm5SdklIUm9aU0JqYkdsbGJuUW5jeUJrWldaaGRXeDBjeTVjYmlBcUlFQmpZWFJsWjI5eWVTQkpUMXh1SUNvZ1FHMWxiV0psY2s5bUlHMXZaSFZzWlRwcGJuUmxaM0poZEdsdmJuTXZhVzh2WjNKaGNHaHhiQzl6WlhKMmFXTmxYRzRnS2k5Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1IzSmhjR2h4YkZKbGNYVmxjM1FnZTF4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUZSb1pTQkhjbUZ3YUZGTUlIRjFaWEo1SUc5eUlHMTFkR0YwYVc5dUlHUnZZM1Z0Wlc1MElDaHlaWEYxYVhKbFpDbGNiaUFnSUNvdlhHNGdJSEYxWlhKNU9pQnpkSEpwYm1jN1hHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1ZtRnlhV0ZpYkdVZ2RtRnNkV1Z6SUdadmNpQjBhR1VnWkc5amRXMWxiblFuY3lCa1pXTnNZWEpsWkNCMllYSnBZV0pzWlhOY2JpQWdJQ292WEc0Z0lIWmhjbWxoWW14bGN6ODZJRkpsWTI5eVpEeHpkSEpwYm1jc0lIVnVhMjV2ZDI0K08xeHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlGUm9aU0J2Y0dWeVlYUnBiMjRnZEc4Z1pYaGxZM1YwWlNCM2FHVnVJSFJvWlNCa2IyTjFiV1Z1ZENCa1pXWnBibVZ6SUhObGRtVnlZV3hjYmlBZ0lDb3ZYRzRnSUc5d1pYSmhkR2x2Yms1aGJXVS9PaUJ6ZEhKcGJtYzdYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdSWGgwY21FZ2FHVmhaR1Z5Y3lCdFpYSm5aV1FnYjNabGNpQjBhR1VnWTJ4cFpXNTBKM01nWkdWbVlYVnNkSE1nWm05eUlIUm9hWE1nY21WeGRXVnpkRnh1SUNBZ0tpOWNiaUFnYUdWaFpHVnljejg2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJSE4wY21sdVp6NDdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRWR5WVhCb1VVd2djbVZ6Y0c5dWMyVWdaVzUyWld4dmNHVmNiaUFxSUVCemRXMXRZWEo1SUZSb1pTQnpkR0Z1WkdGeVpDQkhjbUZ3YUZGTUlHVjRaV04xZEdsdmJpQnlaWE4xYkhRNklHQmtZWFJoWUNCM2FHVnVJSFJvWlNCdmNHVnlZWFJwYjI1Y2JpQXFJSEJ5YjJSMVkyVmtJSEpsYzNWc2RITXNJR1pwWld4a0xXeGxkbVZzSUdCbGNuSnZjbk5nSUNodFpYTnpZV2RsSUhCc2RYTWdjbVZ6Y0c5dWMyVWdjR0YwYUNrZ2QyaGxibHh1SUNvZ1pYaGxZM1YwYVc5dUlIQmhjblJwWVd4c2VTQm1ZV2xzWldRc0lHRnVaQ0J3Y205MmFXUmxjaUJnWlhoMFpXNXphVzl1YzJBdVhHNGdLaUJBZEdWdGNHeGhkR1VnVkNBdElGUm9aU0JsZUhCbFkzUmxaQ0IwZVhCbElHOW1JSFJvWlNCZ1pHRjBZV0FnY0dGNWJHOWhaQzVjYmlBcUlFQmpZWFJsWjI5eWVTQkpUMXh1SUNvZ1FHMWxiV0psY2s5bUlHMXZaSFZzWlRwcGJuUmxaM0poZEdsdmJuTXZhVzh2WjNKaGNHaHhiQzl6WlhKMmFXTmxYRzRnS2k5Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1IzSmhjR2h4YkZKbGMzQnZibk5sUEZRZ1BTQjFibXR1YjNkdVBpQjdYRzRnSUdSaGRHRS9PaUJVTzF4dUlDQmxjbkp2Y25NL09pQkJjbkpoZVR4N0lHMWxjM05oWjJVNklITjBjbWx1WnpzZ2NHRjBhRDg2SUVGeWNtRjVQSE4wY21sdVp5QjhJRzUxYldKbGNqNGdmVDQ3WEc0Z0lHVjRkR1Z1YzJsdmJuTS9PaUJTWldOdmNtUThjM1J5YVc1bkxDQjFibXR1YjNkdVBqdGNibjFjYmx4dUx5b3FYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdSMlZ1WlhKcFl5QkhjbUZ3YUZGTUlHVnVaSEJ2YVc1MElHbHVkR1ZuY21GMGFXOXVJSE5sY25acFkyVmNiaUFxSUVCemRXMXRZWEo1SUVGdUlIVnVaR1ZqYjNKaGRHVmtJRWhVVkZBZ2MyVnlkbWxqWlNCMGFHRjBJR0JRVDFOVVlITWdSM0poY0doUlRGeHVJQ29nWkc5amRXMWxiblJ6SUhSdklHRnVlU0JsYm1Sd2IybHVkQzRnVlc1c2FXdGxJSFJvWlNCdmRHaGxjaUJwYm5SbFozSmhkR2x2YmlCelpYSjJhV05sY3lCMGFHVnlaU0JwYzF4dUlDb2dibThnWkdWbVlYVnNkQ0JpWVhObElGVlNUQ0RpZ0pRZ2RHaGxJR1Z1WkhCdmFXNTBJRzExYzNRZ1kyOXRaU0JtY205dElIUm9aU0JqYjI1bWFXY2dLR0JsYm1Sd2IybHVkR0FnYjNKY2JpQXFJR0JpWVhObFZYSnNZQ2tnYjNJZ2RHaGxJR0JwYnk1bmNtRndhSEZzWUNCbGJuWnBjbTl1YldWdWRDQnpiR2xqWlM0Z1NXNXBkR2xoYkdsNllYUnBiMjRnYm05eWJXRnNhWHBsYzF4dUlDb2dkR2hsSUdCbGJtUndiMmx1ZEdBZ1lXeHBZWE1nZEc4Z1lHSmhjMlZWY214Z0lHSmxabTl5WlNCa1pXeGxaMkYwYVc1bklIUnZJSFJvWlNCemFHRnlaV1JjYmlBcUlIdEFiR2x1YXlCSWRIUndRWEJwVTJWeWRtbGpaUzVwYm1sMGFXRnNhWHBsZlRzZ2RHaGxJRzl3ZEdsdmJtRnNJSFJ2YTJWdUlHbHpJSE5sYm5RZ1lYTWdZU0JpWldGeVpYSmNiaUFxSUdobFlXUmxjaUJoYm1RZ2NHVnlMWEpsY1hWbGMzUWdhR1ZoWkdWeWN5QmxlSFJsYm1RZ2FYUXVJRlJ5WVc1emNHOXlkQ0JtWVdsc2RYSmxjeUJoY21VZ2JXRndjR1ZrSUhSdlhHNGdLaUJrWldOaFppQmxjbkp2Y25NZ2RtbGhJSHRBYkdsdWF5Qm9kSFJ3UlhKeWIzSjlMQ0IzYUdsc1pTQkhjbUZ3YUZGTUlHWnBaV3hrTFd4bGRtVnNJR0JsY25KdmNuTmdJR0Z5WlZ4dUlDb2djbVYwZFhKdVpXUWdhVzRnZEdobElISmxjM0J2Ym5ObElHWnZjaUIwYUdVZ1kyRnNiR1Z5SUhSdklHbHVkR1Z5Y0hKbGRDNWNiaUFxSUVCamJHRnpjeUJIY21Gd2FIRnNVMlZ5ZG1salpWeHVJQ29nUUdOaGRHVm5iM0o1SUVsUFhHNGdLaUJBWlhoaGJYQnNaVnh1SUNvZ1lHQmdkSE5jYmlBcUlHbHRjRzl5ZENCN0lFZHlZWEJvY1d4VFpYSjJhV05sSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5cGJuUmxaM0poZEdsdmJuTXZhVzh2WjNKaGNHaHhiRndpTzF4dUlDcGNiaUFxSUdOdmJuTjBJR2R5WVhCb2NXd2dQU0J1WlhjZ1IzSmhjR2h4YkZObGNuWnBZMlVvS1R0Y2JpQXFJR0YzWVdsMElHZHlZWEJvY1d3dWFXNXBkR2xoYkdsNlpTaDdYRzRnS2lBZ0lHVnVaSEJ2YVc1ME9pQmNJbWgwZEhCek9pOHZZWEJwTG1WNFlXMXdiR1V1WTI5dEwyZHlZWEJvY1d4Y0lpeGNiaUFxSUNBZ2RHOXJaVzQ2SUhCeWIyTmxjM011Wlc1MkxrZFNRVkJJWDBOU1JVUkZUbFJKUVV4ZlIxSkJVRWhSVEY5VVQwdEZUaXhjYmlBcUlIMHBPMXh1SUNvZ1kyOXVjM1FnY21WemNHOXVjMlVnUFNCaGQyRnBkQ0JuY21Gd2FIRnNMbkpsY1hWbGMzUThleUIxYzJWeU9pQjdJRzVoYldVNklITjBjbWx1WnlCOUlIMCtLSHRjYmlBcUlDQWdjWFZsY25rNklHQnhkV1Z5ZVNCSFpYUlZjMlZ5S0NScFpEb2dTVVFoS1NCN1hHNGdLaUFnSUNBZ2RYTmxjaWhwWkRvZ0pHbGtLU0I3SUc1aGJXVWdmVnh1SUNvZ0lDQjlZQ3hjYmlBcUlDQWdkbUZ5YVdGaWJHVnpPaUI3SUdsa09pQmNJakV5TTF3aUlIMHNYRzRnS2lCOUtUdGNiaUFxSUdCZ1lGeHVJQ29nUUcxbGJXSmxjazltSUcxdlpIVnNaVHBwYm5SbFozSmhkR2x2Ym5NdmFXOHZaM0poY0doeGJDOXpaWEoyYVdObFhHNGdLaTljYm1WNGNHOXlkQ0JqYkdGemN5QkhjbUZ3YUhGc1UyVnlkbWxqWlNCbGVIUmxibVJ6SUVoMGRIQkJjR2xUWlhKMmFXTmxQRWR5WVhCb2NXeFRaWEoyYVdObFEyOXVabWxuUGlCN1hHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1ZHaGxJSEJ5YjNacFpHVnlJRzVoYldVZ2RYTmxaQ0JwYmlCbGNuSnZjaUJ0WlhOellXZGxjMXh1SUNBZ0tpOWNiaUFnY0hKdmRHVmpkR1ZrSUhKbFlXUnZibXg1SUhObGNuWnBZMlZPWVcxbElEMGdYQ0pIY21Gd2FGRk1YQ0k3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCVWFHVWdZV0p6Wlc1alpTQnZaaUJoSUdSbFptRjFiSFFnUjNKaGNHaFJUQ0JsYm1Sd2IybHVkRnh1SUNBZ0tpQkFjM1Z0YldGeWVTQlNaWFIxY201eklHRnVJR1Z0Y0hSNUlITjBjbWx1WnlCaVpXTmhkWE5sSUVkeVlYQm9VVXdnWlc1a2NHOXBiblJ6SUdGeVpWeHVJQ0FnS2lCd2NtOTJhV1JsY2kxemNHVmphV1pwWXpzZ2UwQnNhVzVySUVkeVlYQm9jV3hUWlhKMmFXTmxMbkpsY1hWbGMzUjlJSEpsYW1WamRITWdaWGhsWTNWMGFXOXVJSGRvWlc1Y2JpQWdJQ29nYm04Z1pXNWtjRzlwYm5RZ2QyRnpJR052Ym1acFozVnlaV1F1WEc0Z0lDQXFJRUJ5WlhSMWNtNXpJSHR6ZEhKcGJtZDlJRUZ1SUdWdGNIUjVJSE4wY21sdVp5NWNiaUFnSUNvdlhHNGdJSEJ5YjNSbFkzUmxaQ0JrWldaaGRXeDBRbUZ6WlZWeWJDZ3BPaUJ6ZEhKcGJtY2dlMXh1SUNBZ0lISmxkSFZ5YmlCY0lsd2lPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQk9iM0p0WVd4cGVtVnpJSFJvWlNCZ1pXNWtjRzlwYm5SZ0lHRnNhV0Z6SUdKbFptOXlaU0J6YUdGeVpXUWdhVzVwZEdsaGJHbDZZWFJwYjI1Y2JpQWdJQ29nUUhOMWJXMWhjbmtnVjJobGJpQjBhR1VnY0hKdmRtbGtaV1FnWTI5dVptbG5JR05oY25KcFpYTWdibThnWUdKaGMyVlZjbXhnSUdKMWRDQmhiaUJnWlc1a2NHOXBiblJnTEZ4dUlDQWdLaUJqYjNCcFpYTWdZR1Z1WkhCdmFXNTBZQ0JwYm5SdklHQmlZWE5sVlhKc1lDQmhibVFnWkdWc1pXZGhkR1Z6SUhSdlhHNGdJQ0FxSUh0QWJHbHVheUJJZEhSd1FYQnBVMlZ5ZG1salpTNXBibWwwYVdGc2FYcGxmU3dnZDJocFkyZ2diV1Z5WjJWeklIUm9aU0JsYm5acGNtOXViV1Z1ZENCemJHbGpaU0JoYm1SY2JpQWdJQ29nWW5WcGJHUnpJSFJvWlNCQmVHbHZjeUJqYkdsbGJuUXVYRzRnSUNBcUlFQndZWEpoYlNCN0xpNHVUV0Y1WW1WRGIyNTBaWGgwZFdGc1FYSm5QR0Z1ZVQ1OUlHRnlaM01nTFNCQmJpQnZjSFJwYjI1aGJDQmdVR0Z5ZEdsaGJEeEhjbUZ3YUhGc1UyVnlkbWxqWlVOdmJtWnBaejVnTENCdmNIUnBiMjVoYkd4NUlHWnZiR3h2ZDJWa0lHSjVJR0VnWkdWallXWWdZRU52Ym5SbGVIUmdMbHh1SUNBZ0tpQkFjbVYwZFhKdWN5QjdVSEp2YldselpUeDdZMjl1Wm1sbk9pQkhjbUZ3YUhGc1UyVnlkbWxqWlVOdmJtWnBaeXdnWTJ4cFpXNTBPaUJCZUdsdmMwbHVjM1JoYm1ObGZUNTlJRlJvWlNCdFpYSm5aV1FnWTI5dVptbG5kWEpoZEdsdmJpQmhibVFnZEdobElHTnZibVpwWjNWeVpXUWdRWGhwYjNNZ2FXNXpkR0Z1WTJVdVhHNGdJQ0FxSUVCMGFISnZkM01nZTBsdWRHVnlibUZzUlhKeWIzSjlJRmRvWlc0Z2JtOGdZbUZ6WlNCVlVrd2dZMkZ1SUdKbElISmxjMjlzZG1Wa0lHWnliMjBnZEdobElHTnZibVpwWnlCdmNpQmxiblpwY205dWJXVnVkQzVjYmlBZ0lDb3ZYRzRnSUdGemVXNWpJR2x1YVhScFlXeHBlbVVvWEc0Z0lDQWdMaTR1WVhKbmN6b2dUV0Y1WW1WRGIyNTBaWGgwZFdGc1FYSm5QR0Z1ZVQ1Y2JpQWdLVG9nVUhKdmJXbHpaVHg3SUdOdmJtWnBaem9nUjNKaGNHaHhiRk5sY25acFkyVkRiMjVtYVdjN0lHTnNhV1Z1ZERvZ1FYaHBiM05KYm5OMFlXNWpaU0I5UGlCN1hHNGdJQ0FnWTI5dWMzUWdjSEp2ZG1sa1pXUWdQU0FvWVhKbmMxc3dYU0EvUHlCN2ZTa2dZWE1nVUdGeWRHbGhiRHhIY21Gd2FIRnNVMlZ5ZG1salpVTnZibVpwWno0N1hHNGdJQ0FnYVdZZ0tDRndjbTkyYVdSbFpDNWlZWE5sVlhKc0lDWW1JSEJ5YjNacFpHVmtMbVZ1WkhCdmFXNTBLU0I3WEc0Z0lDQWdJQ0JoY21keld6QmRJRDBnZXlBdUxpNXdjbTkyYVdSbFpDd2dZbUZ6WlZWeWJEb2djSEp2ZG1sa1pXUXVaVzVrY0c5cGJuUWdmVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUhOMWNHVnlMbWx1YVhScFlXeHBlbVVvTGk0dVlYSm5jeWs3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRUoxYVd4a2N5QjBhR1VnUjNKaGNHaFJUQ0JpWldGeVpYSWdZWFYwYUc5eWFYcGhkR2x2YmlCb1pXRmtaWEp6WEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRkpsZEhWeWJuTWdkR2hsSUdCQmRYUm9iM0pwZW1GMGFXOXVPaUJDWldGeVpYSWdQSFJ2YTJWdVBtQWdhR1ZoWkdWeUlIZG9aVzRnZEdobFhHNGdJQ0FxSUdOdmJtWnBaeUJqWVhKeWFXVnpJR0VnZEc5clpXNHNJR0Z1WkNCdWJ5Qm9aV0ZrWlhKeklHOTBhR1Z5ZDJselpTNWNiaUFnSUNvZ1FIQmhjbUZ0SUh0SGNtRndhSEZzVTJWeWRtbGpaVU52Ym1acFozMGdZMjl1Wm1sbklDMGdWR2hsSUhKbGMyOXNkbVZrSUhObGNuWnBZMlVnWTI5dVptbG5kWEpoZEdsdmJpNWNiaUFnSUNvZ1FISmxkSFZ5Ym5NZ2UxSmxZMjl5WkR4emRISnBibWNzSUhOMGNtbHVaejU5SUZSb1pTQmhkWFJvYjNKcGVtRjBhVzl1SUdobFlXUmxjbk1nS0dWdGNIUjVJSGRwZEdodmRYUWdZU0IwYjJ0bGJpa3VYRzRnSUNBcUwxeHVJQ0J3Y205MFpXTjBaV1FnWVhWMGFFaGxZV1JsY25Nb1kyOXVabWxuT2lCSGNtRndhSEZzVTJWeWRtbGpaVU52Ym1acFp5azZJRkpsWTI5eVpEeHpkSEpwYm1jc0lITjBjbWx1Wno0Z2UxeHVJQ0FnSUhKbGRIVnliaUJqYjI1bWFXY3VkRzlyWlc0Z1B5QjdJRUYxZEdodmNtbDZZWFJwYjI0NklHQkNaV0Z5WlhJZ0pIdGpiMjVtYVdjdWRHOXJaVzU5WUNCOUlEb2dlMzA3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRkpsWVdSeklIUm9aU0JIY21Gd2FGRk1JR1Z1WkhCdmFXNTBJR0Z1WkNCMGIydGxiaUJtY205dElIUm9aU0JsYm5acGNtOXViV1Z1ZEZ4dUlDQWdLaUJBYzNWdGJXRnllU0JTWldGa2N5QjBhR1VnWUdsdkxtZHlZWEJvY1d4Z0lHVnVkbWx5YjI1dFpXNTBJSE5zYVdObElHRnVaQ0J5WlhSMWNtNXpJR0VnY0dGeWRHbGhiRnh1SUNBZ0tpQmpiMjVtYVdjZ0tIZHBkR2dnWUdWdVpIQnZhVzUwWUNCaGJITnZJRzFwY25KdmNtVmtJSFJ2SUdCaVlYTmxWWEpzWUNrZ2QyaGxiaUJoYmlCbGJtUndiMmx1ZENCcGMxeHVJQ0FnS2lCamIyNW1hV2QxY21Wa0xDQmdkVzVrWldacGJtVmtZQ0J2ZEdobGNuZHBjMlV1SUZaaGJIVmxjeUJ3WVhOeklIUm9jbTkxWjJoY2JpQWdJQ29nWUdWdWRsTjBjbWx1WjJBdllHVnVkazUxYldKbGNtQWdkRzhnY21WcVpXTjBJSFZ1YzJWMExXeGxZV1lnY0hKdmVHbGxjeTVjYmlBZ0lDb2dRSEpsZEhWeWJuTWdlMUJoY25ScFlXdzhSM0poY0doeGJGTmxjblpwWTJWRGIyNW1hV2MrSUh3Z2RXNWtaV1pwYm1Wa2ZTQkJJSEJoY25ScFlXd2dZMjl1Wm1sbkxDQnZjaUJnZFc1a1pXWnBibVZrWUNCM2FHVnVJRzV2SUVkeVlYQm9VVXdnWlc1a2NHOXBiblFnYVhNZ1kyOXVabWxuZFhKbFpDNWNiaUFnSUNvdlhHNGdJSEJ5YjNSbFkzUmxaQ0JqYjI1bWFXZEdjbTl0Ulc1MmFYSnZibTFsYm5Rb0tUb2dVR0Z5ZEdsaGJEeEhjbUZ3YUhGc1UyVnlkbWxqWlVOdmJtWnBaejRnZkNCMWJtUmxabWx1WldRZ2UxeHVJQ0FnSUdOdmJuTjBJR1Z1ZGlBOUlFbHZSVzUyYVhKdmJtMWxiblF1YVc4dVozSmhjR2h4YkR0Y2JpQWdJQ0JqYjI1emRDQmxibVJ3YjJsdWRDQTlJR1Z1ZGxOMGNtbHVaeWhsYm5ZL0xtVnVaSEJ2YVc1MEtUdGNiaUFnSUNCcFppQW9JV1Z1WkhCdmFXNTBLU0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh1SUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNCbGJtUndiMmx1ZEN4Y2JpQWdJQ0FnSUdKaGMyVlZjbXc2SUdWdVpIQnZhVzUwTEZ4dUlDQWdJQ0FnZEc5clpXNDZJR1Z1ZGxOMGNtbHVaeWhsYm5ZdWRHOXJaVzRwTEZ4dUlDQWdJQ0FnZEdsdFpXOTFkRG9nWlc1MlRuVnRZbVZ5S0dWdWRpNTBhVzFsYjNWMEtTeGNiaUFnSUNCOU8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCRmVHVmpkWFJsY3lCaElFZHlZWEJvVVV3Z2NYVmxjbmtnYjNJZ2JYVjBZWFJwYjI0Z1lXZGhhVzV6ZENCMGFHVWdZMjl1Wm1sbmRYSmxaQ0JsYm1Sd2IybHVkRnh1SUNBZ0tpQkFjM1Z0YldGeWVTQmdVRTlUVkdCeklIUm9aU0J6ZEdGdVpHRnlaQ0JIY21Gd2FGRk1JSEpsY1hWbGMzUWdZbTlrZVNBb1lIRjFaWEo1WUN4Y2JpQWdJQ29nWUhaaGNtbGhZbXhsYzJBc0lHQnZjR1Z5WVhScGIyNU9ZVzFsWUNrZ2RHOGdkR2hsSUhKbGMyOXNkbVZrSUdWdVpIQnZhVzUwSUhkcGRHZ2dkR2hsSUc5d2RHbHZibUZzWEc0Z0lDQXFJSEJsY2kxeVpYRjFaWE4wSUdobFlXUmxjbk1nYldWeVoyVmtJRzkyWlhJZ2RHaGxJR05zYVdWdWRDQmtaV1poZFd4MGN5NGdVbVZ4ZFdseVpYTWdZVnh1SUNBZ0tpQnViMjR0Wlcxd2RIa2djWFZsY25rZ1lXNWtJR0VnWTI5dVptbG5kWEpsWkNCbGJtUndiMmx1ZEM0Z1VtVjBkWEp1Y3lCMGFHVWdjbUYzSUdWNFpXTjFkR2x2Ymx4dUlDQWdLaUJsYm5abGJHOXdaVG9nWm1sbGJHUXRiR1YyWld3Z1lHVnljbTl5YzJBZ1lYSmxJSEpsY0c5eWRHVmtJR2x1SUdCSGNtRndhSEZzVW1WemNHOXVjMlV1WlhKeWIzSnpZRnh1SUNBZ0tpQnlZWFJvWlhJZ2RHaGhiaUIwYUhKdmQyNHNJSE52SUdOaGJHeGxjbk1nYlhWemRDQnBibk53WldOMElIUm9aVzBnWm05eUlIQmhjblJwWVd3Z1ptRnBiSFZ5WlhNdVhHNGdJQ0FxSUVCMFpXMXdiR0YwWlNCVUlDMGdWR2hsSUdWNGNHVmpkR1ZrSUhSNWNHVWdiMllnZEdobElHQmtZWFJoWUNCd1lYbHNiMkZrTGx4dUlDQWdLaUJBY0dGeVlXMGdlMGR5WVhCb2NXeFNaWEYxWlhOMGZTQnBibkIxZENBdElGUm9aU0J4ZFdWeWVTQmtiMk4xYldWdWRDd2dkbUZ5YVdGaWJHVnpMQ0J2Y0dWeVlYUnBiMjRnYm1GdFpTd2dZVzVrSUhCbGNpMXlaWEYxWlhOMElHaGxZV1JsY25NdVhHNGdJQ0FxSUVCeVpYUjFjbTV6SUh0UWNtOXRhWE5sUEVkeVlYQm9jV3hTWlhOd2IyNXpaVHhVUGo1OUlGUm9aU0JsZUdWamRYUnBiMjRnWlc1MlpXeHZjR1VnZDJsMGFDQmdaR0YwWVdBc0lHQmxjbkp2Y25OZ0xDQmhibVFnWUdWNGRHVnVjMmx2Ym5OZ0xseHVJQ0FnS2lCQWRHaHliM2R6SUh0SmJuUmxjbTVoYkVWeWNtOXlmU0JYYUdWdUlIUm9aU0J4ZFdWeWVTQnBjeUJsYlhCMGVTQnZjaUJ1YnlCbGJtUndiMmx1ZENCcGN5QmpiMjVtYVdkMWNtVmtMbHh1SUNBZ0tpQkFkR2h5YjNkeklIdE9iM1JHYjNWdVpFVnljbTl5ZlNCWGFHVnVJSFJvWlNCbGJtUndiMmx1ZENCaGJuTjNaWEp6SUhkcGRHZ2dTRlJVVUNBME1EUXVYRzRnSUNBcUlFQjBhSEp2ZDNNZ2UwTnZibVpzYVdOMFJYSnliM0o5SUZkb1pXNGdkR2hsSUdWdVpIQnZhVzUwSUdGdWMzZGxjbk1nZDJsMGFDQklWRlJRSURRd09TNWNiaUFnSUNvZ1FIUm9jbTkzY3lCN1FtRmtVbVZ4ZFdWemRFVnljbTl5ZlNCWGFHVnVJSFJvWlNCbGJtUndiMmx1ZENCaGJuTjNaWEp6SUhkcGRHZ2dZVzU1SUc5MGFHVnlJRWhVVkZBZ1pYSnliM0lnYzNSaGRIVnpMbHh1SUNBZ0tpOWNiaUFnWVhONWJtTWdjbVZ4ZFdWemREeFVJRDBnZFc1cmJtOTNiajRvWEc0Z0lDQWdhVzV3ZFhRNklFZHlZWEJvY1d4U1pYRjFaWE4wWEc0Z0lDazZJRkJ5YjIxcGMyVThSM0poY0doeGJGSmxjM0J2Ym5ObFBGUStQaUI3WEc0Z0lDQWdhV1lnS0NGcGJuQjFkQzV4ZFdWeWVTQjhmQ0JwYm5CMWRDNXhkV1Z5ZVM1MGNtbHRLQ2t1YkdWdVozUm9JRDA5UFNBd0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loY0lrZHlZWEJvVVV3Z2NtVnhkV1Z6ZENCeVpYRjFhWEpsY3lCaElIRjFaWEo1WENJcE8xeHVJQ0FnSUgxY2JpQWdJQ0JqYjI1emRDQmxibVJ3YjJsdWRDQTlJSFJvYVhNdVkyOXVabWxuTG1WdVpIQnZhVzUwSUQ4L0lIUm9hWE11WTI5dVptbG5MbUpoYzJWVmNtdzdYRzRnSUNBZ2FXWWdLQ0ZsYm1Sd2IybHVkQ2tnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9YQ0pIY21Gd2FGRk1JSEpsY1hWcGNtVnpJR0Z1SUdWdVpIQnZhVzUwWENJcE8xeHVJQ0FnSUgxY2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnY21WemNHOXVjMlVnUFNCaGQyRnBkQ0IwYUdsekxtTnNhV1Z1ZEM1d2IzTjBQRWR5WVhCb2NXeFNaWE53YjI1elpUeFVQajRvWEc0Z0lDQWdJQ0FnSUdWdVpIQnZhVzUwTEZ4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdjWFZsY25rNklHbHVjSFYwTG5GMVpYSjVMRnh1SUNBZ0lDQWdJQ0FnSUhaaGNtbGhZbXhsY3pvZ2FXNXdkWFF1ZG1GeWFXRmliR1Z6TEZ4dUlDQWdJQ0FnSUNBZ0lHOXdaWEpoZEdsdmJrNWhiV1U2SUdsdWNIVjBMbTl3WlhKaGRHbHZiazVoYldVc1hHNGdJQ0FnSUNBZ0lIMHNYRzRnSUNBZ0lDQWdJSHNnYUdWaFpHVnljem9nYVc1d2RYUXVhR1ZoWkdWeWN5QjlYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxjM0J2Ym5ObExtUmhkR0U3WEc0Z0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUdoMGRIQkZjbkp2Y2loY0lrZHlZWEJvVVV4Y0lpd2dYQ0p5WlhGMVpYTjBYQ0lzSUdWeWNtOXlLVHRjYmlBZ0lDQjlYRzRnSUgxY2JuMWNiaUpkZlE9PSJdfQ==
|
|
@@ -20,5 +20,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
20
20
|
* @description Re-exports the GraphQL client-based service and its types.
|
|
21
21
|
*/
|
|
22
22
|
__exportStar(require("./GraphqlService.cjs"), exports);
|
|
23
|
-
//# sourceMappingURL=
|
|
24
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW8vZ3JhcGhxbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsb0NBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9pby9ncmFwaHFsXG4gKiBAc3VtbWFyeSBHZW5lcmljIEdyYXBoUUwgZW5kcG9pbnQgY2xpZW50IChxdWVyaWVzIGFuZCBtdXRhdGlvbnMpLlxuICogQGRlc2NyaXB0aW9uIFJlLWV4cG9ydHMgdGhlIEdyYXBoUUwgY2xpZW50LWJhc2VkIHNlcnZpY2UgYW5kIGl0cyB0eXBlcy5cbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vR3JhcGhxbFNlcnZpY2VcIjtcbiJdfQ==
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7R0FJRztBQUNILHNEQUFvQztBQUNwQyxza0JBQXNrQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvaW8vZ3JhcGhxbFxuICogQHN1bW1hcnkgR2VuZXJpYyBHcmFwaFFMIGVuZHBvaW50IGNsaWVudCAocXVlcmllcyBhbmQgbXV0YXRpb25zKS5cbiAqIEBkZXNjcmlwdGlvbiBSZS1leHBvcnRzIHRoZSBHcmFwaFFMIGNsaWVudC1iYXNlZCBzZXJ2aWNlIGFuZCBpdHMgdHlwZXMuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL0dyYXBocWxTZXJ2aWNlLmpzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lhVzVrWlhndWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOHVMaTh1TGk5emNtTXZhVzh2WjNKaGNHaHhiQzlwYm1SbGVDNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVRzN096dEhRVWxITzBGQlEwZ3NiME5CUVdsRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xWEc0Z0tpQkFiVzlrZFd4bElHbHVkR1ZuY21GMGFXOXVjeTlwYnk5bmNtRndhSEZzWEc0Z0tpQkFjM1Z0YldGeWVTQkhaVzVsY21saklFZHlZWEJvVVV3Z1pXNWtjRzlwYm5RZ1kyeHBaVzUwSUNoeGRXVnlhV1Z6SUdGdVpDQnRkWFJoZEdsdmJuTXBMbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRkpsTFdWNGNHOXlkSE1nZEdobElFZHlZWEJvVVV3Z1kyeHBaVzUwTFdKaGMyVmtJSE5sY25acFkyVWdZVzVrSUdsMGN5QjBlWEJsY3k1Y2JpQXFMMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2UjNKaGNHaHhiRk5sY25acFkyVmNJanRjYmlKZGZRPT0iXX0=
|
package/lib/cjs/io/index.cjs
CHANGED
|
@@ -31,5 +31,5 @@ __exportStar(require("./jira/index.cjs"), exports);
|
|
|
31
31
|
__exportStar(require("./google-docs/index.cjs"), exports);
|
|
32
32
|
__exportStar(require("./microsoft-sharepoint/index.cjs"), exports);
|
|
33
33
|
__exportStar(require("./environment.cjs"), exports);
|
|
34
|
-
//# sourceMappingURL=
|
|
35
|
-
//# sourceMappingURL=
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW8vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBQ0gsb0NBQTJCO0FBQzNCLHlDQUFnQztBQUNoQyxtQ0FBMEI7QUFDMUIsdUNBQThCO0FBQzlCLDJDQUFrQztBQUNsQyxzQ0FBNkI7QUFDN0IsZ0NBQXVCO0FBQ3ZCLHVDQUE4QjtBQUM5QixnREFBdUM7QUFDdkMsaUNBQThCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9pb1xuICogQHN1bW1hcnkgSU8gaW50ZWdyYXRpb24gc2VydmljZXMgKEdvb2dsZSBTaGVldHMsIEFpcnRhYmxlLCBHcmFwaFFMLCBTcHJlYWRzaGVldCkuXG4gKiBAZGVzY3JpcHRpb24gUmUtZXhwb3J0cyB0aGUgZGF0YS1zb3VyY2Ugc2VydmljZXMsIHRoZWlyIHBlci1zZXJ2aWNlIG1vZHVsZXMsXG4gKiBhbmQgdGhlIHNoYXJlZCBgaW9gIGVudmlyb25tZW50IHNsaWNlLiBFYWNoIHN1Yi1tb2R1bGUgaXMgYWxzbyBhdmFpbGFibGVcbiAqIHRocm91Z2ggaXRzIG93biBwYWNrYWdlIHN1YnBhdGggZXhwb3J0LlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9haXJ0YWJsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ29vZ2xlLXNoZWV0c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3JhcGhxbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3ByZWFkc2hlZXRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21pY3Jvc29mdC1leGNlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmx1ZW5jZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vamlyYVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ29vZ2xlLWRvY3NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21pY3Jvc29mdC1zaGFyZXBvaW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnZpcm9ubWVudFwiO1xuIl19
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7OztHQU1HO0FBQ0gsc0RBQW9DO0FBQ3BDLDJEQUF5QztBQUN6QyxxREFBbUM7QUFDbkMseURBQXVDO0FBQ3ZDLDZEQUEyQztBQUMzQyx3REFBc0M7QUFDdEMsa0RBQWdDO0FBQ2hDLHlEQUF1QztBQUN2QyxrRUFBZ0Q7QUFDaEQsbURBQWlDO0FBQ2pDLDB4Q0FBMHhDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9pb1xuICogQHN1bW1hcnkgSU8gaW50ZWdyYXRpb24gc2VydmljZXMgKEdvb2dsZSBTaGVldHMsIEFpcnRhYmxlLCBHcmFwaFFMLCBTcHJlYWRzaGVldCkuXG4gKiBAZGVzY3JpcHRpb24gUmUtZXhwb3J0cyB0aGUgZGF0YS1zb3VyY2Ugc2VydmljZXMsIHRoZWlyIHBlci1zZXJ2aWNlIG1vZHVsZXMsXG4gKiBhbmQgdGhlIHNoYXJlZCBgaW9gIGVudmlyb25tZW50IHNsaWNlLiBFYWNoIHN1Yi1tb2R1bGUgaXMgYWxzbyBhdmFpbGFibGVcbiAqIHRocm91Z2ggaXRzIG93biBwYWNrYWdlIHN1YnBhdGggZXhwb3J0LlxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9haXJ0YWJsZS9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ29vZ2xlLXNoZWV0cy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ3JhcGhxbC9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3ByZWFkc2hlZXQvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21pY3Jvc29mdC1leGNlbC9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uZmx1ZW5jZS9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vamlyYS9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ29vZ2xlLWRvY3MvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21pY3Jvc29mdC1zaGFyZXBvaW50L2luZGV4LmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbnZpcm9ubWVudC5qc1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYVc1a1pYZ3Vhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk5emNtTXZhVzh2YVc1a1pYZ3VkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN096czdPenRIUVUxSE8wRkJRMGdzYjBOQlFUSkNPMEZCUXpOQ0xIbERRVUZuUXp0QlFVTm9ReXh0UTBGQk1FSTdRVUZETVVJc2RVTkJRVGhDTzBGQlF6bENMREpEUVVGclF6dEJRVU5zUXl4elEwRkJOa0k3UVVGRE4wSXNaME5CUVhWQ08wRkJRM1pDTEhWRFFVRTRRanRCUVVNNVFpeG5SRUZCZFVNN1FVRkRka01zYVVOQlFUaENJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvcVhHNGdLaUJBYlc5a2RXeGxJR2x1ZEdWbmNtRjBhVzl1Y3k5cGIxeHVJQ29nUUhOMWJXMWhjbmtnU1U4Z2FXNTBaV2R5WVhScGIyNGdjMlZ5ZG1salpYTWdLRWR2YjJkc1pTQlRhR1ZsZEhNc0lFRnBjblJoWW14bExDQkhjbUZ3YUZGTUxDQlRjSEpsWVdSemFHVmxkQ2t1WEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnVW1VdFpYaHdiM0owY3lCMGFHVWdaR0YwWVMxemIzVnlZMlVnYzJWeWRtbGpaWE1zSUhSb1pXbHlJSEJsY2kxelpYSjJhV05sSUcxdlpIVnNaWE1zWEc0Z0tpQmhibVFnZEdobElITm9ZWEpsWkNCZ2FXOWdJR1Z1ZG1seWIyNXRaVzUwSUhOc2FXTmxMaUJGWVdOb0lITjFZaTF0YjJSMWJHVWdhWE1nWVd4emJ5QmhkbUZwYkdGaWJHVmNiaUFxSUhSb2NtOTFaMmdnYVhSeklHOTNiaUJ3WVdOcllXZGxJSE4xWW5CaGRHZ2daWGh3YjNKMExseHVJQ292WEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5aGFYSjBZV0pzWlZ3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZaMjl2WjJ4bExYTm9aV1YwYzF3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZaM0poY0doeGJGd2lPMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2YzNCeVpXRmtjMmhsWlhSY0lqdGNibVY0Y0c5eWRDQXFJR1p5YjIwZ1hDSXVMMjFwWTNKdmMyOW1kQzFsZUdObGJGd2lPMXh1Wlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2WTI5dVpteDFaVzVqWlZ3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZhbWx5WVZ3aU8xeHVaWGh3YjNKMElDb2dabkp2YlNCY0lpNHZaMjl2WjJ4bExXUnZZM05jSWp0Y2JtVjRjRzl5ZENBcUlHWnliMjBnWENJdUwyMXBZM0p2YzI5bWRDMXphR0Z5WlhCdmFXNTBYQ0k3WEc1bGVIQnZjblFnS2lCbWNtOXRJRndpTGk5bGJuWnBjbTl1YldWdWRGd2lPMXh1SWwxOSJdfQ==
|