@pulumi/azure-native
Version:
[](https://slack.pulumi.com) [](https://npmjs.com/package/@pulumi/azure-native) [;
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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