UNPKG

@pulumi/azure-native

Version:

[![Slack](http://www.pulumi.com/images/docs/badges/slack.svg)](https://slack.pulumi.com) [![NPM version](https://badge.fury.io/js/%40pulumi%2Fazure-native.svg)](https://npmjs.com/package/@pulumi/azure-native) [![Python version](https://badge.fury.io/py/pu

656 lines • 37 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.StandardSupportedClouds = exports.StandardSupportedCloud = exports.SourceType = exports.Source = exports.SeverityEnum = exports.Severity = exports.ServerVulnerabilityAssessmentsSettingKind = exports.ServerVulnerabilityAssessmentsAzureSettingSelectedProvider = exports.SecuritySolutionStatus = exports.SecurityIssue = exports.SecurityContactRole = exports.ScanningMode = exports.RuleState = exports.RecommendationType = exports.RecommendationSupportedClouds = exports.RecommendationConfigStatus = exports.Protocol = exports.PropertyType = exports.PrivateEndpointServiceConnectionStatus = exports.PricingTier = exports.OrganizationMembershipType = exports.Operator = exports.OfferingType = exports.MinimalSeverity = exports.MinimalRiskLevel = exports.IsEnabled = exports.ImplementationEffort = exports.GovernanceRuleType = exports.GovernanceRuleSourceResourceType = exports.GovernanceRuleOwnerSourceType = exports.ExportData = exports.ExemptionCategory = exports.EventSource = exports.EnvironmentType = exports.Enforce = exports.Effect = exports.DevOpsProvisioningState = exports.DataSource = exports.CloudName = exports.Categories = exports.AutoProvision = exports.AutoDiscovery = exports.AuthenticationType = exports.AttestationComplianceState = exports.AssessmentType = exports.AssessmentStatusCode = exports.ApplicationSourceResourceType = exports.AdditionalWorkspaceType = exports.AdditionalWorkspaceDataType = exports.ActionType = void 0; exports.UserImpact = exports.UnmaskedIpLoggingStatus = exports.Type = exports.Threats = exports.Techniques = exports.Tactics = exports.SupportedCloudEnum = exports.SubPlan = exports.StatusReason = exports.Status = exports.State = void 0; exports.ActionType = { LogicApp: "LogicApp", EventHub: "EventHub", Workspace: "Workspace", }; exports.AdditionalWorkspaceDataType = { Alerts: "Alerts", RawEvents: "RawEvents", }; exports.AdditionalWorkspaceType = { Sentinel: "Sentinel", }; exports.ApplicationSourceResourceType = { /** * The source of the application is assessments */ Assessments: "Assessments", }; exports.AssessmentStatusCode = { /** * The resource is healthy */ Healthy: "Healthy", /** * The resource has a security issue that needs to be addressed */ Unhealthy: "Unhealthy", /** * Assessment for this resource did not happen */ NotApplicable: "NotApplicable", }; exports.AssessmentType = { /** * Microsoft Defender for Cloud managed assessments */ BuiltIn: "BuiltIn", /** * User defined policies that are automatically ingested from Azure Policy to Microsoft Defender for Cloud */ CustomPolicy: "CustomPolicy", /** * User assessments pushed directly by the user or other third party to Microsoft Defender for Cloud */ CustomerManaged: "CustomerManaged", }; exports.AttestationComplianceState = { Unknown: "unknown", Compliant: "compliant", NonCompliant: "nonCompliant", }; exports.AuthenticationType = { AccessToken: "AccessToken", }; exports.AutoDiscovery = { Disabled: "Disabled", Enabled: "Enabled", NotApplicable: "NotApplicable", }; exports.AutoProvision = { /** * Install missing Azure Arc agents on machines automatically */ On: "On", /** * Do not install Azure Arc agent on the machines automatically */ Off: "Off", }; exports.Categories = { Compute: "Compute", Networking: "Networking", Data: "Data", IdentityAndAccess: "IdentityAndAccess", IoT: "IoT", }; exports.CloudName = { Azure: "Azure", AWS: "AWS", GCP: "GCP", Github: "Github", AzureDevOps: "AzureDevOps", GitLab: "GitLab", DockerHub: "DockerHub", JFrog: "JFrog", }; exports.DataSource = { /** * Devices twin data */ TwinData: "TwinData", }; exports.DevOpsProvisioningState = { Succeeded: "Succeeded", Failed: "Failed", Canceled: "Canceled", Pending: "Pending", PendingDeletion: "PendingDeletion", DeletionSuccess: "DeletionSuccess", DeletionFailure: "DeletionFailure", }; exports.Effect = { Audit: "Audit", Exempt: "Exempt", Attest: "Attest", }; exports.Enforce = { /** * Allows the descendants of this scope to override the pricing configuration set on this scope (allows setting inherited="False") */ False: "False", /** * Prevents overrides and forces the current scope's pricing configuration to all descendants */ True: "True", }; exports.EnvironmentType = { AwsAccount: "AwsAccount", GcpProject: "GcpProject", GithubScope: "GithubScope", AzureDevOpsScope: "AzureDevOpsScope", GitlabScope: "GitlabScope", DockerHubOrganization: "DockerHubOrganization", JFrogArtifactory: "JFrogArtifactory", }; exports.EventSource = { Assessments: "Assessments", AssessmentsSnapshot: "AssessmentsSnapshot", SubAssessments: "SubAssessments", SubAssessmentsSnapshot: "SubAssessmentsSnapshot", Alerts: "Alerts", SecureScores: "SecureScores", SecureScoresSnapshot: "SecureScoresSnapshot", SecureScoreControls: "SecureScoreControls", SecureScoreControlsSnapshot: "SecureScoreControlsSnapshot", RegulatoryComplianceAssessment: "RegulatoryComplianceAssessment", RegulatoryComplianceAssessmentSnapshot: "RegulatoryComplianceAssessmentSnapshot", AttackPaths: "AttackPaths", AttackPathsSnapshot: "AttackPathsSnapshot", }; exports.ExemptionCategory = { Waiver: "waiver", Mitigated: "mitigated", }; exports.ExportData = { /** * Agent raw events */ RawEvents: "RawEvents", }; exports.GovernanceRuleOwnerSourceType = { /** * The rule source type defined using resource tag */ ByTag: "ByTag", /** * The rule source type defined manually */ Manually: "Manually", }; exports.GovernanceRuleSourceResourceType = { /** * The source of the governance rule is assessments */ Assessments: "Assessments", }; exports.GovernanceRuleType = { /** * The source of the rule type definition is integrated */ Integrated: "Integrated", /** * The source of the rule type definition is ServiceNow */ ServiceNow: "ServiceNow", }; exports.ImplementationEffort = { Low: "Low", Moderate: "Moderate", High: "High", }; exports.IsEnabled = { /** * Indicates the extension is enabled */ True: "True", /** * Indicates the extension is disabled */ False: "False", }; exports.MinimalRiskLevel = { /** * Get notifications on new attack paths with Critical risk level */ Critical: "Critical", /** * Get notifications on new attack paths with High or Critical risk level */ High: "High", /** * Get notifications on new attach paths with Medium, High or Critical risk level */ Medium: "Medium", /** * Get notifications on new attach paths with Low, Medium, High or Critical risk level */ Low: "Low", }; exports.MinimalSeverity = { /** * Get notifications on new alerts with High severity */ High: "High", /** * Get notifications on new alerts with Medium or High severity */ Medium: "Medium", /** * Get notifications on new alerts with Low, Medium or High severity */ Low: "Low", }; exports.OfferingType = { CspmMonitorAws: "CspmMonitorAws", DefenderForContainersAws: "DefenderForContainersAws", DefenderForServersAws: "DefenderForServersAws", DefenderForDatabasesAws: "DefenderForDatabasesAws", CspmMonitorGcp: "CspmMonitorGcp", CspmMonitorGithub: "CspmMonitorGithub", CspmMonitorAzureDevOps: "CspmMonitorAzureDevOps", DefenderForServersGcp: "DefenderForServersGcp", DefenderForContainersGcp: "DefenderForContainersGcp", DefenderForDatabasesGcp: "DefenderForDatabasesGcp", DefenderCspmAws: "DefenderCspmAws", DefenderCspmGcp: "DefenderCspmGcp", CspmMonitorGitLab: "CspmMonitorGitLab", CspmMonitorDockerHub: "CspmMonitorDockerHub", DefenderForContainersDockerHub: "DefenderForContainersDockerHub", DefenderCspmDockerHub: "DefenderCspmDockerHub", CspmMonitorJFrog: "CspmMonitorJFrog", DefenderForContainersJFrog: "DefenderForContainersJFrog", DefenderCspmJFrog: "DefenderCspmJFrog", }; exports.Operator = { /** * Applies for decimal and non-decimal operands */ Equals: "Equals", /** * Applies only for decimal operands */ GreaterThan: "GreaterThan", /** * Applies only for decimal operands */ GreaterThanOrEqualTo: "GreaterThanOrEqualTo", /** * Applies only for decimal operands */ LesserThan: "LesserThan", /** * Applies only for decimal operands */ LesserThanOrEqualTo: "LesserThanOrEqualTo", /** * Applies for decimal and non-decimal operands */ NotEquals: "NotEquals", /** * Applies only for non-decimal operands */ Contains: "Contains", /** * Applies only for non-decimal operands */ StartsWith: "StartsWith", /** * Applies only for non-decimal operands */ EndsWith: "EndsWith", }; exports.OrganizationMembershipType = { Member: "Member", Organization: "Organization", }; exports.PricingTier = { /** * Get free Microsoft Defender for Cloud experience with basic security features */ Free: "Free", /** * Get the standard Microsoft Defender for Cloud experience with advanced security features */ Standard: "Standard", }; exports.PrivateEndpointServiceConnectionStatus = { Pending: "Pending", Approved: "Approved", Rejected: "Rejected", }; exports.PropertyType = { String: "String", Integer: "Integer", Number: "Number", Boolean: "Boolean", }; exports.Protocol = { TCP: "TCP", UDP: "UDP", All: "*", }; exports.RecommendationConfigStatus = { Disabled: "Disabled", Enabled: "Enabled", }; exports.RecommendationSupportedClouds = { Azure: "Azure", AWS: "AWS", GCP: "GCP", }; exports.RecommendationType = { /** * Authentication schema used for pull an edge module from an ACR repository does not use Service Principal Authentication. */ IoT_ACRAuthentication: "IoT_ACRAuthentication", /** * IoT agent message size capacity is currently underutilized, causing an increase in the number of sent messages. Adjust message intervals for better utilization. */ IoT_AgentSendsUnutilizedMessages: "IoT_AgentSendsUnutilizedMessages", /** * Identified security related system configuration issues. */ IoT_Baseline: "IoT_Baseline", /** * You can optimize Edge Hub memory usage by turning off protocol heads for any protocols not used by Edge modules in your solution. */ IoT_EdgeHubMemOptimize: "IoT_EdgeHubMemOptimize", /** * Logging is disabled for this edge module. */ IoT_EdgeLoggingOptions: "IoT_EdgeLoggingOptions", /** * A minority within a device security group has inconsistent Edge Module settings with the rest of their group. */ IoT_InconsistentModuleSettings: "IoT_InconsistentModuleSettings", /** * Install the Azure Security of Things Agent. */ IoT_InstallAgent: "IoT_InstallAgent", /** * IP Filter Configuration should have rules defined for allowed traffic and should deny all other traffic by default. */ IoT_IPFilter_DenyAll: "IoT_IPFilter_DenyAll", /** * An Allow IP Filter rules source IP range is too large. Overly permissive rules might expose your IoT hub to malicious intenders. */ IoT_IPFilter_PermissiveRule: "IoT_IPFilter_PermissiveRule", /** * A listening endpoint was found on the device. */ IoT_OpenPorts: "IoT_OpenPorts", /** * An Allowed firewall policy was found (INPUT/OUTPUT). The policy should Deny all traffic by default and define rules to allow necessary communication to/from the device. */ IoT_PermissiveFirewallPolicy: "IoT_PermissiveFirewallPolicy", /** * A rule in the firewall has been found that contains a permissive pattern for a wide range of IP addresses or Ports. */ IoT_PermissiveInputFirewallRules: "IoT_PermissiveInputFirewallRules", /** * A rule in the firewall has been found that contains a permissive pattern for a wide range of IP addresses or Ports. */ IoT_PermissiveOutputFirewallRules: "IoT_PermissiveOutputFirewallRules", /** * Edge module is configured to run in privileged mode, with extensive Linux capabilities or with host-level network access (send/receive data to host machine). */ IoT_PrivilegedDockerOptions: "IoT_PrivilegedDockerOptions", /** * Same authentication credentials to the IoT Hub used by multiple devices. This could indicate an illegitimate device impersonating a legitimate device. It also exposes the risk of device impersonation by an attacker. */ IoT_SharedCredentials: "IoT_SharedCredentials", /** * Insecure TLS configurations detected. Immediate upgrade recommended. */ IoT_VulnerableTLSCipherSuite: "IoT_VulnerableTLSCipherSuite", }; exports.RuleState = { Enabled: "Enabled", Disabled: "Disabled", Expired: "Expired", }; exports.ScanningMode = { Default: "Default", }; exports.SecurityContactRole = { /** * If enabled, send notification on new alerts to the account admins */ AccountAdmin: "AccountAdmin", /** * If enabled, send notification on new alerts to the service admins */ ServiceAdmin: "ServiceAdmin", /** * If enabled, send notification on new alerts to the subscription owners */ Owner: "Owner", /** * If enabled, send notification on new alerts to the subscription contributors */ Contributor: "Contributor", }; exports.SecurityIssue = { Vulnerability: "Vulnerability", ExcessivePermissions: "ExcessivePermissions", AnonymousAccess: "AnonymousAccess", NetworkExposure: "NetworkExposure", TrafficEncryption: "TrafficEncryption", BestPractices: "BestPractices", }; exports.SecuritySolutionStatus = { Enabled: "Enabled", Disabled: "Disabled", }; exports.ServerVulnerabilityAssessmentsAzureSettingSelectedProvider = { /** * Microsoft Defender for Endpoints threat and vulnerability management. */ MdeTvm: "MdeTvm", }; exports.ServerVulnerabilityAssessmentsSettingKind = { AzureServersSetting: "AzureServersSetting", }; exports.Severity = { Low: "Low", Medium: "Medium", High: "High", }; exports.SeverityEnum = { High: "High", Medium: "Medium", Low: "Low", }; exports.Source = { /** * Resource is in Azure */ Azure: "Azure", /** * Resource in an on premise machine connected to Azure cloud */ OnPremise: "OnPremise", /** * SQL Resource in an on premise machine connected to Azure cloud */ OnPremiseSql: "OnPremiseSql", }; exports.SourceType = { Alert: "Alert", AttackPath: "AttackPath", }; exports.StandardSupportedCloud = { Azure: "Azure", AWS: "AWS", GCP: "GCP", }; exports.StandardSupportedClouds = { AWS: "AWS", GCP: "GCP", }; exports.State = { /** * Send notification on new alerts to the subscription's admins */ On: "On", /** * Don't send notification on new alerts to the subscription's admins */ Off: "Off", }; exports.Status = { Revoked: "Revoked", Initiated: "Initiated", }; exports.StatusReason = { Expired: "Expired", UserRequested: "UserRequested", NewerRequestInitiated: "NewerRequestInitiated", }; exports.SubPlan = { P1: "P1", P2: "P2", }; exports.SupportedCloudEnum = { AWS: "AWS", GCP: "GCP", }; exports.Tactics = { Reconnaissance: "Reconnaissance", Resource_Development: "Resource Development", Initial_Access: "Initial Access", Execution: "Execution", Persistence: "Persistence", Privilege_Escalation: "Privilege Escalation", Defense_Evasion: "Defense Evasion", Credential_Access: "Credential Access", Discovery: "Discovery", Lateral_Movement: "Lateral Movement", Collection: "Collection", Command_and_Control: "Command and Control", Exfiltration: "Exfiltration", Impact: "Impact", }; exports.Techniques = { Abuse_Elevation_Control_Mechanism: "Abuse Elevation Control Mechanism", Access_Token_Manipulation: "Access Token Manipulation", Account_Discovery: "Account Discovery", Account_Manipulation: "Account Manipulation", Active_Scanning: "Active Scanning", Application_Layer_Protocol: "Application Layer Protocol", Audio_Capture: "Audio Capture", Boot_or_Logon_Autostart_Execution: "Boot or Logon Autostart Execution", Boot_or_Logon_Initialization_Scripts: "Boot or Logon Initialization Scripts", Brute_Force: "Brute Force", Cloud_Infrastructure_Discovery: "Cloud Infrastructure Discovery", Cloud_Service_Dashboard: "Cloud Service Dashboard", Cloud_Service_Discovery: "Cloud Service Discovery", Command_and_Scripting_Interpreter: "Command and Scripting Interpreter", Compromise_Client_Software_Binary: "Compromise Client Software Binary", Compromise_Infrastructure: "Compromise Infrastructure", Container_and_Resource_Discovery: "Container and Resource Discovery", Create_Account: "Create Account", Create_or_Modify_System_Process: "Create or Modify System Process", Credentials_from_Password_Stores: "Credentials from Password Stores", Data_Destruction: "Data Destruction", Data_Encrypted_for_Impact: "Data Encrypted for Impact", Data_from_Cloud_Storage_Object: "Data from Cloud Storage Object", Data_from_Configuration_Repository: "Data from Configuration Repository", Data_from_Information_Repositories: "Data from Information Repositories", Data_from_Local_System: "Data from Local System", Data_Manipulation: "Data Manipulation", Data_Staged: "Data Staged", Defacement: "Defacement", Deobfuscate_Decode_Files_or_Information: "Deobfuscate/Decode Files or Information", Disk_Wipe: "Disk Wipe", Domain_Trust_Discovery: "Domain Trust Discovery", Drive_by_Compromise: "Drive-by Compromise", Dynamic_Resolution: "Dynamic Resolution", Endpoint_Denial_of_Service: "Endpoint Denial of Service", Event_Triggered_Execution: "Event Triggered Execution", Exfiltration_Over_Alternative_Protocol: "Exfiltration Over Alternative Protocol", Exploit_Public_Facing_Application: "Exploit Public-Facing Application", Exploitation_for_Client_Execution: "Exploitation for Client Execution", Exploitation_for_Credential_Access: "Exploitation for Credential Access", Exploitation_for_Defense_Evasion: "Exploitation for Defense Evasion", Exploitation_for_Privilege_Escalation: "Exploitation for Privilege Escalation", Exploitation_of_Remote_Services: "Exploitation of Remote Services", External_Remote_Services: "External Remote Services", Fallback_Channels: "Fallback Channels", File_and_Directory_Discovery: "File and Directory Discovery", Gather_Victim_Network_Information: "Gather Victim Network Information", Hide_Artifacts: "Hide Artifacts", Hijack_Execution_Flow: "Hijack Execution Flow", Impair_Defenses: "Impair Defenses", Implant_Container_Image: "Implant Container Image", Indicator_Removal_on_Host: "Indicator Removal on Host", Indirect_Command_Execution: "Indirect Command Execution", Ingress_Tool_Transfer: "Ingress Tool Transfer", Input_Capture: "Input Capture", Inter_Process_Communication: "Inter-Process Communication", Lateral_Tool_Transfer: "Lateral Tool Transfer", Man_in_the_Middle: "Man-in-the-Middle", Masquerading: "Masquerading", Modify_Authentication_Process: "Modify Authentication Process", Modify_Registry: "Modify Registry", Network_Denial_of_Service: "Network Denial of Service", Network_Service_Scanning: "Network Service Scanning", Network_Sniffing: "Network Sniffing", Non_Application_Layer_Protocol: "Non-Application Layer Protocol", Non_Standard_Port: "Non-Standard Port", Obtain_Capabilities: "Obtain Capabilities", Obfuscated_Files_or_Information: "Obfuscated Files or Information", Office_Application_Startup: "Office Application Startup", OS_Credential_Dumping: "OS Credential Dumping", Permission_Groups_Discovery: "Permission Groups Discovery", Phishing: "Phishing", Pre_OS_Boot: "Pre-OS Boot", Process_Discovery: "Process Discovery", Process_Injection: "Process Injection", Protocol_Tunneling: "Protocol Tunneling", Proxy: "Proxy", Query_Registry: "Query Registry", Remote_Access_Software: "Remote Access Software", Remote_Service_Session_Hijacking: "Remote Service Session Hijacking", Remote_Services: "Remote Services", Remote_System_Discovery: "Remote System Discovery", Resource_Hijacking: "Resource Hijacking", Scheduled_Task_Job: "Scheduled Task/Job", Screen_Capture: "Screen Capture", Search_Victim_Owned_Websites: "Search Victim-Owned Websites", Server_Software_Component: "Server Software Component", Service_Stop: "Service Stop", Signed_Binary_Proxy_Execution: "Signed Binary Proxy Execution", Software_Deployment_Tools: "Software Deployment Tools", SQL_Stored_Procedures: "SQL Stored Procedures", Steal_or_Forge_Kerberos_Tickets: "Steal or Forge Kerberos Tickets", Subvert_Trust_Controls: "Subvert Trust Controls", Supply_Chain_Compromise: "Supply Chain Compromise", System_Information_Discovery: "System Information Discovery", Taint_Shared_Content: "Taint Shared Content", Traffic_Signaling: "Traffic Signaling", Transfer_Data_to_Cloud_Account: "Transfer Data to Cloud Account", Trusted_Relationship: "Trusted Relationship", Unsecured_Credentials: "Unsecured Credentials", User_Execution: "User Execution", Valid_Accounts: "Valid Accounts", Windows_Management_Instrumentation: "Windows Management Instrumentation", File_and_Directory_Permissions_Modification: "File and Directory Permissions Modification", }; exports.Threats = { AccountBreach: "accountBreach", DataExfiltration: "dataExfiltration", DataSpillage: "dataSpillage", MaliciousInsider: "maliciousInsider", ElevationOfPrivilege: "elevationOfPrivilege", ThreatResistance: "threatResistance", MissingCoverage: "missingCoverage", DenialOfService: "denialOfService", }; exports.Type = { Qualys: "Qualys", TVM: "TVM", }; exports.UnmaskedIpLoggingStatus = { /** * Unmasked IP logging is disabled */ Disabled: "Disabled", /** * Unmasked IP logging is enabled */ Enabled: "Enabled", }; exports.UserImpact = { Low: "Low", Moderate: "Moderate", High: "High", }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90eXBlcy9lbnVtcy9zZWN1cml0eS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsc0VBQXNFO0FBQ3RFLGlGQUFpRjs7OztBQUdwRSxRQUFBLFVBQVUsR0FBRztJQUN0QixRQUFRLEVBQUUsVUFBVTtJQUNwQixRQUFRLEVBQUUsVUFBVTtJQUNwQixTQUFTLEVBQUUsV0FBVztDQUNoQixDQUFDO0FBT0UsUUFBQSwyQkFBMkIsR0FBRztJQUN2QyxNQUFNLEVBQUUsUUFBUTtJQUNoQixTQUFTLEVBQUUsV0FBVztDQUNoQixDQUFDO0FBT0UsUUFBQSx1QkFBdUIsR0FBRztJQUNuQyxRQUFRLEVBQUUsVUFBVTtDQUNkLENBQUM7QUFPRSxRQUFBLDZCQUE2QixHQUFHO0lBQ3pDOztPQUVHO0lBQ0gsV0FBVyxFQUFFLGFBQWE7Q0FDcEIsQ0FBQztBQU9FLFFBQUEsb0JBQW9CLEdBQUc7SUFDaEM7O09BRUc7SUFDSCxPQUFPLEVBQUUsU0FBUztJQUNsQjs7T0FFRztJQUNILFNBQVMsRUFBRSxXQUFXO0lBQ3RCOztPQUVHO0lBQ0gsYUFBYSxFQUFFLGVBQWU7Q0FDeEIsQ0FBQztBQU9FLFFBQUEsY0FBYyxHQUFHO0lBQzFCOztPQUVHO0lBQ0gsT0FBTyxFQUFFLFNBQVM7SUFDbEI7O09BRUc7SUFDSCxZQUFZLEVBQUUsY0FBYztJQUM1Qjs7T0FFRztJQUNILGVBQWUsRUFBRSxpQkFBaUI7Q0FDNUIsQ0FBQztBQU9FLFFBQUEsMEJBQTBCLEdBQUc7SUFDdEMsT0FBTyxFQUFFLFNBQVM7SUFDbEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsWUFBWSxFQUFFLGNBQWM7Q0FDdEIsQ0FBQztBQU9FLFFBQUEsa0JBQWtCLEdBQUc7SUFDOUIsV0FBVyxFQUFFLGFBQWE7Q0FDcEIsQ0FBQztBQU9FLFFBQUEsYUFBYSxHQUFHO0lBQ3pCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLE9B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