From b8836c6404041d2365b3fc46129cfd993e008c88 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Apr 2025 08:49:33 +0200 Subject: [PATCH 01/31] chore(deps): bump @babel/runtime from 7.24.7 to 7.27.0 in /ui (#7502) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- ui/package-lock.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ui/package-lock.json b/ui/package-lock.json index 8d222871e0..f0a11642d6 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -240,9 +240,10 @@ } }, "node_modules/@babel/runtime": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", - "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz", + "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", + "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, From 06f94f884f6f59916a2922efcad427bb8c80d70f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Mart=C3=ADn?= Date: Mon, 28 Apr 2025 09:57:52 +0200 Subject: [PATCH 02/31] feat(compliance): add new Prowler Threat Score Compliance Framework (#7603) Co-authored-by: MrCloudSec --- .../compliance/prowler_threatscore_aws.py | 24 + .../compliance/prowler_threatscore_azure.py | 24 + .../compliance/prowler_threatscore_gcp.py | 24 + dashboard/pages/compliance.py | 102 +- prowler/CHANGELOG.md | 1 + prowler/__main__.py | 45 + .../aws/prowler_threatscore_aws.json | 1864 +++++++++++++++++ .../azure/prowler_threatscore_azure.json | 1317 ++++++++++++ .../gcp/prowler_threatscore_gcp.json | 977 +++++++++ prowler/lib/check/compliance_models.py | 13 + prowler/lib/outputs/compliance/compliance.py | 12 + .../prowler_threatscore/__init__.py | 0 .../compliance/prowler_threatscore/models.py | 81 + .../prowler_threatscore.py | 121 ++ .../prowler_threatscore_aws.py | 91 + .../prowler_threatscore_azure.py | 91 + .../prowler_threatscore_gcp.py | 91 + prowler_threatscore_aws | 0 prowler_threatscore_azure | 0 prowler_threatscore_gcp | 0 tests/lib/outputs/compliance/fixtures.py | 127 ++ .../prowler_threatscore_aws_test.py | 140 ++ .../prowler_threatscore_azure_test.py | 150 ++ .../prowler_threatscore_gcp_test.py | 147 ++ ...te_compliance_json_from_csv_threatscope.py | 36 + ...prowler_threatscore_from_generic_output.py | 52 + 26 files changed, 5528 insertions(+), 2 deletions(-) create mode 100644 dashboard/compliance/prowler_threatscore_aws.py create mode 100644 dashboard/compliance/prowler_threatscore_azure.py create mode 100644 dashboard/compliance/prowler_threatscore_gcp.py create mode 100644 prowler/compliance/aws/prowler_threatscore_aws.json create mode 100644 prowler/compliance/azure/prowler_threatscore_azure.json create mode 100644 prowler/compliance/gcp/prowler_threatscore_gcp.json create mode 100644 prowler/lib/outputs/compliance/prowler_threatscore/__init__.py create mode 100644 prowler/lib/outputs/compliance/prowler_threatscore/models.py create mode 100644 prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore.py create mode 100644 prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_aws.py create mode 100644 prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_azure.py create mode 100644 prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_gcp.py create mode 100644 prowler_threatscore_aws create mode 100644 prowler_threatscore_azure create mode 100644 prowler_threatscore_gcp create mode 100644 tests/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_aws_test.py create mode 100644 tests/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_azure_test.py create mode 100644 tests/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_gcp_test.py create mode 100644 util/generate_compliance_json_from_csv_threatscope.py create mode 100644 util/get_prowler_threatscore_from_generic_output.py diff --git a/dashboard/compliance/prowler_threatscore_aws.py b/dashboard/compliance/prowler_threatscore_aws.py new file mode 100644 index 0000000000..94558f33ad --- /dev/null +++ b/dashboard/compliance/prowler_threatscore_aws.py @@ -0,0 +1,24 @@ +import warnings + +from dashboard.common_methods import get_section_containers_cis + +warnings.filterwarnings("ignore") + + +def get_table(data): + aux = data[ + [ + "REQUIREMENTS_ID", + "REQUIREMENTS_DESCRIPTION", + "REQUIREMENTS_ATTRIBUTES_SECTION", + "CHECKID", + "STATUS", + "REGION", + "ACCOUNTID", + "RESOURCEID", + ] + ].copy() + + return get_section_containers_cis( + aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION" + ) diff --git a/dashboard/compliance/prowler_threatscore_azure.py b/dashboard/compliance/prowler_threatscore_azure.py new file mode 100644 index 0000000000..94558f33ad --- /dev/null +++ b/dashboard/compliance/prowler_threatscore_azure.py @@ -0,0 +1,24 @@ +import warnings + +from dashboard.common_methods import get_section_containers_cis + +warnings.filterwarnings("ignore") + + +def get_table(data): + aux = data[ + [ + "REQUIREMENTS_ID", + "REQUIREMENTS_DESCRIPTION", + "REQUIREMENTS_ATTRIBUTES_SECTION", + "CHECKID", + "STATUS", + "REGION", + "ACCOUNTID", + "RESOURCEID", + ] + ].copy() + + return get_section_containers_cis( + aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION" + ) diff --git a/dashboard/compliance/prowler_threatscore_gcp.py b/dashboard/compliance/prowler_threatscore_gcp.py new file mode 100644 index 0000000000..94558f33ad --- /dev/null +++ b/dashboard/compliance/prowler_threatscore_gcp.py @@ -0,0 +1,24 @@ +import warnings + +from dashboard.common_methods import get_section_containers_cis + +warnings.filterwarnings("ignore") + + +def get_table(data): + aux = data[ + [ + "REQUIREMENTS_ID", + "REQUIREMENTS_DESCRIPTION", + "REQUIREMENTS_ATTRIBUTES_SECTION", + "CHECKID", + "STATUS", + "REGION", + "ACCOUNTID", + "RESOURCEID", + ] + ].copy() + + return get_section_containers_cis( + aux, "REQUIREMENTS_ID", "REQUIREMENTS_ATTRIBUTES_SECTION" + ) diff --git a/dashboard/pages/compliance.py b/dashboard/pages/compliance.py index 422e801503..d9c5c9f4b0 100644 --- a/dashboard/pages/compliance.py +++ b/dashboard/pages/compliance.py @@ -398,6 +398,10 @@ def display_data( f"dashboard.compliance.{current}" ) data.drop_duplicates(keep="first", inplace=True) + + if "threatscore" in analytics_input: + data = get_threatscore_mean_by_pillar(data) + table = compliance_module.get_table(data) except ModuleNotFoundError: table = html.Div( @@ -430,6 +434,9 @@ def display_data( if "pci" in analytics_input: pie_2 = get_bar_graph(df, "REQUIREMENTS_ID") current_filter = "req_id" + elif "threatscore" in analytics_input: + pie_2 = get_table_prowler_threatscore(df) + current_filter = "threatscore" elif ( "REQUIREMENTS_ATTRIBUTES_SECTION" in df.columns and not df["REQUIREMENTS_ATTRIBUTES_SECTION"].isnull().values.any() @@ -488,6 +495,13 @@ def display_data( pie_2, f"Top 5 failed {current_filter} by requirements" ) + if "threatscore" in analytics_input: + security_level_graph = get_graph( + pie_2, + "Pillar Score by requirements (1 = Lowest Risk, 5 = Highest Risk)", + margin_top=0, + ) + return ( table_output, overall_status_result_graph, @@ -501,7 +515,7 @@ def display_data( ) -def get_graph(pie, title): +def get_graph(pie, title, margin_top=7): return [ html.Span( title, @@ -514,7 +528,7 @@ def get_graph(pie, title): "display": "flex", "justify-content": "center", "align-items": "center", - "margin-top": "7%", + "margin-top": f"{margin_top}%", }, ), ] @@ -618,3 +632,87 @@ def get_table(current_compliance, table): className="relative flex flex-col bg-white shadow-provider rounded-xl px-4 py-3 flex-wrap w-full", ), ] + + +def get_threatscore_mean_by_pillar(df): + modified_df = df[df["STATUS"] == "FAIL"] + + modified_df["REQUIREMENTS_ATTRIBUTES_LEVELOFRISK"] = pd.to_numeric( + modified_df["REQUIREMENTS_ATTRIBUTES_LEVELOFRISK"], errors="coerce" + ) + + pillar_means = ( + modified_df.groupby("REQUIREMENTS_ATTRIBUTES_SECTION")[ + "REQUIREMENTS_ATTRIBUTES_LEVELOFRISK" + ] + .mean() + .round(2) + ) + + output = [] + for pillar, mean in pillar_means.items(): + output.append(f"{pillar} - [{mean}]") + + for value in output: + if value.split(" - ")[0] in df["REQUIREMENTS_ATTRIBUTES_SECTION"].values: + df.loc[ + df["REQUIREMENTS_ATTRIBUTES_SECTION"] == value.split(" - ")[0], + "REQUIREMENTS_ATTRIBUTES_SECTION", + ] = value + return df + + +def get_table_prowler_threatscore(df): + df = df[df["STATUS"] == "FAIL"] + + # Delete " - " from the column REQUIREMENTS_ATTRIBUTES_SECTION + df["REQUIREMENTS_ATTRIBUTES_SECTION"] = ( + df["REQUIREMENTS_ATTRIBUTES_SECTION"].str.split(" - ").str[0] + ) + + df["REQUIREMENTS_ATTRIBUTES_LEVELOFRISK"] = pd.to_numeric( + df["REQUIREMENTS_ATTRIBUTES_LEVELOFRISK"], errors="coerce" + ) + + score_df = ( + df.groupby("REQUIREMENTS_ATTRIBUTES_SECTION")[ + "REQUIREMENTS_ATTRIBUTES_LEVELOFRISK" + ] + .mean() + .reset_index() + .rename( + columns={ + "REQUIREMENTS_ATTRIBUTES_SECTION": "Pillar", + "REQUIREMENTS_ATTRIBUTES_LEVELOFRISK": "Score", + } + ) + ) + + fig = px.bar( + score_df, + x="Pillar", + y="Score", + color="Score", + color_continuous_scale=[ + "#45cc6e", + "#f4d44d", + "#e77676", + ], # verde → amarillo → rojo + hover_data={"Score": True, "Pillar": True}, + labels={"Score": "Average Risk Score", "Pillar": "Section"}, + height=400, + ) + + fig.update_layout( + xaxis_title="Pillar", + yaxis_title="Level of Risk", + margin=dict(l=20, r=20, t=30, b=20), + plot_bgcolor="rgba(0,0,0,0)", + paper_bgcolor="rgba(0,0,0,0)", + coloraxis_colorbar=dict(title="Risk"), + ) + + return dcc.Graph( + figure=fig, + style={"height": "25rem", "width": "40rem"}, + ) diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index 48ad34deea..51b7e45c7a 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -35,6 +35,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - Add new check `teams_meeting_recording_disabled` [(#7607)](https://github.com/prowler-cloud/prowler/pull/7607) - Add new check `teams_meeting_presenters_restricted` [(#7613)](https://github.com/prowler-cloud/prowler/pull/7613) - Add new check `teams_meeting_chat_anonymous_users_disabled` [(#7579)](https://github.com/prowler-cloud/prowler/pull/7579) +- Add Prowler Threat Score Compliance Framework [(#7603)](https://github.com/prowler-cloud/prowler/pull/7603) ### Fixed diff --git a/prowler/__main__.py b/prowler/__main__.py index 13b430e764..b201268da3 100644 --- a/prowler/__main__.py +++ b/prowler/__main__.py @@ -70,6 +70,15 @@ from prowler.lib.outputs.compliance.mitre_attack.mitre_attack_azure import ( AzureMitreAttack, ) from prowler.lib.outputs.compliance.mitre_attack.mitre_attack_gcp import GCPMitreAttack +from prowler.lib.outputs.compliance.prowler_threatscore.prowler_threatscore_aws import ( + ProwlerThreatScoreAWS, +) +from prowler.lib.outputs.compliance.prowler_threatscore.prowler_threatscore_azure import ( + ProwlerThreatScoreAzure, +) +from prowler.lib.outputs.compliance.prowler_threatscore.prowler_threatscore_gcp import ( + ProwlerThreatScoreGCP, +) from prowler.lib.outputs.csv.csv import CSV from prowler.lib.outputs.finding import Finding from prowler.lib.outputs.html.html import HTML @@ -478,6 +487,18 @@ def prowler(): ) generated_outputs["compliance"].append(kisa_ismsp) kisa_ismsp.batch_write_data_to_file() + elif compliance_name == "prowler_threatscore_aws": + filename = ( + f"{output_options.output_directory}/compliance/" + f"{output_options.output_filename}_{compliance_name}.csv" + ) + prowler_threatscore = ProwlerThreatScoreAWS( + findings=finding_outputs, + compliance=bulk_compliance_frameworks[compliance_name], + file_path=filename, + ) + generated_outputs["compliance"].append(prowler_threatscore) + prowler_threatscore.batch_write_data_to_file() else: filename = ( f"{output_options.output_directory}/compliance/" @@ -545,6 +566,18 @@ def prowler(): ) generated_outputs["compliance"].append(iso27001) iso27001.batch_write_data_to_file() + elif compliance_name == "prowler_threatscore_azure": + filename = ( + f"{output_options.output_directory}/compliance/" + f"{output_options.output_filename}_{compliance_name}.csv" + ) + prowler_threatscore = ProwlerThreatScoreAzure( + findings=finding_outputs, + compliance=bulk_compliance_frameworks[compliance_name], + file_path=filename, + ) + generated_outputs["compliance"].append(prowler_threatscore) + prowler_threatscore.batch_write_data_to_file() else: filename = ( f"{output_options.output_directory}/compliance/" @@ -612,6 +645,18 @@ def prowler(): ) generated_outputs["compliance"].append(iso27001) iso27001.batch_write_data_to_file() + elif compliance_name == "prowler_threatscore_gcp": + filename = ( + f"{output_options.output_directory}/compliance/" + f"{output_options.output_filename}_{compliance_name}.csv" + ) + prowler_threatscore = ProwlerThreatScoreGCP( + findings=finding_outputs, + compliance=bulk_compliance_frameworks[compliance_name], + file_path=filename, + ) + generated_outputs["compliance"].append(prowler_threatscore) + prowler_threatscore.batch_write_data_to_file() else: filename = ( f"{output_options.output_directory}/compliance/" diff --git a/prowler/compliance/aws/prowler_threatscore_aws.json b/prowler/compliance/aws/prowler_threatscore_aws.json new file mode 100644 index 0000000000..dcc036f7f6 --- /dev/null +++ b/prowler/compliance/aws/prowler_threatscore_aws.json @@ -0,0 +1,1864 @@ +{ + "Framework": "ProwlerThreatScore", + "Version": "1.0", + "Provider": "AWS", + "Description": "Prowler ThreatScore Compliance Framework for AWS ensures that the AWS account is compliant taking into account four main pillars: Identity and Access Management, Attack Surface, Forensic Readiness and Encryption", + "Requirements": [ + { + "Id": "1.1.1", + "Description": "Ensure MFA is enabled for the 'root' user account", + "Checks": [ + "iam_root_mfa_enabled" + ], + "Attributes": [ + { + "Title": "MFA enabled for 'root'", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "The root user account holds the highest level of privileges within an AWS account. Enabling Multi-Factor Authentication (MFA) enhances security by adding an additional layer of protection beyond just a username and password. With MFA activated, users must provide their credentials (username and password) along with a unique authentication code generated by their AWS MFA device when signing into an AWS website.", + "AdditionalInformation": "Enabling MFA enhances console security by requiring the authenticating user to both possess a time-sensitive key-generating device and have knowledge of their credentials.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.1.2", + "Description": "Ensure hardware MFA is enabled for the 'root' user account", + "Checks": [ + "iam_root_hardware_mfa_enabled" + ], + "Attributes": [ + { + "Title": "Hardware MFA enabled for 'root'", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "The root user account in AWS has the highest level of privileges. Multi-Factor Authentication (MFA) enhances security by adding an extra layer of protection beyond a username and password. When MFA is enabled, users must enter their credentials along with a unique authentication code generated by their AWS MFA device when signing into an AWS website.", + "AdditionalInformation": "A hardware MFA has a smaller attack surface compared to a virtual MFA. Unlike a virtual MFA, which relies on a mobile device that may be vulnerable to malware or compromise, a hardware MFA operates independently, reducing exposure to potential security threats.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.1.3", + "Description": "Ensure multi-factor authentication (MFA) is enabled for all IAM users that have console access", + "Checks": [ + "iam_user_mfa_enabled_console_access" + ], + "Attributes": [ + { + "Title": "MFA enabled for IAM console users", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "To enhance security and reduce the risk of unauthorized access, Multi-Factor Authentication (MFA) should be enabled for all IAM users who have access to the AWS Management Console.", + "AdditionalInformation": "Without Multi-Factor Authentication (MFA), a compromised password alone is enough to allow an attacker to access the console, gaining full visibility and control over AWS resources.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.1.4", + "Description": "Ensure IAM password policy requires minimum length of 14 or greater", + "Checks": [ + "iam_password_policy_minimum_length_14" + ], + "Attributes": [ + { + "Title": "IAM password lenght 14 or greater", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "Password policies help enforce password complexity requirements to strengthen account security. In AWS IAM, password policies can be configured to ensure that user passwords meet specific criteria, including a minimum length requirement. It is recommended to enforce a minimum password length of 14 characters to enhance security.", + "AdditionalInformation": "Requiring longer and more complex passwords reduces the risk of compromise from brute force attacks, credential stuffing, and other password-based threats. A 14-character minimum makes it significantly harder for attackers to guess or crack passwords, improving overall account security and resilience.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "1.1.5", + "Description": "Ensure IAM password policy prevents password reuse", + "Checks": [ + "iam_password_policy_reuse_24" + ], + "Attributes": [ + { + "Title": "IAM prevent password reuse", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "IAM password policies can be configured to prevent users from reusing previous passwords. This ensures that users create new, unique passwords instead of cycling through old ones. It is recommended to enforce password history restrictions to enhance security.", + "AdditionalInformation": "Blocking password reuse helps mitigate the risk of credential-based attacks, such as brute force and credential stuffing. It prevents users from reverting to previously compromised passwords, reducing the likelihood of unauthorized access.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "1.1.6", + "Description": "Ensure IAM password policy require at least one number", + "Checks": [ + "iam_password_policy_number" + ], + "Attributes": [ + { + "Title": "IAM password requires one number or more", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "Password policies help enforce password complexity requirements to strengthen account security. In AWS IAM, password policies can be configured to ensure that user passwords meet specific criteria, including using at least number as requirement. It is recommended to enforce the usage of one number to enhance security.", + "AdditionalInformation": "Requiring more complex passwords reduces the risk of compromise from brute force attacks, credential stuffing, and other password-based threats. Using a number at least makes it significantly harder for attackers to guess or crack passwords, improving overall account security and resilience.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "1.1.7", + "Description": "Ensure IAM password policy require at least one symbol", + "Checks": [ + "iam_password_policy_symbol" + ], + "Attributes": [ + { + "Title": "IAM password policy require one symbol or more", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "IAM password policies can be configured to enforce the use of at least one special character (symbol) in user passwords. Special characters (e.g., @, #, $, %) add complexity, making passwords harder to guess or crack. It is recommended to require at least one symbol in IAM passwords to enhance security.", + "AdditionalInformation": "Requiring a symbol in passwords increases entropy, making brute-force and dictionary attacks more difficult. Attackers often rely on common or predictable password patterns, and enforcing special characters helps reduce the effectiveness of such attacks. This policy strengthens overall password security and aligns with industry best practices.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "1.1.8", + "Description": "Ensure IAM password policy require at least one lowercase letter", + "Checks": [ + "iam_password_policy_lowercase" + ], + "Attributes": [ + { + "Title": "IAM password policy require one lowercase or more", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "IAM password policies can be configured to enforce the use of at least one lowercase letter in user passwords. Including lowercase letters increases password complexity, making them more resistant to brute-force and dictionary attacks. It is recommended to require at least one lowercase letter in IAM passwords to strengthen security.", + "AdditionalInformation": "Requiring at least one lowercase letter ensures that passwords are not composed solely of numbers or uppercase letters, which are easier to guess. Attackers often use wordlists and predictable patterns when attempting to crack passwords. By enforcing lowercase letters, password complexity improves, reducing the likelihood of unauthorized access.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "1.1.9", + "Description": "Ensure IAM password policy requires at least one uppercase letter", + "Checks": [ + "iam_password_policy_uppercase" + ], + "Attributes": [ + { + "Title": "IAM password policy require one uppercase or more", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "IAM password policies can be configured to enforce the use of at least one uppercase letter in user passwords. Including uppercase letters increases password complexity, making them more resilient to brute-force and dictionary attacks. It is recommended to require at least one uppercase letter in IAM passwords to enhance security.", + "AdditionalInformation": "Requiring at least one uppercase letter ensures that passwords are not composed solely of lowercase letters or numbers, which are more predictable and easier to crack. Attackers often rely on common word variations in password attacks, and enforcing uppercase letters adds an additional layer of complexity, reducing the risk of unauthorized access.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "1.1.10", + "Description": "Ensure credentials unused for 45 days or more are disabled", + "Checks": [ + "iam_user_accesskey_unused", + "iam_user_console_access_unused" + ], + "Attributes": [ + { + "Title": "IAM credentials unused disabled", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "AWS IAM users can authenticate and access AWS resources using various types of credentials, including passwords and access keys. To minimize security risks, it is recommended to deactivate or remove any credentials that have been unused for 45 days or more.", + "AdditionalInformation": "Disabling or removing inactive credentials reduces the attack surface and prevents unauthorized access through compromised or forgotten credentials. Unused credentials pose a security risk, as attackers may exploit them if they remain active without regular monitoring. Regularly auditing and revoking stale credentials enhances overall account security.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.1.11", + "Description": "Ensure access keys are rotated every 90 days or less", + "Checks": [ + "iam_rotate_access_key_90_days" + ], + "Attributes": [ + { + "Title": "IAM rotate access keys 90 days", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "Access keys consist of an access key ID and a secret access key, which are used to authenticate and sign programmatic requests made to AWS. These keys allow users and applications to interact with AWS services via the AWS Command Line Interface (CLI), AWS SDKs, PowerShell tools, or direct API calls. To maintain security, it is recommended that all access keys be rotated regularly to minimize the risk of unauthorized access.", + "AdditionalInformation": "Regularly rotating access keys reduces the risk of compromised credentials being exploited. If an access key is leaked, cracked, or stolen, rotating it limits the window of opportunity for malicious use. Additionally, rotating keys ensures that inactive or outdated credentials cannot be used for unauthorized access, enhancing overall security and compliance.", + "LevelOfRisk": 2 + } + ] + }, + { + "Id": "1.1.12", + "Description": "Ensure credentials unused for 90 days or greater are disabled", + "Checks": [ + "iam_user_accesskey_unused", + "iam_user_console_access_unused" + ], + "Attributes": [ + { + "Title": "Credentials unused for 90 days disabled", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "AWS IAM credentials, such as passwords and access keys, grant access to AWS resources. Credentials that remain unused for 90 days or more pose a security risk, as they may belong to inactive users or forgotten accounts. It is recommended to disable or remove IAM credentials that have not been used for 90 days to reduce the risk of unauthorized access.", + "AdditionalInformation": "Disabling unused credentials minimizes the attack surface by ensuring that inactive or abandoned accounts cannot be exploited by attackers. Stale credentials may become a target for brute-force attacks, credential stuffing, or insider threats. Regularly auditing and deactivating unused credentials helps maintain a least privilege security model, reducing the likelihood of unauthorized access.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.1.13", + "Description": "Ensure IAM password policy expires passwords within 90 days or less", + "Checks": [ + "iam_password_policy_expires_passwords_within_90_days_or_less" + ], + "Attributes": [ + { + "Title": "IAM password expires within 90 days", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "IAM password policies can be configured to enforce password expiration after a defined period. It is recommended that passwords be set to expire within 90 days or less to ensure users regularly update their credentials. This helps mitigate security risks associated with stale or compromised passwords that remain active for extended periods.", + "AdditionalInformation": "Requiring password expiration within 90 days or less reduces the risk of credential-based attacks, such as brute-force attacks and credential stuffing, by ensuring that old passwords cannot be used indefinitely. If a password has been exposed or compromised without detection, regular expiration limits the window of opportunity for an attacker to exploit it. This policy enforces stronger access control and aligns with industry security best practices.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "1.1.14", + "Description": "Ensure no root account access key exists", + "Checks": [ + "iam_no_root_access_key" + ], + "Attributes": [ + { + "Title": "No root access key", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "The root account in AWS has unrestricted administrative privileges and should be protected with the highest security measures. Access keys provide programmatic access to AWS, but when linked to the root account, they pose a significant security risk. It is recommended that no access keys be associated with the root account, ensuring that all programmatic access is managed through IAM roles and users with least privilege access.", + "AdditionalInformation": "The root account holds the highest level of privileges in an AWS environment. AWS Access Keys enable programmatic access to AWS resources, but when associated with the root account, they pose a significant security risk. It is recommended to remove all access keys linked to the root account to minimize potential attack vectors. Eliminating root access keys reduces the risk of unauthorized access and enforces the use of role-based IAM accounts with least privilege, promoting a more secure and controlled access management approach.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.2.1", + "Description": "Ensure IAM policies are attached only to groups or roles", + "Checks": [ + "iam_policy_attached_only_to_group_or_roles" + ], + "Attributes": [ + { + "Title": "IAM policies attached to group or roles", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "IAM policies define permissions that control access to AWS resources. To ensure scalability, security, and manageability, it is recommended that IAM policies be attached only to groups or roles rather than individual users. By assigning permissions at the group or role level, organizations can apply consistent security policies and avoid permission sprawl.", + "AdditionalInformation": "Attaching policies to groups or roles simplifies access control, reduces security risks, and improves compliance tracking. This approach prevents overprivileged accounts and ensures a structured, scalable IAM policy framework.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.2.2", + "Description": "Ensure IAM users receive permissions only through groups", + "Checks": [ + "iam_policy_attached_only_to_group_or_roles" + ], + "Attributes": [ + { + "Title": "IAM users get permissions through groups", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "IAM users gain access to AWS services, functions, and data through IAM policies. There are four ways to assign policies to a user: 1.Inline (User-Specific) Policy – Editing the policy directly within the user’s profile.2.Directly Attached Policy – Assigning a standalone policy to a user.3.Group-Based Policy (Recommended) – Adding the user to an IAM group with an attached policy. 4.Group with Inline Policy – Assigning an inline policy to a group that includes the user.Among these methods, only the third approach (group-based policies) is recommended for security and manageability.", + "AdditionalInformation": "Managing IAM permissions exclusively through groups ensures consistent, scalable, and role-based access control. This approach reduces the risk of excessive privileges, simplifies auditing, and aligns user permissions with organizational roles.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.3.1", + "Description": "Ensure IAM policies that allow full *:* administrative privileges are not attached", + "Checks": [ + "iam_aws_attached_policy_no_administrative_privileges", + "iam_customer_attached_policy_no_administrative_privileges" + ], + "Attributes": [ + { + "Title": "IAM policies with full privileges not attached", + "Section": "1. IAM", + "SubSection": "1.3 Privilege Escalation Prevention", + "AttributeDescription": "IAM policies define permissions for users, groups, and roles, controlling access to AWS resources. Following the principle of least privilege, users should be granted only the permissions necessary to perform their tasks. Instead of assigning broad administrative privileges, permissions should be carefully crafted to allow only the required actions.", + "AdditionalInformation": "Starting with minimal permissions and granting additional access as needed is significantly more secure than providing excessive permissions and attempting to restrict them later. Assigning full administrative privileges increases the risk of unauthorized or accidental actions that could compromise AWS resources. IAM policies containing Effect: Allow, Action: , Resource: should be removed to prevent unrestricted access and enforce security best practices.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.2.3", + "Description": "Ensure a support role has been created to manage incidents with AWS Support", + "Checks": [ + "iam_support_role_created" + ], + "Attributes": [ + { + "Title": "Support role exists to manage incidents", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "AWS offers a Support Center for incident notification, response, technical support, and customer service assistance. To ensure secure and controlled access, an IAM role should be created with a properly assigned policy, allowing only authorized users to manage incidents with AWS Support.", + "AdditionalInformation": "Implementing least privilege access control ensures that only designated users can interact with AWS Support. Assigning an IAM role with a specific policy limits access to only necessary actions, reducing the risk of unauthorized modifications or exposure of sensitive account information.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.2.4", + "Description": "Ensure IAM instance roles are used for AWS resource access from instances", + "Checks": [ + "ec2_instance_profile_attached" + ], + "Attributes": [ + { + "Title": "Roles used for resource access from instances", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "AWS instances can access AWS resources either by embedding access keys in API calls or by assigning an IAM role with the necessary permissions. Using IAM roles ensures secure, controlled access without hardcoding credentials.", + "AdditionalInformation": "IAM roles eliminate the risks associated with hardcoded credentials, reducing exposure to external threats. Unlike access keys, which can be used outside AWS if compromised, IAM roles require an attacker to maintain control of an instance to exploit privileges. Additionally, IAM roles simplify credential management by ensuring permissions are automatically updated without the need for manual key rotation.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "4.1.3", + "Description": "Ensure that all expired SSL/TLS certificates stored in AWS IAM are removed", + "Checks": [ + "iam_no_expired_server_certificates_stored" + ], + "Attributes": [ + { + "Title": "Expired SSL/TLS certificates removed", + "Section": "4. Encryption", + "SubSection": "4.1 In-Transit", + "AttributeDescription": "To enable HTTPS connections for applications and websites hosted on AWS, an SSL/TLS server certificate is required. AWS provides two options for managing certificates: AWS Certificate Manager (ACM) – The preferred method for managing SSL/TLS certificates, automating renewals and deployment. IAM Certificate Storage – Used only when deploying SSL/TLS certificates in regions not supported by ACM. IAM securely encrypts private keys and stores them, but certificates must be obtained from an external provider. ACM certificates cannot be uploaded to IAM, and IAM certificates cannot be managed from the IAM Console.", + "AdditionalInformation": "Removing expired SSL/TLS certificates prevents the accidental deployment of invalid certificates, which could cause service disruptions, security warnings, and loss of credibility for applications using AWS services like Elastic Load Balancer (ELB). As a best practice, expired certificates should be deleted to maintain a secure and trusted application environment.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.2.5", + "Description": "Avoid the use of the 'root' account", + "Checks": [ + "iam_avoid_root_usage" + ], + "Attributes": [ + { + "Title": "Don't use root account", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "The root account in AWS has unrestricted administrative privileges and should be used only for initial account setup and emergency scenarios. Regular operations should be performed using IAM users or roles with least privilege access to minimize security risks.", + "AdditionalInformation": "Using the root account increases the risk of unauthorized access, accidental misconfigurations, and privilege misuse. By restricting root account usage and delegating tasks to IAM users or roles, organizations can enforce better access control, auditing, and security best practices.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.2.6", + "Description": "Ensure that IAM Access Analyzer is enabled for all regions", + "Checks": [ + "accessanalyzer_enabled" + ], + "Attributes": [ + { + "Title": "Access Analyzer enabled", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "Enable IAM Access Analyzer for all AWS regions to monitor IAM policies and identify resources with unintended external access. IAM Access Analyzer, introduced at AWS re:Invent 2019, scans resource-based policies and provides visibility into which resources—such as KMS keys, IAM roles, S3 buckets, Lambda functions, and SQS queues—are accessible by external accounts or federated users. This allows administrators to enforce least privilege access and mitigate unauthorized access risks. IAM Access Analyzer operates within the same AWS region as the resources being analyzed.", + "AdditionalInformation": "IAM Access Analyzer enhances security visibility by detecting AWS resources shared with external entities, helping organizations identify potential security risks and ensure compliance with least privilege principles. It continuously evaluates resource-based policies using logic-based analysis, allowing teams to promptly remediate misconfigurations that could lead to unauthorized access or data exposure.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.2.7", + "Description": "Ensure IAM users are managed centrally via identity federation or AWS Organizations for multi-account environments", + "Checks": [ + "iam_check_saml_providers_sts" + ], + "Attributes": [ + { + "Title": "IAM users managed centrally or by organizations", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "In multi-account AWS environments, centralizing IAM user management improves control, security, and access management efficiency. Instead of creating separate IAM users in each account, access should be managed through role assumption. This can be achieved using AWS Organizations or federation with an external identity provider (e.g., AWS IAM Identity Center, Okta, or Active Directory).", + "AdditionalInformation": "Centralizing IAM user management into a single identity store simplifies administration, reduces the risk of access misconfigurations, and enforces consistent security policies across all accounts. This approach enhances security, scalability, and compliance while minimizing user duplication and permission errors.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.3.2", + "Description": "Ensure access to AWSCloudShellFullAccess is restricted", + "Checks": [ + "iam_policy_cloudshell_admin_not_attached" + ], + "Attributes": [ + { + "Title": "AWSCloudShellFullAccess restricted", + "Section": "1. IAM", + "SubSection": "1.3 Privilege Escalation Prevention", + "AttributeDescription": "AWS CloudShell provides a managed command-line interface (CLI) for interacting with AWS services. The AWSCloudShellFullAccess IAM policy grants full access to CloudShell, including file upload and download capabilities between a user’s local system and the CloudShell environment. Within CloudShell, users have sudo privileges and unrestricted internet access, making it possible to install software—such as file transfer tools—that could facilitate data movement to external servers.", + "AdditionalInformation": "Access to AWSCloudShellFullAccess should be restricted, as it can serve as a potential data exfiltration vector for malicious or compromised cloud administrators. Granting full permissions to CloudShell increases the risk of unauthorized data transfers outside the AWS environment. AWS provides guidance on creating more restrictive IAM policies to limit file transfer capabilities, reducing security risks.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.3.3", + "Description": "Ensure no IAM Inline policies allow actions that may lead into Privilege Escalation", + "Checks": [ + "iam_inline_policy_allows_privilege_escalation" + ], + "Attributes": [ + { + "Title": "IAM policy allow privilege escalation", + "Section": "1. IAM", + "SubSection": "1.3 Privilege Escalation Prevention", + "AttributeDescription": "IAM inline policies define permissions directly attached to users, groups, or roles, rather than being managed as standalone policies. If improperly configured, these policies can grant actions that enable privilege escalation, allowing users to elevate their access beyond intended permissions. Privilege escalation can occur through misconfigured IAM roles, excessive permissions, or indirect access paths, potentially leading to unauthorized control over AWS resources.", + "AdditionalInformation": "Users with some IAM permissions are allowed to elevate their privileges up to administrator rights.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "4.1.1", + "Description": "Ensure S3 Bucket Policy is set to deny HTTP requests", + "Checks": [ + "s3_bucket_secure_transport_policy" + ], + "Attributes": [ + { + "Title": "S3 bucket deny HTTP requests", + "Section": "4. Encryption", + "SubSection": "4.1 In-Transit", + "AttributeDescription": "Amazon S3 bucket permissions can be configured using a bucket policy to enforce access restrictions. To enhance security, objects within the bucket should be made accessible only via HTTPS, ensuring encrypted data transmission.", + "AdditionalInformation": "By default, Amazon S3 accepts both HTTP and HTTPS requests, which can expose data to interception. To enforce secure access, HTTP requests should be explicitly denied in the bucket policy. Simply allowing HTTPS without blocking HTTP does not fully comply with security best practices, as unencrypted requests may still be accepted.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "4.1.2", + "Description": "Ensure that EC2 Metadata Service only allows IMDSv2", + "Checks": [ + "ec2_instance_imdsv2_enabled" + ], + "Attributes": [ + { + "Title": "EC2 Metadata Service only allows IMDSv2", + "Section": "4. Encryption", + "SubSection": "4.1 In-Transit", + "AttributeDescription": "AWS EC2 instances allow users to choose between Instance Metadata Service Version 1 (IMDSv1), which uses a request/response model, or Instance Metadata Service Version 2 (IMDSv2), which uses a session-based approach for enhanced security", + "AdditionalInformation": "Instance metadata refers to the data about an EC2 instance, such as host names, events, and security groups, that is used for managing and configuring the instance. When enabling the Metadata Service, users can opt for either IMDSv1, which operates via a simple request/response model, or IMDSv2, which implements session authentication for additional security. With IMDSv2, each request is secured by session-based authentication, ensuring that all interactions with the instance's metadata and credentials are protected. IMDSv1, on the other hand, may expose instances to Server-Side Request Forgery (SSRF) attacks. To improve security, Amazon recommends using IMDSv2", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.2.1", + "Description": "Ensure MFA Delete is enabled on S3 buckets", + "Checks": [ + "s3_bucket_no_mfa_delete" + ], + "Attributes": [ + { + "Title": "MFA delete enabled on S3 buckets", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Enabling MFA Delete on a sensitive or classified Amazon S3 bucket adds an extra layer of protection by requiring two-factor authentication for critical actions, such as deleting object versions or changing the bucket’s versioning state.", + "AdditionalInformation": "MFA Delete helps prevent accidental or malicious deletions by requiring an additional authentication step. This mitigates the risk of data loss due to compromised credentials or unauthorized access, ensuring that critical objects remain protected.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.2.2", + "Description": "Ensure all data in Amazon S3 has been discovered, classified, and secured when necessary", + "Checks": [ + "macie_is_enabled" + ], + "Attributes": [ + { + "Title": "Macie enabled", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Amazon S3 buckets may store sensitive data that needs to be discovered, classified, monitored, and protected to maintain security and compliance. Amazon Macie, along with third-party tools, can automatically inventory S3 buckets and identify sensitive data at scale.", + "AdditionalInformation": "Using automated data discovery and classification tools, such as Amazon Macie, enhances security by continuously monitoring S3 buckets for sensitive information. Macie leverages machine learning and pattern matching to detect and protect critical data, reducing the risk of data leaks and unauthorized access.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.1.1", + "Description": "Ensure the default security group of every VPC restricts all traffic", + "Checks": [ + "ec2_securitygroup_default_restrict_traffic" + ], + "Attributes": [ + { + "Title": "Default SG of VPC restrict all traffic", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "Each Amazon VPC includes a default security group that initially denies all inbound traffic, allows all outbound traffic, and permits unrestricted communication between instances within the group. If no security group is specified when launching an instance, it is automatically assigned to this default security group. Since security groups control stateful ingress and egress traffic, it is recommended to restrict all inbound and outbound traffic in the default security group.", + "AdditionalInformation": "Restricting all traffic in the default security group enforces least privilege access by ensuring that AWS resources are explicitly assigned to well-defined security groups. This approach reduces unintended exposure, improves network segmentation, and promotes secure resource placement within AWS environments.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "2.1.2", + "Description": "Ensure routing tables for VPC peering are least access", + "Checks": [ + "vpc_peering_routing_tables_with_least_privilege" + ], + "Attributes": [ + { + "Title": "Routing tables for VPC least access", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "After establishing a VPC peering connection, routing tables must be updated to enable communication between the peered VPCs. Routes can be configured with granular specificity, allowing connections to be restricted to a single host or a specific subnet within the peered VPC.", + "AdditionalInformation": "Defining highly specific routes in VPC peering connections enhances security by limiting access to only the necessary resources. This minimizes the potential impact of a security breach, ensuring that resources outside the defined routes remain inaccessible, reducing the risk of lateral movement within the network.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.1.3", + "Description": "Ensure no Network ACLs allow ingress from 0.0.0.0/0 to remote server administration ports", + "Checks": [ + "ec2_networkacl_allow_ingress_any_port", + "ec2_networkacl_allow_ingress_tcp_port_22", + "ec2_networkacl_allow_ingress_tcp_port_3389" + ], + "Attributes": [ + { + "Title": "No Network ACLs allow ingress from 0.0.0.0/0 to remote server administration ports", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "Network Access Control Lists (NACLs) provide stateless filtering of ingress and egress traffic to AWS resources. It is recommended that NACLs do not allow unrestricted inbound access to remote administration ports, such as SSH (port 22) and RDP (port 3389), over TCP (6), UDP (17), or ALL (-1) protocols to prevent unauthorized access.", + "AdditionalInformation": "Exposing remote server administration ports (e.g., SSH on 22 and RDP on 3389) to the public internet increases the attack surface, making resources more vulnerable to brute-force attacks and unauthorized access. Restricting inbound access to these ports helps reduce security risks and limit potential exploitation.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.1.4", + "Description": "Ensure no security groups allow ingress from 0.0.0.0/0 to remote server administration ports", + "Checks": [ + "ec2_securitygroup_allow_ingress_from_internet_to_all_ports", + "ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22", + "ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389" + ], + "Attributes": [ + { + "Title": "No SG allow ingress from 0.0.0.0/0 to remote server administration ports", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "Security groups enforce stateful filtering of ingress and egress traffic to AWS resources. To enhance security, no security group should allow unrestricted inbound access to remote administration ports, such as SSH (port 22) and RDP (port 3389), over TCP (6), UDP (17), or ALL (-1) protocols.", + "AdditionalInformation": "Exposing remote administration ports to the public internet significantly increases the attack surface, making resources more vulnerable to brute-force attacks, exploitation, and unauthorized access. Restricting ingress traffic to these ports helps reduce security risks and prevent potential system compromises.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "2.2.3", + "Description": "Ensure EBS snapshots are not publicly accessible", + "Checks": [ + "ec2_ebs_public_snapshot" + ], + "Attributes": [ + { + "Title": "EBS snapshots nor publicy accessible", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Amazon Elastic Block Store (EBS) snapshots contain backups of EC2 volumes, which may include sensitive data such as credentials, application configurations, or customer information. EBS snapshots should never be publicly accessible to prevent unauthorized access and data exposure. By default, snapshots are private, but they can be manually shared with other AWS accounts or made public, which poses a significant security risk if misconfigured.", + "AdditionalInformation": "Exposing EBS snapshots publicly increases the risk of data breaches, unauthorized access, and compliance violations. Attackers can scan for publicly accessible snapshots and extract sensitive information. To prevent data leaks, snapshots should be restricted to specific AWS accounts or kept private unless explicitly needed for sharing. Implementing proper access controls helps protect critical data and maintain compliance with security best practices.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "4.2.1", + "Description": "Ensure EBS volume encryption is enabled in all regions", + "Checks": [ + "ec2_ebs_volume_encryption" + ], + "Attributes": [ + { + "Title": "EBS volume encryption", + "Section": "4. Encryption", + "SubSection": "4.2 At-Rest", + "AttributeDescription": "Amazon Elastic Compute Cloud (EC2) supports encryption at rest for Elastic Block Store (EBS) volumes, ensuring that stored data remains protected. While EBS encryption is disabled by default, organizations can enforce automatic encryption of newly created volumes to enhance data security and compliance.", + "AdditionalInformation": "Enforcing EBS volume encryption reduces the risk of data exposure, unauthorized access, and compliance violations. If encryption remains intact, even if storage is compromised, data remains unreadable to unauthorized users. Encrypting data at rest ensures that sensitive information is protected against accidental disclosure, insider threats, and external attacks.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "4.2.2", + "Description": "Ensure that encryption-at-rest is enabled for RDS instances", + "Checks": [ + "rds_instance_storage_encrypted" + ], + "Attributes": [ + { + "Title": "RDS instances encryption at rest enabled", + "Section": "4. Encryption", + "SubSection": "4.2 At-Rest", + "AttributeDescription": "Amazon Relational Database Service (RDS) supports encryption at rest using the industry-standard AES-256 encryption algorithm to secure database instances and their associated storage. Once enabled, RDS encryption automatically handles access authentication and decryption, ensuring secure data storage with minimal performance impact.", + "AdditionalInformation": "Databases often contain sensitive and business-critical information, making encryption essential to protect against unauthorized access and data breaches. Enabling RDS encryption ensures that underlying storage, automated backups, read replicas, and snapshots are all encrypted, preventing accidental or malicious data exposure while maintaining compliance with security best practices.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "2.3.1", + "Description": "Ensure SNS topics do not allow global send or subscribe", + "Checks": [ + "sns_topics_not_publicly_accessible" + ], + "Attributes": [ + { + "Title": "SNS topics do not allow global send or subscribe", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Amazon Simple Notification Service (SNS) topics enable messaging between AWS services, applications, and users. By default, SNS topics should be restricted to trusted AWS accounts or IAM roles to prevent unauthorized access. Allowing global send (sns:Publish) or subscribe (sns:Subscribe) permissions means any AWS account or unauthenticated entity could send messages or subscribe to the topic, potentially leading to spam, data leaks, or misuse of notifications.", + "AdditionalInformation": "SNS topics with global send or subscribe permissions expose AWS environments to unauthorized message injection, data exfiltration, and Denial-of-Service (DoS) attacks. An attacker could flood an SNS topic with malicious or fraudulent messages, leading to unexpected charges or service disruptions. Restricting access ensures that only authorized AWS accounts, applications, or IAM roles can send and receive messages, reducing security risks and protecting system integrity.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.2.4", + "Description": "Ensure RDS snapshots are not publicly accessible", + "Checks": [ + "rds_instance_no_public_access" + ], + "Attributes": [ + { + "Title": "RDS snapshots not publicy accessible", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Amazon Relational Database Service (RDS) snapshots store backups of database instances, potentially containing sensitive data such as customer records, credentials, and application configurations. By default, RDS snapshots are private, but they can be shared with other AWS accounts or made public, which can lead to data exposure if misconfigured. To prevent unauthorized access, RDS snapshots should never be publicly accessible unless explicitly required and secured.", + "AdditionalInformation": "Publicly accessible RDS snapshots create a serious security risk, as anyone can copy the snapshot and restore the database, exposing sensitive information. Attackers actively scan for publicly available snapshots to extract credentials, personally identifiable information (PII), or business-critical data. To prevent unauthorized access and data leaks, RDS snapshots should remain private or restricted to trusted AWS accounts following the principle of least privilege.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.2.5", + "Description": "Ensure the S3 bucket CloudTrail logs is not publicly accessible", + "Checks": [ + "cloudtrail_logs_s3_bucket_is_not_publicly_accessible" + ], + "Attributes": [ + { + "Title": "S3 bucket CloudTrail logs is not publicly accessible", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "AWS CloudTrail logs record account activity, including API calls, user actions, and resource modifications, making them critical for security monitoring and compliance auditing. These logs are typically stored in an Amazon S3 bucket for long-term retention and analysis. To protect sensitive security data, the S3 bucket storing CloudTrail logs should never be publicly accessible.", + "AdditionalInformation": "If the S3 bucket containing CloudTrail logs is publicly accessible, unauthorized users could access sensitive security information, including API calls, IAM activity, and infrastructure changes. Exposing CloudTrail logs can help attackers reconstruct system activity, identify vulnerabilities, and plan targeted attacks. To prevent data leaks and unauthorized access, CloudTrail log buckets should be restricted using IAM policies, bucket policies, and S3 Block Public Access settings.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.2.6", + "Description": "Ensure Redshift clusters do not have a public endpoint", + "Checks": [ + "redshift_cluster_public_access" + ], + "Attributes": [ + { + "Title": "Redshift clusters dont have a public endpoint", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Amazon Redshift clusters store and process large-scale data for analytics and business intelligence workloads. By default, Redshift clusters can be configured with a public endpoint, making them accessible from the internet. To minimize security risks, Redshift clusters should be restricted to private networks and should not have a public endpoint unless absolutely necessary and properly secured.", + "AdditionalInformation": "Exposing a Redshift cluster to the public internet increases the risk of unauthorized access, data breaches, and cyberattacks. Attackers could attempt brute-force login attempts, exploit misconfigurations, or access sensitive business data. Keeping Redshift clusters within private subnets and restricting access via security groups, VPC settings, and IAM policies ensures that only trusted networks and users can connect, reducing the attack surface and enhancing data security.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.1.5", + "Description": "Ensure ApiGateway endpoint is not public", + "Checks": [ + "apigateway_restapi_public" + ], + "Attributes": [ + { + "Title": "ApiGateway endpoint is public", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "AWS API Gateway allows developers to create, deploy, and manage APIs that connect applications to backend services. By default, API Gateway endpoints can be publicly accessible, meaning they can be invoked from anywhere on the internet. To enhance security, API Gateway endpoints should be restricted to private networks using VPC links, private API settings, or access control mechanisms to ensure that only authorized entities can interact with the API.", + "AdditionalInformation": "Publicly accessible API Gateway endpoints can expose backend services to unauthorized access, data leaks, and potential exploitation. Attackers may attempt brute-force authentication, injection attacks, or abuse API functionality if access is not properly restricted. To reduce the attack surface, API Gateway endpoints should be limited to internal use or protected with authentication, IAM permissions, WAF rules, or private VPC access to ensure only trusted users and systems can invoke the API.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.3.2", + "Description": "Ensure that amazon EC2 instances launched using Auto Scaling group launch configurations do not have Public IP addresses", + "Checks": [ + "autoscaling_group_launch_configuration_no_public_ip" + ], + "Attributes": [ + { + "Title": "EC2 instances launched using autoscaling group launch configurations do not have Public IP addresses", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Amazon EC2 instances launched via Auto Scaling groups can automatically scale workloads based on demand. By default, instances can be assigned public IP addresses, making them accessible from the internet. To enhance security, EC2 instances in Auto Scaling group launch configurations should not have public IP addresses, ensuring they remain within a private network and are only accessible through secure channels such as bastion hosts or VPN connections.", + "AdditionalInformation": "Assigning public IP addresses to Auto Scaling group instances increases the risk of unauthorized access, brute-force attacks, and potential exploitation. Publicly accessible instances can become targets for malicious actors, leading to data breaches or service disruptions. By restricting public IP addresses, organizations can enforce network segmentation, ensuring that EC2 instances are accessed securely via private networks, VPNs, or load balancers.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.3.3", + "Description": "Ensure that lambda functions have not resource-based policy set as Public", + "Checks": [ + "awslambda_function_not_publicly_accessible" + ], + "Attributes": [ + { + "Title": "Lambda functions have not resource-based policy set as Public", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "AWS Lambda functions allow running code without managing servers. Lambda supports resource-based policies that define who can invoke the function. If a Lambda function’s resource-based policy allows public access, it can be triggered by anyone on the internet, posing a significant security risk. To prevent unauthorized execution, Lambda functions should not be publicly accessible unless explicitly required and properly secured.", + "AdditionalInformation": "Publicly accessible Lambda functions can be abused for unauthorized execution, leading to service disruptions, data exfiltration, or increased AWS costs due to excessive invocations. Attackers could exploit misconfigured functions to perform malicious actions, extract sensitive data, or abuse compute resources. To reduce security risks, Lambda functions should only be accessible to specific IAM roles, AWS services, or trusted accounts, enforcing least privilege access and maintaining secure function execution.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.3.4", + "Description": "Ensure that Lambda have not public URL Function", + "Checks": [ + "awslambda_function_url_public" + ], + "Attributes": [ + { + "Title": "Lambda have not public URL Function", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "AWS Lambda function URLs provide a built-in HTTPS endpoint that allows functions to be invoked directly via HTTP requests. By default, Lambda function URLs can be publicly accessible, meaning anyone on the internet can invoke the function if proper access controls are not enforced. To minimize security risks, Lambda function URLs should not be publicly accessible unless explicitly required and properly restricted.", + "AdditionalInformation": "Exposing Lambda function URLs to the public internet increases the risk of unauthorized access, API abuse, and potential exploitation. Attackers may invoke functions maliciously, leading to data leaks, unauthorized operations, increased costs, or denial-of-service (DoS) attacks. To enhance security, Lambda function URLs should be restricted to specific IAM roles, AWS services, or trusted clients, ensuring that only authorized users can trigger the function.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.3.5", + "Description": "Ensure DMS instances are not publicly accessible", + "Checks": [ + "dms_instance_no_public_access" + ], + "Attributes": [ + { + "Title": "DMS instances are not publicly accessible", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "AWS Database Migration Service (DMS) instances facilitate data migration between databases across on-premises and cloud environments. By default, DMS instances can be configured with publicly accessible endpoints, making them reachable from the internet. To enhance security and prevent unauthorized access, DMS instances should not be publicly accessible unless explicitly required and properly secured.", + "AdditionalInformation": "Publicly accessible DMS instances increase the risk of unauthorized access, data interception, and potential exploitation. Attackers could target exposed instances to steal or manipulate sensitive data during migration. Restricting public access ensures data migrations remain secure, limiting access to trusted networks, private VPCs, and authorized IAM roles, thereby reducing the attack surface and ensuring compliance with security best practices.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.2.7", + "Description": "Ensure DocumentDB manual cluster snapshot is not public", + "Checks": [ + "documentdb_cluster_public_snapshot" + ], + "Attributes": [ + { + "Title": "DocumentDB manual cluster snapshot is not public", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "AWS DocumentDB manual cluster snapshots store backups of DocumentDB clusters, containing sensitive database information such as application data, configurations, and credentials. By default, snapshots are private, but they can be manually shared or made public, which poses a significant security risk. To prevent unauthorized access, DocumentDB manual cluster snapshots should never be publicly accessible unless explicitly required and properly secured.", + "AdditionalInformation": "Publicly accessible DocumentDB snapshots expose critical database information, increasing the risk of data breaches, unauthorized access, and compliance violations. Attackers could restore the snapshot in their own AWS account and gain full access to the database content. To protect sensitive data, DocumentDB snapshots should only be shared with specific AWS accounts or remain private, following least privilege principles and AWS security best practices.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.3.6", + "Description": "Ensure there are no EC2 AMIs set as Public", + "Checks": [ + "ec2_ami_public" + ], + "Attributes": [ + { + "Title": "No EC2 AMIs set as Public", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Amazon EC2 Amazon Machine Images (AMIs) contain pre-configured operating system and application environments that can be used to launch new EC2 instances. By default, AMIs are private, but they can be manually shared or made public, which poses a security risk if sensitive data or proprietary configurations are exposed. To prevent unauthorized access and data leaks, EC2 AMIs should not be set as public unless explicitly required and properly secured.", + "AdditionalInformation": "Publicly accessible EC2 AMIs increase the risk of data exposure, unauthorized access, and compliance violations. Attackers could copy, analyze, or exploit public AMIs to extract sensitive credentials, misconfigurations, or proprietary software. Keeping AMIs private or shared only with specific AWS accounts ensures that only trusted users or teams can access and launch instances from them, reducing security risks and preventing unintended data exposure.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.2.8", + "Description": "Ensure that public access to EBS snapshots is disabled", + "Checks": [ + "ec2_ebs_snapshot_account_block_public_access" + ], + "Attributes": [ + { + "Title": "Public access to EBS snapshots is disabled", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Amazon Elastic Block Store (EBS) snapshots are backups of EC2 volumes that may contain sensitive data, such as credentials, application configurations, and customer records. By default, EBS snapshots are private, but they can be manually shared or made public, allowing anyone to copy or restore them. To prevent unauthorized access and data exposure, public access to EBS snapshots should always be disabled.", + "AdditionalInformation": "Publicly accessible EBS snapshots pose a significant security risk, as attackers can restore and extract sensitive data if a snapshot is exposed. Misconfigured public snapshots have led to data breaches and compliance violations in the past. To mitigate this risk, EBS snapshots should be kept private or explicitly shared only with trusted AWS accounts, following least privilege principles to protect critical data and maintain security compliance.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.1.6", + "Description": "Ensure that ec2 common ports from instances are not internet-exposed", + "Checks": [ + "ec2_instance_port_cassandra_exposed_to_internet", + "ec2_instance_port_cifs_exposed_to_internet", + "ec2_instance_port_elasticsearch_kibana_exposed_to_internet", + "ec2_instance_port_ftp_exposed_to_internet", + "ec2_instance_port_kafka_exposed_to_internet", + "ec2_instance_port_kerberos_exposed_to_internet", + "ec2_instance_port_ldap_exposed_to_internet", + "ec2_instance_port_memcached_exposed_to_internet", + "ec2_instance_port_mongodb_exposed_to_internet", + "ec2_instance_port_mysql_exposed_to_internet", + "ec2_instance_port_oracle_exposed_to_internet", + "ec2_instance_port_postgresql_exposed_to_internet", + "ec2_instance_port_rdp_exposed_to_internet", + "ec2_instance_port_redis_exposed_to_internet", + "ec2_instance_port_sqlserver_exposed_to_internet", + "ec2_instance_port_ssh_exposed_to_internet", + "ec2_instance_port_telnet_exposed_to_internet" + ], + "Attributes": [ + { + "Title": "Common ports from instances are not exposed", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "Amazon EC2 instances can run various services that communicate over common ports such as 22 (SSH), 3389 (RDP), 80 (HTTP), and 443 (HTTPS) (and more). If these ports are open to the internet, attackers can attempt unauthorized access, brute-force attacks, or exploit known vulnerabilities. To reduce security risks, EC2 instances should be configured so that common ports are not exposed to the public internet, unless explicitly required and properly secured.", + "AdditionalInformation": "Exposing common ports directly to the internet increases the attack surface and risks unauthorized access or system compromise. Attackers frequently scan for open ports to target misconfigured or unpatched services. To enhance security, access to EC2 common ports should be restricted using security groups, network ACLs, and VPC configurations, ensuring that only trusted networks and users can connect.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.1.7", + "Description": "Ensure that ec2 security groups do not allow ingress from internet to common ports", + "Checks": [ + "ec2_securitygroup_allow_ingress_from_internet_to_high_risk_tcp_ports", + "ec2_securitygroup_allow_ingress_from_internet_to_port_mongodb_27017_27018", + "ec2_securitygroup_allow_ingress_from_internet_to_tcp_ftp_port_20_21", + "ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_22", + "ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_3389", + "ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_cassandra_7199_9160_8888", + "ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_elasticsearch_kibana_9200_9300_5601", + "ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_kafka_9092", + "ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_memcached_11211", + "ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_mysql_3306", + "ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_oracle_1521_2483", + "ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_postgres_5432", + "ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_redis_6379", + "ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_sql_server_1433_1434", + "ec2_securitygroup_allow_ingress_from_internet_to_tcp_port_telnet_23" + ], + "Attributes": [ + { + "Title": "Common ports from security groups do not allow ingress traffic", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "Amazon EC2 security groups act as virtual firewalls, controlling inbound and outbound traffic to instances. If a security group allows ingress (incoming traffic) from the internet (0.0.0.0/0 or ::/0) to common ports such as 22 (SSH), 3389 (RDP), 80 (HTTP), or 443 (HTTPS) (and more), it creates a significant security risk. To minimize exposure, security groups should be configured to restrict ingress access to these ports to only trusted IP addresses or internal networks.", + "AdditionalInformation": "Allowing unrestricted inbound traffic to common ports increases the risk of brute-force attacks, unauthorized access, and exploitation of vulnerabilities. Attackers actively scan for open ports on public-facing EC2 instances to gain unauthorized control. To reduce security risks, ingress rules should be restricted using least privilege principles, IP whitelisting, VPN access, or bastion hosts, ensuring that only authorized users and networks can connect.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "2.3.7", + "Description": "Ensure there are no ECR repositories set as Public", + "Checks": [ + "ecr_repositories_not_publicly_accessible" + ], + "Attributes": [ + { + "Title": "No ECR repositories set as Public", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Amazon Elastic Container Registry (ECR) repositories store and manage container images for deployment in AWS services. By default, ECR repositories are private, but they can be manually configured as public, allowing anyone to pull container images. To prevent unauthorized access and potential security risks, ECR repositories should not be set as public unless explicitly required and properly secured.", + "AdditionalInformation": "Publicly accessible ECR repositories expose container images to unauthorized users, increasing the risk of intellectual property theft, malware injection, or unauthorized use of containerized applications. Attackers could analyze public images for vulnerabilities or use misconfigured images for malicious purposes. To mitigate this risk, ECR repositories should remain private or be explicitly shared with trusted AWS accounts, ensuring secure access and compliance with best practices.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.3.8", + "Description": "Ensure ECS services do not assign public IPs automatically", + "Checks": [ + "ecs_service_no_assign_public_ip" + ], + "Attributes": [ + { + "Title": "No ECS services assign public IPs automatically", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Amazon Elastic Container Service (ECS) allows running containerized applications on AWS. By default, ECS services can be configured to assign public IP addresses to tasks or services, making them directly accessible from the internet. To enhance security, ECS services should be configured not to automatically assign public IPs, ensuring they remain within a private network and are accessed securely through internal load balancers, VPC peering, or private endpoints.", + "AdditionalInformation": "Automatically assigning public IPs to ECS services exposes them to the internet, increasing the risk of unauthorized access, brute-force attacks, and data breaches. Attackers could target publicly exposed containers, exploit vulnerabilities, or disrupt services. To mitigate these risks, ECS services should be restricted to private subnets and accessed through secure networking configurations, such as AWS PrivateLink, VPNs, or internal ALBs.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.3.9", + "Description": "Ensure ECS task sets do not automatically assign public IP addresses", + "Checks": [ + "ecs_task_set_no_assign_public_ip" + ], + "Attributes": [ + { + "Title": "No ECS tasks sets assign public IPs autocatically", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Amazon Elastic Container Service (ECS) task sets manage multiple versions of a service during deployments. By default, ECS task sets can be configured to automatically assign public IP addresses, making them directly accessible from the internet. To enhance security, ECS task sets should be restricted to private subnets and should not automatically receive public IP addresses unless explicitly required and properly secured.", + "AdditionalInformation": "Automatically assigning public IPs to ECS task sets increases the risk of unauthorized access, cyberattacks, and data exposure. Publicly exposed tasks can be targeted by attackers, leading to service disruptions or exploitation of vulnerabilities. To mitigate these risks, ECS task sets should be restricted to private networking environments, accessed only through internal load balancers, VPC endpoints, or secure VPN connections, ensuring controlled and secure communication.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.2.9", + "Description": "Ensure EFS mount targets are not publicly accessible", + "Checks": [ + "efs_mount_target_not_publicly_accessible" + ], + "Attributes": [ + { + "Title": "No EFS mount targets are publicly accessible", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Amazon Elastic File System (EFS) provides scalable, shared file storage for AWS services. EFS mount targets allow instances to connect to the file system within a VPC. By default, EFS mount targets can be configured with public accessibility, making them reachable from the internet. To enhance security, EFS mount targets should be restricted to private networks and should not be publicly accessible unless explicitly required and properly secured.", + "AdditionalInformation": "Publicly accessible EFS mount targets expose stored data to unauthorized access, cyberattacks, and data breaches. Attackers could exploit misconfigured security groups or network ACLs to access or modify files. To reduce security risks, EFS mount targets should be restricted to private subnets, with access limited to trusted VPCs, security groups, and IAM roles, ensuring secure file storage and controlled access.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.2.10", + "Description": "Ensure that EFS do not have policies which allow access to any client within the VPC", + "Checks": [ + "efs_not_publicly_accessible" + ], + "Attributes": [ + { + "Title": "No EFS have policies which allow access to any client within the VPC", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Amazon Elastic File System (EFS) provides shared storage that can be accessed by multiple EC2 instances and services within a VPC. EFS access is controlled through resource-based policies that define which clients can connect. If an EFS policy allows access to any client within the VPC, it increases the risk of unauthorized access and data exposure. To enhance security, EFS policies should be restricted to specific IAM roles, security groups, or trusted resources instead of granting broad access to all VPC clients.", + "AdditionalInformation": "Allowing any client within a VPC to access an EFS file system increases the risk of data leaks, accidental modifications, or unauthorized access by compromised instances or misconfigured services. To minimize exposure, EFS policies should enforce least privilege access, restricting permissions to specific instances, roles, or users that require access, ensuring secure file storage and controlled data access.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.1.8", + "Description": "Ensure EKS cluster Network Policy is Enabled and Set as Appropriate", + "Checks": [ + "eks_cluster_network_policy_enabled" + ], + "Attributes": [ + { + "Title": "EKS cluster Network Policy is Enabled and Set as Appropriate", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "A Network Policy defines how network traffic is controlled and restricted between workloads within a cloud environment. Enforcing network policies ensures that only authorized communication occurs between services, reducing the risk of unauthorized access and lateral movement. It is recommended to enable Network Policies and configure them appropriately to enforce least privilege access and secure communication between workloads.", + "AdditionalInformation": "Without properly configured Network Policies, workloads may be exposed to unnecessary or unauthorized network traffic, increasing the risk of data leaks, exploitation, or lateral movement by attackers. By enabling and enforcing Network Policies, organizations can limit communication between workloads, ensuring that only approved and necessary network interactions are allowed, minimizing the attack surface and enhancing overall security.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.1.9", + "Description": "Ensure EKS Clusters are not publicly accessible", + "Checks": [ + "eks_cluster_not_publicly_accessible" + ], + "Attributes": [ + { + "Title": "EKS Clusters are not publicly accessible", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "Amazon Elastic Kubernetes Service (EKS) clusters manage containerized applications and can be configured with either private or public access. If an EKS cluster is publicly accessible, it means that the Kubernetes API endpoint can be reached from the internet, increasing the risk of unauthorized access and attacks. To enhance security, EKS clusters should be restricted to private networks and accessed only through secure VPNs, VPC peering, or AWS PrivateLink.", + "AdditionalInformation": "Exposing an EKS cluster to the public internet increases the risk of brute-force attacks, credential theft, and unauthorized access to Kubernetes workloads. Attackers could exploit misconfigured RBAC policies or API vulnerabilities to gain control over the cluster. To reduce security risks, EKS clusters should be configured with private endpoints, ensuring that only trusted networks and IAM-authenticated users can manage Kubernetes resources.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.1.10", + "Description": "Ensure EKS Clusters are created with Private Nodes", + "Checks": [ + "eks_cluster_private_nodes_enabled" + ], + "Attributes": [ + { + "Title": "EKS Clusters are created with Private Nodes", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "Amazon Elastic Kubernetes Service (EKS) clusters run workloads on worker nodes, which can be either public or private. If EKS clusters are created with public nodes, these nodes are assigned public IP addresses, making them accessible from the internet, which increases the risk of unauthorized access and potential attacks. To enhance security, EKS clusters should be created with private nodes that operate within private subnets and are only accessible through secured networking configurations such as VPNs, VPC peering, or AWS PrivateLink.", + "AdditionalInformation": "Using public nodes in EKS exposes Kubernetes workloads to the internet, increasing the risk of unauthorized access, lateral movement, and potential exploitation. Attackers can target misconfigured workloads, open services, or unsecured API endpoints. By creating EKS clusters with private nodes, organizations can restrict access, limit exposure to public threats, and enforce network segmentation, ensuring that workloads remain secure and isolated within a private VPC environment.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.2.11", + "Description": "Ensure Elasticache Cluster is not using a public subnet", + "Checks": [ + "elasticache_cluster_uses_public_subnet" + ], + "Attributes": [ + { + "Title": "Elasticache Cluster is not using a public subnet", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Amazon ElastiCache provides in-memory caching services using Redis and Memcached. By default, ElastiCache clusters can be deployed in either public or private subnets. If an ElastiCache cluster is placed in a public subnet, it becomes accessible from the internet, which significantly increases the risk of unauthorized access and data breaches. To enhance security, ElastiCache clusters should only be deployed in private subnets, ensuring restricted access within a VPC.", + "AdditionalInformation": "Deploying an ElastiCache cluster in a public subnet exposes it to external threats, such as unauthorized access, brute-force attacks, and potential data exfiltration. Attackers could exploit misconfigurations to access cached data or disrupt services. By restricting ElastiCache clusters to private subnets, organizations can limit access to trusted resources, enforce VPC security controls, and reduce the attack surface, ensuring secure and efficient caching operations.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.3.10", + "Description": "Ensure no Elastic Load Balancers are facing internet", + "Checks": [ + "elbv2_internet_facing" + ], + "Attributes": [ + { + "Title": "No Elastic Load Balancers are facing internet", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Amazon Elastic Load Balancers (ELBs) distribute incoming traffic across multiple targets, such as EC2 instances, containers, and Lambda functions. By default, ELBs can be configured as either internet-facing or internal (private). If an ELB is publicly accessible, it exposes backend services to the internet, increasing the risk of unauthorized access and attacks. To enhance security, ELBs should be restricted to private networks unless explicitly required and properly secured.", + "AdditionalInformation": "Publicly accessible Elastic Load Balancers can serve as entry points for unauthorized traffic, brute-force attacks, and potential data breaches. Attackers may exploit misconfigured security groups, open ports, or exposed application endpoints behind the load balancer. To reduce security risks, ELBs should be configured as internal (private), allowing access only from trusted networks, VPNs, or specific VPCs, ensuring that backend services remain protected and isolated from external threats.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.3.11", + "Description": "Ensure EMR Account Public Access Block enabled", + "Checks": [ + "emr_cluster_account_public_block_enabled" + ], + "Attributes": [ + { + "Title": "EMR Account Public Access Block enabled", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Amazon Elastic MapReduce (EMR) is a managed big data processing service that can access S3, EC2, and other AWS resources. The EMR Account Public Access Block setting helps prevent public access to EMR resources, such as data stored in S3 buckets. If this setting is not enabled, there is a risk that EMR-related data and configurations could be exposed to the public, leading to unauthorized access or data breaches. To enhance security, the Public Access Block should be enabled for the EMR account.", + "AdditionalInformation": "Allowing public access to EMR resources increases the risk of data leaks, unauthorized access, and compliance violations. Attackers could exploit misconfigured policies or publicly accessible S3 buckets to access sensitive data processed by EMR. Enabling EMR Account Public Access Block ensures that S3 data and other EMR-related resources cannot be accessed publicly, reducing exposure and maintaining strong access controls in AWS.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.3.12", + "Description": "Ensure EMR cluster is not publicly accessible", + "Checks": [ + "emr_cluster_publicly_accesible" + ], + "Attributes": [ + { + "Title": "EMR cluster is not publicly accessible", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Amazon Elastic MapReduce (EMR) is a managed service for processing big data workloads using Apache Spark, Hadoop, and other frameworks. By default, EMR clusters can be configured with public or private access. If an EMR cluster is publicly accessible, it exposes data processing nodes and services to the internet, increasing the risk of unauthorized access and potential exploitation. To enhance security, EMR clusters should only be deployed in private subnets and restricted to trusted networks.", + "AdditionalInformation": "Publicly accessible EMR clusters increase the risk of data breaches, unauthorized access, and attacks on running workloads. Malicious actors could exploit misconfigured security groups, open ports, or weak authentication settings to compromise the cluster. To reduce exposure, EMR clusters should be placed in private subnets, restricted using VPC security controls, IAM permissions, and firewall rules, ensuring secure data processing and access management.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.3.13", + "Description": "Ensure that your AWS EventBridge event bus is not exposed to everyone", + "Checks": [ + "eventbridge_bus_exposed" + ], + "Attributes": [ + { + "Title": "AWS EventBridge event bus is not exposed to everyone", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "AWS EventBridge is a serverless event bus service that enables communication between AWS services, third-party applications, and custom event sources. By default, EventBridge event buses can be configured to allow events from any AWS account or external source. If an event bus is exposed to everyone, unauthorized entities could send events to your environment, potentially leading to security risks, data injection attacks, or service disruptions. To enhance security, event buses should be restricted to specific AWS accounts, services, or trusted IAM roles.", + "AdditionalInformation": "Allowing unrestricted access to an EventBridge event bus increases the risk of malicious event injection, unauthorized access, and data manipulation. Attackers could flood the event bus with malicious events, leading to unexpected behavior, security breaches, or excessive AWS costs. To reduce exposure, event buses should be secured using IAM policies and resource-based permissions, ensuring that only trusted AWS services and accounts can send or receive events.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.2.12", + "Description": "Ensure S3 Glacier vaults have not policies which allow access to everyone", + "Checks": [ + "glacier_vaults_policy_public_access" + ], + "Attributes": [ + { + "Title": "S3 Glacier vaults have not policies which allow access to everyone", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Amazon S3 Glacier provides low-cost, long-term storage for archival data. Glacier vaults can be configured with resource-based policies that control access. If a Glacier vault policy allows access to everyone, unauthorized users could retrieve or delete archived data, leading to data exposure or loss. To enhance security, Glacier vault policies should be restricted to specific AWS accounts, IAM roles, or trusted entities, ensuring only authorized users can access or manage archived data.", + "AdditionalInformation": "Allowing public access to S3 Glacier vaults poses a significant security risk, increasing the chance of data breaches, unauthorized deletions, or compliance violations. Attackers could restore and download sensitive archived data if the vault is misconfigured. To prevent unauthorized access, Glacier vaults should have strict access controls, using IAM policies, encryption, and resource-based permissions, ensuring that only trusted users and systems can interact with archived data.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.2.13", + "Description": "Ensure Glue Data Catalogs are not publicly accessible", + "Checks": [ + "glue_data_catalogs_not_publicly_accessible" + ], + "Attributes": [ + { + "Title": "Glue Data Catalogs are not publicly accessible", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "AWS Glue Data Catalog is a centralized metadata repository used to store and manage schema information for data lakes and analytics workflows. By default, Glue Data Catalogs can be configured to allow public access, which poses a significant security risk if sensitive metadata is exposed. To enhance security, Glue Data Catalogs should be restricted to specific AWS accounts, IAM roles, or trusted services, ensuring that only authorized users can access or modify catalog information.", + "AdditionalInformation": "Allowing public access to Glue Data Catalogs increases the risk of unauthorized access, data leaks, and compliance violations. Attackers could gain insights into an organization’s data structure or modify catalog entries, leading to potential data corruption or unauthorized data exposure. To reduce security risks, Glue Data Catalogs should be secured using IAM policies, resource-based permissions, and AWS Lake Formation, ensuring that only trusted accounts and services can interact with metadata.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.3.14", + "Description": "Ensure Kafka Cluster is not exposed to the public", + "Checks": [ + "kafka_cluster_is_public" + ], + "Attributes": [ + { + "Title": "Kafka Cluster is not exposed to the public", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Amazon Managed Streaming for Apache Kafka (MSK) allows organizations to build and manage real-time data streaming applications. If a Kafka cluster is publicly accessible, it exposes data streams, configurations, and messaging topics to the internet, increasing the risk of unauthorized access, data interception, and service disruptions. To enhance security, Kafka clusters should be restricted to private networks, ensuring that only trusted AWS resources, VPCs, and IAM-authenticated users can interact with the service.", + "AdditionalInformation": "Exposing a Kafka cluster to the public internet creates significant security risks, including unauthorized data ingestion, data leaks, and message tampering. Attackers could consume, modify, or inject malicious data into Kafka topics, disrupting real-time analytics and application workflows. To mitigate these risks, Kafka clusters should be deployed in private subnets, with access restricted via VPC security groups, IAM policies, and AWS PrivateLink, ensuring secure and controlled data streaming.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.2.14", + "Description": "Ensure there are no internet exposed KMS keys", + "Checks": [ + "kms_key_not_publicly_accessible" + ], + "Attributes": [ + { + "Title": "No internet exposed KMS keys", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "AWS Key Management Service (KMS) provides secure encryption key management for data encryption and cryptographic operations. If KMS keys are exposed to the internet, unauthorized entities could potentially use, modify, or compromise encryption keys, leading to data breaches and security vulnerabilities. To enhance security, KMS keys should be restricted to trusted AWS accounts, IAM roles, and specific AWS services, ensuring that only authorized users and systems can access and manage them.", + "AdditionalInformation": "Exposing KMS keys to the public poses a critical security risk, as compromised keys can lead to unauthorized data decryption, loss of data integrity, and compliance violations. Attackers could potentially use public KMS keys to encrypt or decrypt sensitive data, undermining security controls. To prevent unauthorized access, KMS key policies should enforce strict access control using IAM permissions, VPC endpoint policies, and AWS PrivateLink, ensuring that encryption operations remain fully secured and isolated from the public internet.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.3.15", + "Description": "Ensure lightsail database is not in public mode", + "Checks": [ + "lightsail_database_public" + ], + "Attributes": [ + { + "Title": "Lightsail database not public", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "AWS Lightsail Databases provide managed database solutions for applications. If a Lightsail database is set to public mode, it is directly accessible from the internet, increasing the risk of unauthorized access and data breaches. To enhance security, Lightsail databases should be configured in private mode, ensuring they are accessible only from trusted instances, private networks, or VPN connections.", + "AdditionalInformation": "Publicly accessible Lightsail databases expose sensitive data to unauthorized access, brute-force attacks, and potential exploitation. Attackers can attempt to compromise credentials, inject malicious queries, or exfiltrate data. To mitigate these risks, Lightsail databases should remain private, with access controlled through firewalls, IAM authentication, and private networking configurations, ensuring secure database connectivity and data protection.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.3.16", + "Description": "Ensure that Lightsail instances are not publicly accessible", + "Checks": [ + "lightsail_instance_public" + ], + "Attributes": [ + { + "Title": "Lightsail instances are not publicly accessible", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "AWS Lightsail instances provide a simple way to deploy and manage cloud-based virtual machines. If a Lightsail instance is publicly accessible, it can be directly reached from the internet, increasing the risk of unauthorized access, attacks, and data breaches. To enhance security, Lightsail instances should be restricted to private access, ensuring they are reachable only through secure connections, such as VPNs, bastion hosts, or private networking configurations.", + "AdditionalInformation": "Publicly exposed Lightsail instances create a larger attack surface, making them vulnerable to brute-force attacks, unauthorized access, and exploitation of software vulnerabilities. Attackers could compromise credentials, gain control over the instance, or disrupt services. To mitigate these risks, Lightsail instances should be secured using firewalls, private IP configurations, security group restrictions, and IAM-based access controls, ensuring that only trusted users and networks can connect.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.3.17", + "Description": "Ensure MQ brokers are not publicly accessible", + "Checks": [ + "mq_broker_not_publicly_accessible" + ], + "Attributes": [ + { + "Title": "MQ brokers not publicly accessible", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "AWS MQ brokers manage message queues for applications, facilitating secure and reliable communication between distributed services. If an MQ broker is publicly accessible, it can be reached from the internet, increasing the risk of unauthorized access, message interception, and data breaches. To enhance security, MQ brokers should be restricted to private networks, ensuring they are accessible only from trusted VPCs, private endpoints, or secure VPN connections.", + "AdditionalInformation": "Publicly exposed MQ brokers pose a significant security risk, as attackers can attempt to intercept messages, inject malicious data, or disrupt message delivery. This could lead to data manipulation, unauthorized access to sensitive information, and system-wide outages. To mitigate these risks, MQ brokers should be configured within private subnets, with access restricted using security groups, IAM policies, and VPC endpoint controls, ensuring secure and controlled message queue operations.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.3.18", + "Description": "Ensure NeptuneDB manual cluster snapshot is not public", + "Checks": [ + "neptune_cluster_public_snapshot" + ], + "Attributes": [ + { + "Title": "NeptuneDB manual cluster snapshot is not public", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Amazon NeptuneDB manual cluster snapshots store backups of graph database clusters, containing sensitive data such as relationships, metadata, and application configurations. By default, NeptuneDB snapshots are private, but they can be manually shared or made public, which can expose critical database information. To enhance security, NeptuneDB manual snapshots should never be publicly accessible, ensuring they are only shared with trusted AWS accounts when necessary.", + "AdditionalInformation": "Publicly accessible NeptuneDB snapshots pose a significant security risk, as attackers could restore the snapshot in their own AWS account and gain full access to the database contents. This could lead to data leaks, compliance violations, and unauthorized access to sensitive business information. To prevent data exposure, NeptuneDB snapshots should be restricted using IAM policies and AWS resource-based permissions, ensuring that only authorized users and services can access and manage database backups securely.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.3.19", + "Description": "Ensure Neptune Cluster is not using a public subnet", + "Checks": [ + "neptune_cluster_uses_public_subnet" + ], + "Attributes": [ + { + "Title": "Neptune Cluster is not using a public subnet", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Amazon Neptune clusters provide a fully managed graph database service designed for applications requiring complex relationship queries. By default, Neptune clusters can be deployed in either public or private subnets. If a Neptune cluster is placed in a public subnet, it becomes accessible from the internet, significantly increasing the risk of unauthorized access and data breaches. To enhance security, Neptune clusters should only be deployed in private subnets, ensuring access is restricted to trusted VPCs, IAM roles, and security group configurations.", + "AdditionalInformation": "Deploying a Neptune cluster in a public subnet exposes the database endpoints to external threats, making them vulnerable to brute-force attacks, unauthorized queries, and data exfiltration. Attackers could exploit misconfigurations to gain access to sensitive graph data, leading to potential compliance violations and security incidents. To reduce exposure, Neptune clusters should be restricted to private subnets, with access controlled through VPC security groups, IAM authentication, and private endpoint configurations, ensuring secure database operations and protected data access.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.3.20", + "Description": "Ensure Amazon Opensearch/Elasticsearch domains are not publicly accessible", + "Checks": [ + "opensearch_service_domains_not_publicly_accessible" + ], + "Attributes": [ + { + "Title": "Amazon Opensearch/Elasticsearch domains are not publicly accessible", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Amazon OpenSearch (formerly Elasticsearch) domains provide search, analytics, and log management capabilities for applications. If an OpenSearch/Elasticsearch domain is publicly accessible, it can be reached from the internet, exposing sensitive data and administrative controls to unauthorized users. To enhance security, OpenSearch domains should be restricted to private networks, ensuring access is limited to trusted VPCs, IAM roles, or specific security group rules.", + "AdditionalInformation": "Publicly accessible OpenSearch/Elasticsearch domains pose a significant security risk, as attackers could execute unauthorized queries, modify data, or gain administrative control over the cluster. This could lead to data breaches, service disruptions, and compliance violations. To mitigate these risks, OpenSearch domains should be deployed in private subnets, with access controlled using VPC restrictions, fine-grained access control (FGAC), IAM policies, and security group rules, ensuring secure and isolated search and analytics operations.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.2.15", + "Description": "Ensure that S3 buckets have not policies which allow WRITE access", + "Checks": [ + "s3_bucket_policy_public_write_access" + ], + "Attributes": [ + { + "Title": "S3 buckets have not policies which allow WRITE access", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Amazon S3 buckets store and manage data, files, and application assets. Bucket policies control access permissions, and if an S3 bucket has a policy that allows WRITE access to everyone, unauthorized users can upload, modify, or delete objects, leading to data tampering, security breaches, or service disruptions. To enhance security, S3 bucket policies should be restricted to specific AWS accounts, IAM roles, or trusted services, ensuring only authorized users have WRITE permissions.", + "AdditionalInformation": "Allowing unrestricted WRITE access to an S3 bucket increases the risk of unauthorized modifications, data injection attacks, and accidental data loss. Attackers could upload malicious files, delete critical data, or overwrite important configurations. To prevent unauthorized changes, S3 bucket policies should explicitly deny public WRITE access, enforce least privilege access control, and use AWS Block Public Access settings to ensure secure and controlled data storage.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.2.16", + "Description": "Ensure there are no S3 buckets listable by Everyone or Any AWS customer", + "Checks": [ + "s3_bucket_public_list_acl" + ], + "Attributes": [ + { + "Title": "No S3 buckets are listable by Everyone or Any AWS customer", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Amazon S3 buckets store sensitive data and should have restricted access permissions. If an S3 bucket is listable by Everyone or Any AWS customer, unauthorized users can enumerate the objects within the bucket, potentially exposing sensitive information such as filenames, metadata, or even public datasets. To enhance security, S3 bucket permissions should be configured to restrict LIST access to only authorized IAM roles, AWS accounts, or specific services.", + "AdditionalInformation": "Allowing public or AWS-wide LIST access increases the risk of data enumeration, unauthorized access, and information leaks. Attackers or unauthorized users could identify and analyze stored files, extract metadata, or infer sensitive data. To mitigate this risk, S3 bucket policies should explicitly deny public LIST access, enforce least privilege permissions, and use AWS Block Public Access settings to prevent unintended data exposure.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.2.17", + "Description": "Ensure there are no S3 buckets writable by Everyone or Any AWS customer", + "Checks": [ + "s3_bucket_public_write_acl" + ], + "Attributes": [ + { + "Title": "No S3 buckets writable by Everyone or Any AWS customer", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Amazon S3 buckets should have strict access controls to prevent unauthorized modifications. If an S3 bucket is writable by Everyone or Any AWS customer, it allows unauthorized users to upload, modify, or delete objects, leading to data corruption, security breaches, and compliance risks. To enhance security, S3 bucket permissions should be restricted to trusted IAM roles, AWS accounts, or specific services.", + "AdditionalInformation": "Allowing public or AWS-wide WRITE access creates a significant security risk, as attackers can inject malicious files, overwrite critical data, or delete essential objects. This could lead to data loss, malware distribution, or unauthorized system modifications. To prevent unauthorized changes, S3 bucket policies should explicitly deny public WRITE access, enforce least privilege access, and use AWS Block Public Access settings to secure data integrity and prevent unauthorized modifications.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.3.21", + "Description": "Ensure Amazon SageMaker Notebook instances have not direct internet access", + "Checks": [ + "sagemaker_notebook_instance_without_direct_internet_access_configured" + ], + "Attributes": [ + { + "Title": "Amazon SageMaker Notebook instances have not direct internet access", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Amazon SageMaker Notebook instances provide an interactive environment for machine learning development and data analysis. By default, these instances can be configured with direct internet access, which increases the risk of unauthorized access, data leaks, and exposure to malicious external threats. To enhance security, SageMaker Notebook instances should be restricted to private networks, ensuring they are accessed only through secure VPC connections, IAM authentication, or VPNs.", + "AdditionalInformation": "Allowing direct internet access to SageMaker Notebook instances poses a significant security risk, as attackers could exploit misconfigurations, exfiltrate data, or inject malicious code. Publicly accessible notebooks can lead to data breaches, intellectual property theft, or compromised model training workflows. To mitigate these risks, SageMaker Notebook instances should be configured within private subnets, with internet access disabled, and restricted using security groups, IAM policies, and VPC endpoint configurations to ensure secure and controlled machine learning operations.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.2.18", + "Description": "Ensure Secrets Manager secrets are not publicly accessible", + "Checks": [ + "secretsmanager_not_publicly_accessible" + ], + "Attributes": [ + { + "Title": "Secrets Manager secrets are not publicly accessible", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "AWS Secrets Manager is used to securely store and manage sensitive information, such as API keys, database credentials, and encryption keys. By default, Secrets Manager secrets should be restricted to authorized IAM roles and AWS services. If a secret is publicly accessible, it can be exposed to unauthorized users, leading to data leaks, security breaches, and potential exploitation of sensitive credentials. To enhance security, Secrets Manager secrets should be strictly controlled using IAM policies and resource-based permissions.", + "AdditionalInformation": "Allowing public access to Secrets Manager secrets creates a critical security vulnerability, as attackers could retrieve, misuse, or exfiltrate sensitive information. Compromised secrets could lead to unauthorized access to databases, applications, or cloud services, resulting in data breaches, financial loss, or compliance violations. To mitigate this risk, Secrets Manager secrets should be restricted using least privilege IAM permissions, encrypted with AWS KMS, and accessed only by trusted AWS services and roles, ensuring secure and controlled secret management.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.3.22", + "Description": "Ensure that SES identities are not publicly accessible", + "Checks": [ + "ses_identity_not_publicly_accessible" + ], + "Attributes": [ + { + "Title": "SES identities are not publicly accessible", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Amazon Simple Email Service (SES) identities (such as email addresses or domains) are used to send and receive emails through AWS. By default, SES identities should be restricted to authorized AWS accounts and IAM roles. If an SES identity is publicly accessible, unauthorized users could send emails using the identity, leading to email spoofing, phishing attacks, or misuse of the domain for malicious purposes. To enhance security, SES identities should be properly restricted using IAM policies and verified senders.", + "AdditionalInformation": "Allowing public access to SES identities creates a security and reputational risk, as attackers could impersonate the identity, send spam, or launch phishing campaigns. This could lead to domain blacklisting, compliance violations, and damage to the organization’s email reputation. To mitigate these risks, SES identities should be restricted to trusted AWS accounts and IAM roles, ensuring that only authorized services and users can send emails, protecting the integrity and security of email communications.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.3.23", + "Description": "Ensure SQS queues have not policy set as Public", + "Checks": [ + "sqs_queues_not_publicly_accessible" + ], + "Attributes": [ + { + "Title": "SQS queues have not policy set as Public", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Amazon Simple Queue Service (SQS) queues enable asynchronous message processing between distributed systems. By default, SQS queues should be restricted to authorized AWS accounts and IAM roles. If an SQS queue has a public policy, it allows anyone on the internet to send, receive, or delete messages, leading to data leaks, unauthorized message injection, and potential denial-of-service (DoS) attacks. To enhance security, SQS queue policies should be configured to allow access only to trusted AWS accounts, IAM roles, or specific AWS services.", + "AdditionalInformation": "Publicly accessible SQS queues pose a significant security risk, as attackers could inject malicious messages, disrupt processing workflows, or delete critical messages, leading to system failures and data integrity issues. To prevent unauthorized access, SQS policies should explicitly deny public access, enforce least privilege access control, and use IAM policies and VPC endpoint restrictions to ensure secure and controlled messaging operations.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.3.24", + "Description": "Ensure that there are not SSM Documents set as public", + "Checks": [ + "ssm_documents_set_as_public" + ], + "Attributes": [ + { + "Title": "No SSM Documents are set as public", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "AWS Systems Manager (SSM) Documents define configuration, automation, and maintenance tasks for AWS resources. By default, SSM documents should be restricted to specific AWS accounts, IAM roles, or AWS services. If an SSM document is set as public, unauthorized users could access, modify, or execute automation tasks on AWS infrastructure, leading to misconfigurations, security breaches, or unintended system modifications. To enhance security, SSM documents should be kept private and assigned only to trusted AWS entities.", + "AdditionalInformation": "Publicly accessible SSM documents pose a significant security risk, as attackers could execute malicious commands, modify system configurations, or disrupt AWS operations. This could lead to unauthorized access, data leaks, compliance violations, or system downtime. To prevent security threats, SSM documents should explicitly deny public access, enforce least privilege permissions, and use IAM policies and resource-based access controls to ensure only trusted users and systems can manage AWS resources.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.1.1", + "Description": "Ensure CloudTrail is enabled in all regions", + "Checks": [ + "cloudtrail_multi_region_enabled" + ], + "Attributes": [ + { + "Title": "CloudTrail enabled", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "AWS CloudTrail is a service that records and monitors AWS API calls across an account, providing detailed logs of who performed what action, when, and from where. CloudTrail captures API activity from the AWS Management Console, SDKs, CLI, and AWS services such as CloudFormation. The logs include key details such as the identity of the API caller, timestamp, source IP address, request parameters, and response elements.", + "AdditionalInformation": "CloudTrail enhances security, auditing, and compliance by providing a complete history of API activities in an AWS account. Enabling a multi-region trail ensures: Detection of unauthorized activity in rarely used AWS regions. Global Service Logging is automatically enabled, capturing API calls from global services such as IAM and AWS Organizations. Tracking of all management events, ensuring that both read and write operations across AWS resources are recorded for improved security monitoring and compliance.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.1.2", + "Description": "Ensure CloudTrail log file validation is enabled", + "Checks": [ + "cloudtrail_log_file_validation_enabled" + ], + "Attributes": [ + { + "Title": "CloudTrail file validation enabled", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "AWS CloudTrail log file validation generates digitally signed digest files containing cryptographic hashes of each log file stored in Amazon S3. These digest files allow users to verify whether logs have been altered, deleted, or remain unchanged after being delivered by CloudTrail. Enabling log file validation ensures data integrity and auditability for security and compliance purposes.", + "AdditionalInformation": "Enabling log file validation enhances security by ensuring the integrity of CloudTrail logs, preventing tampering or unauthorized modifications. This helps: Detect log file alterations, ensuring logs remain trustworthy for audits and investigations. Improve compliance with frameworks that require log integrity, such as PCI DSS, SOC 2, and ISO 27001. Strengthen forensic capabilities, allowing security teams to verify log authenticity in case of a security incident.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.3.1", + "Description": "Ensure AWS Config is enabled in all regions", + "Checks": [ + "config_recorder_all_regions_enabled" + ], + "Attributes": [ + { + "Title": "AWS Config is enabled", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "AWS Config is a service that continuously monitors, records, and evaluates configuration changes in AWS resources within an account. It tracks configuration items, relationships between resources, and changes over time, delivering logs for security analysis, change management, and compliance auditing. To ensure comprehensive monitoring, AWS Config should be enabled in all regions.", + "AdditionalInformation": "Enabling AWS Config in all regions improves security, visibility, and compliance by: Tracking resource changes, allowing for quick identification of misconfigurations. Supporting security audits and forensic investigations by maintaining a historical record of configurations.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.1.3", + "Description": "Ensure that server access logging is enabled on the CloudTrail S3 bucket", + "Checks": [ + "cloudtrail_logs_s3_bucket_access_logging_enabled" + ], + "Attributes": [ + { + "Title": "Server access logging is enabled on the CloudTrail S3 bucket", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "Server access logging provides detailed records of requests made to an S3 bucket, including request type, accessed resources, timestamp, and requester details. Enabling server access logging on the CloudTrail S3 bucket ensures that all interactions with CloudTrail logs are recorded, improving security visibility and auditability", + "AdditionalInformation": "Enabling server access logging on CloudTrail S3 buckets enhances security monitoring, incident response, and compliance by: Capturing all events affecting CloudTrail logs, helping detect unauthorized access or modifications. Providing an audit trail for forensic investigations and compliance reporting. Enhancing security workflows by storing access logs in a separate, dedicated logging bucket for improved log integrity and analysis.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "4.2.3", + "Description": "Ensure CloudTrail logs are encrypted at rest using KMS CMKs", + "Checks": [ + "cloudtrail_kms_encryption_enabled" + ], + "Attributes": [ + { + "Title": "CloudTrail logs are encrypted at rest using KMS CMKs", + "Section": "4. Encryption", + "SubSection": "4.2 At-Rest", + "AttributeDescription": "AWS CloudTrail records API activity across an AWS account, and its logs contain sensitive security and operational data. AWS Key Management Service (KMS) provides encryption key management using customer-managed keys (CMKs) and Hardware Security Modules (HSMs) to ensure secure key storage and usage. CloudTrail logs can be encrypted using Server-Side Encryption (SSE) with KMS (SSE-KMS) to add an extra layer of protection and access control", + "AdditionalInformation": "Using SSE-KMS encryption for CloudTrail logs enhances security by adding an extra layer of access control. This ensures that only authorized users with both S3 read permissions and KMS decryption rights can access log data, protecting sensitive security information from unauthorized access or tampering. It also helps maintain compliance with security and regulatory standards by enforcing strict encryption controls.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.2.1", + "Description": "Ensure rotation for customer-created symmetric CMKs is enabled", + "Checks": [ + "kms_cmk_rotation_enabled" + ], + "Attributes": [ + { + "Title": "Rotation for customer-created symmetric CMKs enabled", + "Section": "3. Logging and Monitoring", + "SubSection": "3.2 Retention", + "AttributeDescription": "AWS Key Management Service (KMS) allows users to manage encryption keys securely. Key rotation enables the automatic replacement of the backing key (the cryptographic material tied to a customer-managed key (CMK)), ensuring continuous security without disrupting access to previously encrypted data. AWS automatically retains previous backing keys to allow seamless decryption of older data while using a newly generated key for encryption. It is recommended to enable key rotation for symmetric CMKs, as asymmetric keys do not support this feature.", + "AdditionalInformation": "Regularly rotating encryption keys minimizes the risk associated with key compromise by ensuring that newly encrypted data is protected with a fresh key, reducing the potential impact of an exposed key. Since AWS KMS retains prior backing keys for seamless decryption, rotation does not disrupt access to previously encrypted data. Implementing key rotation enhances security by limiting the exposure window of any single encryption key and aligning with best practices for cryptographic hygiene.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.1.4", + "Description": "Ensure VPC flow logging is enabled in all VPCs", + "Checks": [ + "vpc_flow_logs_enabled" + ], + "Attributes": [ + { + "Title": "VPC flow logging enabled in all VPCs", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "VPC Flow Logs capture and record IP traffic information for network interfaces within a VPC, allowing administrators to monitor and analyze network activity. These logs are stored in Amazon CloudWatch Logs for retrieval and analysis. It is recommended to enable VPC Flow Logs for rejected packets to track unauthorized access attempts, misconfigurations, or potential security threats within the VPC.", + "AdditionalInformation": "Enabling VPC Flow Logs for rejected traffic enhances network visibility and security monitoring by detecting suspicious activity, failed connection attempts, and potential threats. These logs help identify anomalous traffic patterns, troubleshoot connectivity issues, and support incident response workflows, improving overall security posture.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.1.5", + "Description": "Ensure that object-level logging for write events is enabled for S3 buckets", + "Checks": [ + "cloudtrail_s3_dataevents_write_enabled" + ], + "Attributes": [ + { + "Title": "Object-level logging for write events is enabled for S3 buckets", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "S3 object-level API operations, such as GetObject, PutObject, and DeleteObject, are classified as data events in AWS CloudTrail. By default, CloudTrail does not log data events, meaning detailed tracking of individual object interactions is not enabled. To enhance visibility and security, it is recommended to enable object-level logging for S3 buckets to monitor access and modification activities.", + "AdditionalInformation": "Enabling object-level logging helps organizations meet compliance requirements, enhance security monitoring, and detect unauthorized access. It allows administrators to analyze user behavior, track modifications to critical data, and respond to security incidents in real time using Amazon CloudWatch Events, ensuring greater control over S3 bucket activity.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.1.6", + "Description": "Ensure that object-level logging for read events is enabled for S3 buckets", + "Checks": [ + "cloudtrail_s3_dataevents_read_enabled" + ], + "Attributes": [ + { + "Title": "Object-level logging for read events is enabled for S3 buckets", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "S3 object-level API operations, such as GetObject, PutObject, and DeleteObject, are classified as data events in AWS CloudTrail. By default, CloudTrail does not log data events, meaning individual object interactions are not tracked unless explicitly enabled. To improve security monitoring and compliance, it is recommended to enable object-level logging for S3 buckets.", + "AdditionalInformation": "Object-level logging enhances data security, compliance, and operational visibility by providing detailed tracking of who accessed, modified, or deleted objects within S3 buckets. This enables organizations to monitor user behavior, detect unauthorized access, and quickly respond to potential security incidents using Amazon CloudWatch Events.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.3.2", + "Description": "Ensure unauthorized API calls are monitored", + "Checks": [ + "cloudwatch_log_metric_filter_unauthorized_api_calls" + ], + "Attributes": [ + { + "Title": "Unauthorized API calls are monitored", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Real-time monitoring of API calls can be achieved by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. By configuring metric filters and alarms, organizations can automatically detect and respond to unauthorized API calls, improving security visibility. It is recommended to establish a metric filter and alarm for unauthorized API calls to enhance threat detection and incident response.", + "AdditionalInformation": "Monitoring unauthorized API calls helps identify potential security incidents faster, reducing the time attackers have to exploit vulnerabilities. CloudWatch provides real-time monitoring and alerting, while SIEM solutions offer centralized security event analysis. Detecting unauthorized API calls early allows organizations to take immediate action, investigate potential threats, and strengthen overall AWS security posture.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.3.3", + "Description": "Ensure management console sign-in without MFA is monitored", + "Checks": [ + "cloudwatch_log_metric_filter_sign_in_without_mfa" + ], + "Attributes": [ + { + "Title": "Management console sign-in without MFA is monitored", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Real-time monitoring of AWS API calls can be implemented by directing CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. By setting up metric filters and alarms, organizations can detect and respond to security risks effectively. It is recommended to establish a metric filter and alarm for AWS console logins that are not protected by multi-factor authentication (MFA) to enhance security monitoring.", + "AdditionalInformation": "Monitoring console logins without MFA improves visibility into accounts that lack strong authentication controls. Accounts without MFA are more vulnerable to credential theft, brute-force attacks, and unauthorized access. By detecting these login attempts in real-time, organizations can identify security gaps, enforce MFA policies, and reduce the risk of account compromise.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.3.4", + "Description": "Ensure usage of the root account is monitored", + "Checks": [ + "cloudwatch_log_metric_filter_root_usage" + ], + "Attributes": [ + { + "Title": "Usage of root account monitored", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Real-time monitoring of AWS API calls can be achieved by directing CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. Setting up metric filters and alarms helps detect potential security threats. It is recommended to establish a metric filter and alarm for root account login attempts to identify unauthorized access or improper use of the highly privileged root account.", + "AdditionalInformation": "Monitoring root account logins enhances visibility into the usage of the most privileged AWS account, which should be used only in exceptional cases. Frequent or unauthorized root logins increase security risks by exposing critical administrative controls. Detecting root login attempts in real time enables organizations to identify potential security incidents, enforce least privilege principles, and limit unnecessary use of the root account.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.3.5", + "Description": "Ensure IAM policy changes are monitored", + "Checks": [ + "cloudwatch_log_metric_filter_policy_changes" + ], + "Attributes": [ + { + "Title": "IAM policy changes are monitored", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Real-time monitoring of AWS API calls can be implemented by directing CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. By configuring metric filters and alarms, organizations can detect critical security events. It is recommended to establish a metric filter and alarm for changes to Identity and Access Management (IAM) policies to track modifications that could affect authentication and authorization controls.", + "AdditionalInformation": "Monitoring IAM policy changes helps ensure that access controls remain secure and intact. Unauthorized or unintended modifications to IAM policies can lead to privilege escalation, misconfigurations, and security breaches. Detecting these changes in real-time allows organizations to respond quickly to potential threats, enforce least privilege principles, and maintain a strong security posture.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.3.6", + "Description": "Ensure CloudTrail configuration changes are monitored", + "Checks": [ + "cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled" + ], + "Attributes": [ + { + "Title": "CloudTrail configuration changes are monitored", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Real-time monitoring of AWS API calls can be implemented by directing CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. By configuring metric filters and alarms, organizations can track critical security events. It is recommended to establish a metric filter and alarm to detect changes to CloudTrail configurations, ensuring that logging remains active and tamper-proof.", + "AdditionalInformation": "Monitoring CloudTrail configuration changes helps maintain continuous visibility into AWS account activity. Unauthorized modifications to CloudTrail settings could disable or alter logging, potentially allowing malicious activity to go undetected. Detecting these changes in real time enables organizations to quickly respond to threats, enforce security best practices, and ensure compliance with auditing requirements.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.3.7", + "Description": "Ensure AWS Management Console authentication failures are monitored", + "Checks": [ + "cloudwatch_log_metric_filter_authentication_failures" + ], + "Attributes": [ + { + "Title": "AWS Management Console authentication failures are monitored", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Real-time monitoring of AWS API calls can be implemented by directing CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. By setting up metric filters and alarms, organizations can detect potential security threats. It is recommended to establish a metric filter and alarm for failed console authentication attempts to identify potential unauthorized access attempts or brute-force attacks.", + "AdditionalInformation": "Monitoring failed console logins helps detect brute-force attempts and unauthorized access attempts early. Repeated failed authentication attempts can indicate malicious activity, and tracking them allows security teams to identify suspicious IP addresses, correlate with other security events, and take proactive measures to protect AWS accounts.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.3.8", + "Description": "Ensure disabling or scheduled deletion of customer created CMKs is monitored", + "Checks": [ + "cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk" + ], + "Attributes": [ + { + "Title": "Disabling or scheduled deletion of customer created CMKs is monitored", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Real-time monitoring of AWS API calls can be achieved by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. By configuring metric filters and alarms, organizations can detect security-critical changes. It is recommended to set up a metric filter and alarm for customer-managed KMS keys (CMKs) that are disabled or scheduled for deletion to prevent unintended encryption key loss.", + "AdditionalInformation": "Disabling or deleting a customer-managed CMK can render encrypted data permanently inaccessible, leading to data loss and service disruptions. Monitoring CMK state changes helps detect unauthorized or accidental modifications, ensuring encryption keys remain available and aligned with security policies. Detecting such changes in real time allows organizations to prevent data loss, maintain compliance, and take corrective action if needed.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.3.9", + "Description": "Ensure S3 bucket policy changes are monitored", + "Checks": [ + "cloudwatch_log_metric_filter_for_s3_bucket_policy_changes" + ], + "Attributes": [ + { + "Title": "S3 bucket policy changes are monitored", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Real-time monitoring of AWS API calls can be implemented by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. By configuring metric filters and alarms, organizations can track critical security-related changes. It is recommended to set up a metric filter and alarm for modifications to S3 bucket policies to detect potential misconfigurations or unauthorized access changes.", + "AdditionalInformation": "Monitoring S3 bucket policy changes helps detect and respond to overly permissive configurations that could expose sensitive data. Unauthorized or accidental modifications may grant public access or excessive permissions, increasing the risk of data breaches and compliance violations. Real-time alerts allow security teams to quickly identify, investigate, and correct risky policy changes, reducing exposure and strengthening data security.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.3.10", + "Description": "Ensure AWS Config configuration changes are monitored", + "Checks": [ + "cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled" + ], + "Attributes": [ + { + "Title": "AWS Config configuration changes are monitored", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Real-time monitoring of AWS API calls can be implemented by directing CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. By configuring metric filters and alarms, organizations can detect critical configuration changes. It is recommended to establish a metric filter and alarm for modifications to AWS Config’s configurations to ensure continuous monitoring and compliance.", + "AdditionalInformation": "Monitoring AWS Config configuration changes helps maintain visibility and control over resource configurations. Unauthorized or accidental modifications to AWS Config settings may result in gaps in security monitoring, misconfigurations going undetected, and compliance violations. Real-time alerts allow security teams to quickly detect, investigate, and respond to changes, ensuring the integrity of configuration tracking across the AWS environment.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.3.11", + "Description": "Ensure security group changes are monitored", + "Checks": [ + "cloudwatch_log_metric_filter_security_group_changes" + ], + "Attributes": [ + { + "Title": "Security group changes are monitored", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Real-time monitoring of AWS API calls can be implemented by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. Security groups act as stateful packet filters that control inbound and outbound traffic within a VPC. It is recommended to establish a metric filter and alarm to detect changes to security groups to prevent unauthorized modifications that could expose resources to security threats.", + "AdditionalInformation": "Monitoring security group changes helps ensure that network access controls remain secure and that AWS resources are not unintentionally exposed. Unauthorized or accidental modifications to security groups can create security gaps, increasing the risk of data breaches and unauthorized access. Real-time alerts enable security teams to detect, investigate, and respond to security group changes quickly, maintaining a strong network security posture.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.3.12", + "Description": "Ensure Network Access Control List (NACL) changes are monitored", + "Checks": [ + "cloudwatch_changes_to_network_acls_alarm_configured" + ], + "Attributes": [ + { + "Title": "Network Access Control List (NACL) changes are monitored", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Real-time monitoring of AWS API calls can be implemented by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. Network Access Control Lists (NACLs) act as stateless packet filters that control inbound and outbound traffic for subnets within a VPC. It is recommended to establish a metric filter and alarm to detect changes to NACLs to prevent unauthorized modifications that could compromise network security.", + "AdditionalInformation": "Monitoring NACL changes helps ensure that network traffic controls remain properly configured and that AWS resources are not unintentionally exposed. Unauthorized or accidental modifications to NACL rules can lead to misconfigured security policies, increased attack surfaces, and potential data breaches. Real-time alerts enable security teams to detect, investigate, and respond to NACL modifications quickly, maintaining strong network security controls.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.3.13", + "Description": "Ensure changes to network gateways are monitored", + "Checks": [ + "cloudwatch_changes_to_network_gateways_alarm_configured" + ], + "Attributes": [ + { + "Title": "Changes to network gateways are monitored", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Real-time monitoring of AWS API calls can be implemented by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. Network gateways serve as the primary route for traffic entering and leaving a VPC, facilitating communication with external networks. It is recommended to establish a metric filter and alarm for changes to network gateways to ensure that network traffic is securely routed through controlled paths.", + "AdditionalInformation": "Monitoring network gateway changes helps maintain secure ingress and egress traffic flows within a VPC. Unauthorized or accidental modifications to network gateways can disrupt connectivity, introduce security vulnerabilities, or expose AWS resources to external threats. Real-time alerts enable security teams to detect, investigate, and respond to changes quickly, ensuring that all traffic follows a controlled and secure routing policy.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.3.14", + "Description": "Ensure route table changes are monitored", + "Checks": [ + "cloudwatch_changes_to_network_route_tables_alarm_configured" + ], + "Attributes": [ + { + "Title": "Route table changes are monitored", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Real-time monitoring of AWS API calls can be achieved by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. Route tables determine how network traffic is directed between subnets and network gateways within a VPC. It is recommended to establish a metric filter and alarm for changes to route tables to detect unauthorized or accidental modifications that could impact network security and connectivity.", + "AdditionalInformation": "Monitoring route table changes ensures that VPC traffic follows the intended and secure routing paths. Unauthorized modifications can result in misrouted traffic, exposure of sensitive resources, or connectivity disruptions. Real-time alerts enable security teams to detect, investigate, and respond to route table changes promptly, preventing potential security risks and maintaining a controlled and secure network environment.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.3.15", + "Description": "Ensure VPC changes are monitored", + "Checks": [ + "cloudwatch_changes_to_vpcs_alarm_configured" + ], + "Attributes": [ + { + "Title": "VPC changes are monitored", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Real-time monitoring of AWS API calls can be implemented by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. AWS accounts can contain multiple Virtual Private Clouds (VPCs), and VPC peering connections allow network traffic to flow between them. It is recommended to establish a metric filter and alarm for changes made to VPC configurations to detect unauthorized modifications that could impact network security and connectivity.", + "AdditionalInformation": "Monitoring VPC configuration changes helps ensure network integrity, security, and proper traffic flow within AWS environments. Unauthorized or accidental modifications can result in misconfigured routing, unintended internet exposure, or connectivity disruptions between resources. Real-time alerts enable security teams to detect, investigate, and respond to VPC changes promptly, preventing security risks and ensuring consistent network accessibility and isolation.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.3.16", + "Description": "Ensure AWS Organizations changes are monitored", + "Checks": [ + "cloudwatch_log_metric_filter_aws_organizations_changes" + ], + "Attributes": [ + { + "Title": "AWS Organizations changes are monitored", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Real-time monitoring of AWS API calls can be achieved by forwarding CloudTrail logs to Amazon CloudWatch Logs or an external Security Information and Event Management (SIEM) system. AWS Organizations allows centralized management of multiple AWS accounts, and modifications to its configuration can significantly impact access control, account governance, and security policies. It is recommended to establish a metric filter and alarm for changes made to AWS Organizations in the master AWS account to detect unauthorized or unintended modifications.", + "AdditionalInformation": "Monitoring AWS Organizations configuration changes helps prevent unwanted, accidental, or malicious modifications that could lead to unauthorized access, policy misconfigurations, or security breaches. Detecting changes in real time ensures that unexpected modifications can be investigated and remediated quickly, reducing the risk of compromised governance structures and ensuring compliance with organizational security policies.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.3.17", + "Description": "Ensure AWS Security Hub is enabled", + "Checks": [ + "securityhub_enabled" + ], + "Attributes": [ + { + "Title": "Security Hub enabled", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "AWS Security Hub centralizes security data from multiple AWS services and third-party security tools, allowing for real-time threat detection, risk assessment, and compliance monitoring. When enabled, Security Hub aggregates, organizes, and prioritizes security findings from services such as Amazon GuardDuty, Amazon Inspector, and Amazon Macie, as well as integrated third-party security products. This provides organizations with a unified security management platform to enhance threat visibility.", + "AdditionalInformation": "Enabling AWS Security Hub provides a comprehensive view of your security posture, helping to identify vulnerabilities, detect threats, and enforce security best practices. It allows organizations to monitor security trends, benchmark environments against industry standards, and quickly respond to high-priority security issues, strengthening overall AWS security governance and compliance.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.2.2", + "Description": "Ensure CloudWatch Log Groups have a retention policy of specific days", + "Checks": [ + "cloudwatch_log_group_retention_policy_specific_days_enabled" + ], + "Attributes": [ + { + "Title": "CloudWatch Log Groups have a retention policy of specific days", + "Section": "3. Logging and Monitoring", + "SubSection": "3.2 Retention", + "AttributeDescription": "AWS CloudWatch Log Groups store logs from various AWS services and applications, enabling monitoring, debugging, and security auditing. By default, CloudWatch logs are retained indefinitely, which can lead to unnecessary data storage costs and compliance risks. To manage log lifecycle effectively, it is recommended to set a retention policy for CloudWatch Log Groups, ensuring logs are retained only for a specific number of days based on operational and compliance requirements.", + "AdditionalInformation": "Setting a retention policy for CloudWatch logs helps balance cost management, compliance, and security. Retaining logs for too long increases storage costs and potential exposure to sensitive data, while keeping them for too short a duration can limit forensic investigations and compliance reporting. By defining a specific retention period, organizations can ensure logs are available for troubleshooting and audits while adhering to data retention best practices and regulatory requirements.", + "LevelOfRisk": 1 + } + ] + } + ] +} diff --git a/prowler/compliance/azure/prowler_threatscore_azure.json b/prowler/compliance/azure/prowler_threatscore_azure.json new file mode 100644 index 0000000000..db479fb616 --- /dev/null +++ b/prowler/compliance/azure/prowler_threatscore_azure.json @@ -0,0 +1,1317 @@ +{ + "Framework": "ProwlerThreatScore", + "Version": "1.0", + "Provider": "Azure", + "Description": "Prowler ThreatScore Compliance Framework for Azure ensures that the Azure subscription is compliant taking into account four main pillars: Identity and Access Management, Attack Surface, Forensic Readiness and Encryption", + "Requirements": [ + { + "Id": "1.1.1", + "Description": "Ensure Security Defaults is enabled on Microsoft Entra ID", + "Checks": [ + "entra_security_defaults_enabled" + ], + "Attributes": [ + { + "Title": "Security Defaults enabled on Entra ID", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "Microsoft Entra ID Security Defaults offer preconfigured security settings designed to protect organizations from common identity attacks at no additional cost. These settings enforce basic security measures such as MFA registration, risk-based authentication prompts, and blocking legacy authentication clients that do not support MFA. Security defaults are available to all organizations and can be enabled via the Azure portal to strengthen authentication security.", + "AdditionalInformation": "Security defaults provide built-in protections to reduce the risk of unauthorized access until organizations configure their own identity security policies. By requiring MFA, blocking weak authentication methods, and adapting authentication challenges based on risk factors, these settings create a stronger security foundation without additional licensing requirements.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "1.1.2", + "Description": "Ensure that 'Multi-Factor Auth Status' is 'Enabled' for all Privileged Users", + "Checks": [ + "entra_privileged_user_has_mfa" + ], + "Attributes": [ + { + "Title": "MFA enabled for privileged users", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "[IMPORTANT] If your organization has Microsoft Entra ID licensing (included in Microsoft 365 E3, E5, F5, or EM&S E3/E5) and can use Conditional Access, you may skip this section and proceed to Conditional Access. Enable multi-factor authentication (MFA) for all users, roles, and groups with write access to Azure resources. This includes both custom-created roles and built-in roles such as: Service Co-Administrators, Subscription Owners, Contributors", + "AdditionalInformation": "MFA enhances security by requiring two or more authentication factors, ensuring that only authorized users gain access. It significantly reduces the risk of unauthorized access, credential theft, and privilege escalation. By implementing MFA, attackers must compromise multiple authentication mechanisms, making breaches far more difficult and improving overall Azure resource security.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "1.1.3", + "Description": "Ensure that 'Multi-Factor Auth Status' is 'Enabled' for all Non-Privileged Users", + "Checks": [ + "entra_non_privileged_user_has_mfa" + ], + "Attributes": [ + { + "Title": "MFA enabled for non-privileged users", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "[IMPORTANT] If your organization has Microsoft Entra ID licensing (included in Microsoft 365 E3, E5, F5, or EM&S E3/E5) and can use Conditional Access, you may skip this section and proceed to Conditional Access. Enable multi-factor authentication (MFA) for all non-privileged users to enhance security and prevent unauthorized access.", + "AdditionalInformation": "MFA strengthens authentication by requiring at least two verification factors, making it significantly harder for attackers to gain access using stolen credentials. Even if one authentication factor is compromised, an additional layer of security reduces the risk of unauthorized account access, enhancing overall identity and access management security.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "1.1.4", + "Description": "Ensure Multi-factor Authentication is Required for Windows Azure Service Management API", + "Checks": [ + "entra_conditional_access_policy_require_mfa_for_management_api" + ], + "Attributes": [ + { + "Title": "MFA Required for Windows Azure Service Management API", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "This recommendation ensures that users accessing the Windows Azure Service Management API (e.g., Azure PowerShell, Azure CLI, Azure Resource Manager API) are required to authenticate using multi-factor authentication (MFA) before accessing resources.", + "AdditionalInformation": "Administrative access to the Azure Service Management API should be secured with enhanced authentication measures to prevent unauthorized changes. Enforcing MFA helps mitigate the risk of credential compromise, privilege abuse, and unauthorized modifications to administrative settings. IMPORTANT: While exceptions for specific users or groups may be configured, they should be carefully tracked and periodically reviewed through an Access Review process. The policy should apply to all users by default, ensuring that only explicitly exempted accounts bypass MFA.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "1.1.5", + "Description": "Ensure Multi-factor Authentication is Required to access Microsoft Admin Portals", + "Checks": [ + "defender_ensure_defender_for_server_is_on" + ], + "Attributes": [ + { + "Title": "MFA Required to access Microsoft Admin Portals", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "This recommendation ensures that users accessing Microsoft Admin Portals (such as Microsoft 365 Admin, Microsoft 365 Defender, Exchange Admin Center, and Azure Portal) must authenticate using multi-factor authentication (MFA) before logging in.", + "AdditionalInformation": "Microsoft Admin Portals provide privileged access to critical settings and resources, requiring enhanced security measures. Enforcing MFA reduces the risk of unauthorized access, credential compromise, and administrative abuse, preventing intruders from making unauthorized changes to administrative settings.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.1.6", + "Description": "Ensure only MFA enabled identities can access privileged Virtual Machine", + "Checks": [ + "entra_user_with_vm_access_has_mfa" + ], + "Attributes": [ + { + "Title": "Only MFA enabled identities can access privileged Virtual Machine", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "Ensure that privileged virtual machines do not allow logins from identities without multi-factor authentication (MFA) and that access is restricted to necessary permissions only. Unauthorized access can enable attackers to move laterally and misuse the virtual machine’s managed identity for further privilege escalation or unauthorized operations.", + "AdditionalInformation": "Requiring MFA for privileged VM access reduces the risk of credential compromise, lateral movement, and unauthorized access to cloud resources. Attackers can exploit valid accounts to access virtual machines and escalate privileges using the managed identity. Enforcing MFA and least privilege access helps mitigate these risks by preventing unauthorized logins and restricting administrative permissions to only what is necessary.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "1.2.1", + "Description": "Ensure that 'Restrict non-admin users from creating tenants' is set to 'Yes'", + "Checks": [ + "entra_policy_ensure_default_user_cannot_create_tenants" + ], + "Attributes": [ + { + "Title": "Restrict non-admin users from creating tenants is set to Yes", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "Restrict the ability to create new Microsoft Entra ID or Azure AD B2C tenants to administrators or appropriately delegated users.", + "AdditionalInformation": "Limiting tenant creation to authorized administrators prevents unauthorized users from creating new tenants, reducing the risk of uncontrolled environments, misconfigurations, and potential security gaps. This ensures that only approved users can establish and manage tenant resources.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.2.2", + "Description": "Ensure fewer than 5 users have global administrator assignment", + "Checks": [ + "entra_global_admin_in_less_than_five_users" + ], + "Attributes": [ + { + "Title": "Fewer than 5 users have global administrator assignment", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "To maintain security and operational efficiency, it is recommended to have a minimum of two and a maximum of four users assigned the Global Administrator role in Microsoft Entra ID. This ensures redundancy while minimizing the risk of excessive privileged access.", + "AdditionalInformation": "The Global Administrator role holds broad privileges across Microsoft Entra ID services and should not be used for daily tasks. Administrators should have separate accounts for regular activities and privileged actions. Limiting the number of Global Administrators reduces the risk of unauthorized access, human error, and privilege misuse, while ensuring at least two administrators are available to prevent disruptions in case of unavailability. This approach aligns with the principle of least privilege and strengthens the security posture of an Azure tenant.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.2.3", + "Description": "Ensure That 'Guest users access restrictions' is set to 'Guest user access is restricted to properties and memberships of their own directory objects'", + "Checks": [ + "entra_policy_guest_users_access_restrictions" + ], + "Attributes": [ + { + "Title": "Guest users access restrictions' is set to 'Guest user access is restricted to properties and memberships of their own directory objects'", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "Restrict guest user permissions to prevent unauthorized access to directory resources and administrative roles.", + "AdditionalInformation": "Limiting guest access ensures that guest accounts cannot enumerate users, groups, or directory objects and prevents them from being assigned administrative roles. Guest access has three levels of restriction, with the most secure option being: “Guest user access is restricted to their own directory object” (most restrictive). This setting minimizes the risk of unauthorized access and ensures guests only interact with their assigned resources.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.2.4", + "Description": "Ensure `User consent for applications` is set to `Do not allow user consent` ", + "Checks": [ + "entra_policy_restricts_user_consent_for_apps" + ], + "Attributes": [ + { + "Title": "`User consent for applications` is set to `Do not allow user consent` ", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "Require administrators to provide consent before applications can access Microsoft Entra ID resources, preventing unauthorized or malicious app integrations.", + "AdditionalInformation": "Allowing users to grant application permissions without restrictions increases the risk of data exfiltration and privilege abuse by malicious applications. Restricting app consent to administrators ensures that only verified and approved applications gain access, protecting sensitive data and privileged accounts from unauthorized use.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.2.5", + "Description": "Ensure ‘User consent for applications’ Is Set To ‘Allow for Verified Publishers’", + "Checks": [ + "entra_policy_user_consent_for_verified_apps" + ], + "Attributes": [ + { + "Title": "‘User consent for applications’ Is Set To ‘Allow for Verified Publishers’", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "Allow users to grant consent only for selected permissions when the request comes from a verified publisher, ensuring tighter control over third-party application access.", + "AdditionalInformation": "Restricting app consent to verified publishers helps mitigate the risk of unauthorized data access and privilege abuse. Malicious applications may attempt to exploit user-granted permissions, so ensuring only trusted, verified applications can request access enhances security while maintaining flexibility for approved integrations.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.2.6", + "Description": "Ensure Trusted Locations Are Defined", + "Checks": [ + "entra_trusted_named_locations_exists" + ], + "Attributes": [ + { + "Title": "Trusted Locations Are Defined", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "Microsoft Entra ID Conditional Access allows organizations to define Named Locations and categorize them as trusted or untrusted. These locations can be based on geographical regions, specific IP addresses, or IP ranges to enhance access control policies.", + "AdditionalInformation": "Defining trusted IP addresses or ranges enables organizations to enforce Conditional Access policies based on user location. Users authenticating from trusted locations may receive fewer access restrictions, while those from untrusted sources can be subject to stricter security controls, reducing the risk of unauthorized access.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.3.1", + "Description": "Ensure that 'Users can create security groups in Azure portals, API or PowerShell' is set to 'No'", + "Checks": [ + "entra_policy_default_users_cannot_create_security_groups" + ], + "Attributes": [ + { + "Title": "Users can create security groups in Azure portals, API or PowerShell' is set to 'No'", + "Section": "1. IAM", + "SubSection": "1.3 Privilege Escalation Prevention", + "AttributeDescription": "Limit the ability to create security groups to administrators only, preventing unauthorized users from managing group memberships.", + "AdditionalInformation": "Allowing all users to create and manage security groups can lead to uncontrolled access, misconfigurations, and potential security risks. Unless business requirements justify broader delegation, restricting security group creation to administrators ensures that group permissions and memberships are properly managed, reducing the risk of unauthorized access.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.3.2", + "Description": "Ensure That ‘Users Can Register Applications’ Is Set to ‘No’", + "Checks": [ + "entra_policy_ensure_default_user_cannot_create_apps" + ], + "Attributes": [ + { + "Title": "‘Users Can Register Applications’ Is Set to ‘No’", + "Section": "1. IAM", + "SubSection": "1.3 Privilege Escalation Prevention", + "AttributeDescription": "Restrict the ability to register third-party applications to administrators or appropriately delegated users, ensuring better security control over app integrations.", + "AdditionalInformation": "Allowing unrestricted application registration can expose Microsoft Entra ID data to security risks. Requiring administrator approval ensures that custom-developed applications undergo a formal security review before being granted access. Organizations may delegate permissions to developers or high-request users as needed, but policies should be reviewed to align with security best practices and operational needs.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.3.3", + "Description": "Ensure that 'Guest invite restrictions' is set to 'Only users assigned to specific admin roles can invite guest users'", + "Checks": [ + "entra_policy_guest_invite_only_for_admin_roles" + ], + "Attributes": [ + { + "Title": "Guest invite restrictions' is set to 'Only users assigned to specific admin roles can invite guest users'", + "Section": "1. IAM", + "SubSection": "1.3 Privilege Escalation Prevention", + "AttributeDescription": "Limit the ability to send invitations to users with specific administrative roles, preventing unauthorized guest access to cloud resources.", + "AdditionalInformation": "Restricting guest invitations to designated administrators helps enforce “Need to Know” permissions, reducing the risk of unintended data exposure. By default, anyone in the organization—including guests and non-admins—can invite external users, which can lead to unauthorized access. Restricting this capability ensures that only approved accounts can extend access to the tenant, strengthening security and access control.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "1.3.4", + "Description": "Ensure that 'Users can create Microsoft 365 groups in Azure portals, API or PowerShell' is set to 'No'", + "Checks": [ + "entra_users_cannot_create_microsoft_365_groups" + ], + "Attributes": [ + { + "Title": "Users can create Microsoft 365 groups in Azure portals, API or PowerShell' is set to 'No'", + "Section": "1. IAM", + "SubSection": "1.3 Privilege Escalation Prevention", + "AttributeDescription": "Limit Microsoft 365 group creation to administrators only, ensuring that group management remains under centralized control.", + "AdditionalInformation": "Restricting group creation to administrators prevents unauthorized or unnecessary group creation, ensuring that only appropriate groups are created and managed. This reduces the risk of misconfigurations, access issues, and uncontrolled resource sharing within the organization.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.1.1", + "Description": "Ensure that RDP access from the Internet is evaluated and restricted", + "Checks": [ + "network_rdp_internet_access_restricted" + ], + "Attributes": [ + { + "Title": "RDP access from the Internet is evaluated and restricted", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "Regularly review Network Security Groups (NSGs) for misconfigured or overly permissive rules, especially those exposing ports and protocols to the public internet. Any unnecessary exposure should be restricted to reduce security risks.", + "AdditionalInformation": "Exposing Remote Desktop Protocol (RDP) or other critical services to the internet increases the risk of brute-force attacks, which could lead to unauthorized access to Azure Virtual Machines. Compromised VMs can be used to launch attacks on other networked resources, both inside and outside Azure. Periodic NSG evaluations help minimize attack surfaces and ensure that only explicitly required access is permitted.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.1.2", + "Description": "Ensure that SSH access from the Internet is evaluated and restricted", + "Checks": [ + "network_ssh_internet_access_restricted" + ], + "Attributes": [ + { + "Title": "SSH access from the Internet is evaluated and restricted", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "Regularly review Network Security Groups (NSGs) for misconfigured or overly permissive rules, particularly those exposing SSH (port 22) or other critical services to the internet. Any unnecessary exposure should be restricted to reduce security risks.", + "AdditionalInformation": "Exposing SSH over the internet increases the risk of brute-force attacks, allowing attackers to gain unauthorized access to Azure Virtual Machines. Once compromised, a VM can be used as a pivot point to attack other machines within the Azure Virtual Network or even external systems. Periodic NSG evaluations help minimize attack surfaces and ensure that only explicitly required access is permitted.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.1.3", + "Description": "Ensure that UDP access from the Internet is evaluated and restricted", + "Checks": [ + "network_udp_internet_access_restricted" + ], + "Attributes": [ + { + "Title": "UDP access from the Internet is evaluated and restricted", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "Regularly review Network Security Groups (NSGs) for misconfigured or overly permissive UDP rules, especially those exposing UDP-based services to the internet. Any unnecessary exposure should be restricted to prevent security risks.", + "AdditionalInformation": "Exposing UDP services to the internet increases the risk of Distributed Denial-of-Service (DDoS) amplification attacks, where attackers can reflect and amplify spoofed traffic from Azure Virtual Machines. Commonly exploited UDP services include DNS, NTP, SSDP, SNMP, and CLDAP, which can be used to disrupt services or launch attacks against other networked systems inside and outside Azure. Regular NSG evaluations help minimize attack surfaces and prevent VMs from being leveraged in DDoS attacks.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.1.4", + "Description": "Ensure that HTTP(S) access from the Internet is evaluated and restricted", + "Checks": [ + "network_http_internet_access_restricted" + ], + "Attributes": [ + { + "Title": "HTTP(S) access from the Internet is evaluated and restricted", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "Regularly review Network Security Groups (NSGs) for misconfigured or overly permissive HTTP(S) rules, ensuring that exposure to the internet is necessary and narrowly configured. Restrict access where it is not explicitly required.", + "AdditionalInformation": "Exposing HTTP(S) services to the internet increases the risk of brute-force attacks, credential stuffing, and exploitation of vulnerabilities in web applications or services. If compromised, an attacker can use the affected resource as a pivot point to escalate privileges, move laterally, and compromise other Azure resources within the tenant. Periodic NSG evaluations help reduce attack surfaces and enforce least privilege access.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.1.5", + "Description": "Ensure an Azure Bastion Host Exists", + "Checks": [ + "network_bastion_host_exists" + ], + "Attributes": [ + { + "Title": "Ensure Azure Bastion Host Exists", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "Enable Azure Bastion to securely access Azure Virtual Machines (VMs) over the internet without exposing RDP (3389/TCP) or SSH (22/TCP) ports directly to the public network. Azure Bastion provides remote access through TLS (443/TCP) while integrating with Azure Active Directory (AAD) security policies.", + "AdditionalInformation": "Using Azure Bastion eliminates the need to assign public IP addresses to VMs, reducing exposure to brute-force attacks and unauthorized access. It enhances security by enabling browser-based RDP/SSH access, leveraging Azure Active Directory controls, and supporting Multi-Factor Authentication (MFA), Conditional Access Policies, and other hardening measures for a centralized and secure access solution.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "2.2.1", + "Description": "Ensure that Microsoft Entra authentication is Configured for SQL Servers", + "Checks": [ + "sqlserver_azuread_administrator_enabled" + ], + "Attributes": [ + { + "Title": "Microsoft Entra authentication is Configured for SQL Servers", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Use Microsoft Entra authentication for SQL Database to centralize identity and credential management, enhancing security and simplifying access control. By leveraging Microsoft Entra ID, organizations can manage database users, permissions, and authentication policies in a single location, reducing complexity and improving security.", + "AdditionalInformation": "Microsoft Entra authentication eliminates the need for separate SQL authentication, preventing identity sprawl and simplifying password management. It enables centralized permission management, supports token-based authentication, integrates with Active Directory Federation Services (ADFS), and enhances security with Multi-Factor Authentication (MFA). Using Entra ID authentication also eliminates the need to store passwords, enabling secure, modern authentication methods while ensuring seamless access control for users and applications.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "2.2.2", + "Description": "Ensure 'Allow public access from any Azure service within Azure to this server' for PostgreSQL flexible server is disabled ", + "Checks": [ + "postgresql_flexible_server_allow_access_services_disabled" + ], + "Attributes": [ + { + "Title": "Allow public access from any Azure service within Azure to this server' for PostgreSQL flexible server is disabled ", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Disable access from Azure services to PostgreSQL flexible servers to restrict inbound connections and enhance security.", + "AdditionalInformation": "Allowing access from all Azure services bypasses firewall restrictions and permits connections from any Azure resource, including those outside your subscription. This can expose the database to unauthorized access and security risks. Instead, configure firewall rules or Virtual Network (VNet) rules to allow only specific, trusted network ranges, ensuring tighter access control.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.2.3", + "Description": "Ensure That 'Firewalls & Networks' Is Limited to Use Selected Networks Instead of All Networks", + "Checks": [ + "cosmosdb_account_firewall_use_selected_networks" + ], + "Attributes": [ + { + "Title": "Firewalls & Networks' Is Limited to Use Selected Networks Instead of All Networks", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Restrict Cosmos DB access to whitelisted networks to minimize exposure and reduce potential attack vectors.", + "AdditionalInformation": "Limiting Cosmos DB communication to specific trusted networks prevents unauthorized access from unapproved sources, including the public internet. This enhances security by reducing the attack surface and ensuring only designated networks can interact with the database.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "2.2.4", + "Description": "Ensure That Private Endpoints Are Used Where Possible", + "Checks": [ + "cosmosdb_account_use_private_endpoints" + ], + "Attributes": [ + { + "Title": "Private Endpoints Are Used", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Use private endpoints for Cosmos DB to restrict network traffic to approved sources, ensuring secure and private communication.", + "AdditionalInformation": "For sensitive data, private endpoints provide granular control over which services can access Cosmos DB, preventing exposure to unauthorized networks. This setup ensures that all traffic remains within a private network, reducing security risks and enhancing data protection.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.2.5", + "Description": "Use Entra ID Client Authentication and Azure RBAC where possible", + "Checks": [ + "cosmosdb_account_use_aad_and_rbac" + ], + "Attributes": [ + { + "Title": "Entra ID Client Authentication and Azure RBAC where possible", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Use Microsoft Entra ID for Cosmos DB client authentication, leveraging Azure RBAC for enhanced security, centralized management, and MFA support.", + "AdditionalInformation": "Entra ID authentication is significantly more secure than token-based authentication, as tokens must be stored persistently on the client, increasing the risk of compromise. Entra ID eliminates this risk by securely handling credentials, integrating seamlessly with Azure RBAC, and supporting multi-factor authentication (MFA) for stronger access control.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "2.2.6", + "Description": "Ensure that 'Public Network Access' is 'Disabled' for storage accounts", + "Checks": [ + "storage_blob_public_access_level_is_disabled" + ], + "Attributes": [ + { + "Title": "Public Network Access' is 'Disabled' for storage accounts", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Disable public network access for Azure Storage accounts, ensuring that access settings for individual containers cannot override this restriction. This applies to Azure Resource Manager deployment model storage accounts, as classic deployment model accounts will be retired by August 31, 2024.", + "AdditionalInformation": "By default, Azure Storage accounts allow users with appropriate permissions to enable public access to containers and blobs, granting read-only access without requiring authentication. To minimize the risk of unauthorized data exposure, public access should be restricted unless explicitly required. Instead, use Azure AD RBAC or shared access signatures (SAS) to grant controlled and time-limited access to storage resources.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "2.2.7", + "Description": "Ensure Default Network Access Rule for Storage Accounts is Set to Deny", + "Checks": [ + "storage_default_network_access_rule_is_denied" + ], + "Attributes": [ + { + "Title": "Default Network Access Rule for Storage Accounts is Set to Deny", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Restricting default network access enhances security by preventing unrestricted connections to Azure Storage accounts. By default, storage accounts accept connections from any network, so access should be limited to selected networks by modifying the default configuration.", + "AdditionalInformation": "Storage accounts should deny access from all networks by default, except for explicitly allowed Azure Virtual Networks or specific IP address ranges. This approach creates a secure network boundary, ensuring only authorized applications can connect. Even when network rules allow access, proper authentication (via access keys or SAS tokens) is still required, adding an extra layer of security.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.2.8", + "Description": "Ensure 'Allow Azure services on the trusted services list to access this storage account' is Enabled for Storage Account Access", + "Checks": [ + "storage_ensure_azure_services_are_trusted_to_access_is_enabled" + ], + "Attributes": [ + { + "Title": "Allow Azure services on the trusted services list to access this storage account' is Enabled for Storage Account Access", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "This recommendation assumes that public network access is set to “Enabled from selected virtual networks and IP addresses” and that the default network access rule for storage accounts is set to deny. Some Azure services require access to storage accounts from networks that cannot be explicitly granted permissions through network rules. To allow these services to function properly, enable the trusted Azure services exception, which allows selected Azure services to bypass network restrictions while still enforcing strong authentication.", + "AdditionalInformation": "Enabling firewall rules on a storage account blocks access to all incoming requests, including those from other Azure services. Allowing access to trusted Azure services ensures that essential Azure functions, such as Azure Backup, Event Grid, Monitor, and Site Recovery, can interact with storage accounts securely without exposing them to broader public access.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "2.2.9", + "Description": "Ensure Private Endpoints are used to access Storage Accounts", + "Checks": [ + "storage_ensure_private_endpoints_in_storage_accounts" + ], + "Attributes": [ + { + "Title": "Private Endpoint used to access Storage Accounts", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Use private endpoints for Azure Storage accounts to enable secure, encrypted access over a Private Link. Private endpoints assign an IP address from the Virtual Network (VNet) for each service, ensuring that network traffic remains isolated and encrypted within the VNet. This configuration helps segment network traffic, preventing external access while allowing secure communication between services. Additionally, VNets can extend addressing spaces or act as secure tunnels over public networks, connecting remote infrastructures securely.", + "AdditionalInformation": "Encrypting traffic between services protects sensitive data from interception and unauthorized access. Using private endpoints ensures that data remains within a controlled network environment, reducing exposure to external threats and enhancing overall security posture.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "2.2.10", + "Description": "Ensure no Azure SQL Databases allow ingress from 0.0.0.0/0", + "Checks": [ + "sqlserver_unrestricted_inbound_access" + ], + "Attributes": [ + { + "Title": "Azure SQL Databases do not allow ingress from 0.0.0.0/0", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Ensure that Azure SQL Databases do not allow ingress from 0.0.0.0/0 (ANY IP), as this would expose them to the public internet. Azure SQL Server includes a firewall that blocks unauthorized connections by default, but it allows defining more granular IP address rules to restrict access. Allowing 0.0.0.0/0 effectively grants open access, increasing security risks.", + "AdditionalInformation": "Leaving Azure SQL firewall rules open to ANY IP significantly increases the attack surface, making databases vulnerable to brute-force attacks and unauthorized access. Instead, firewall rules should be restricted to specific, trusted IP ranges from known datacenters or internal resources. Additionally, enabling Allow Azure services and resources to access this server could allow access from outside your organization’s subscription or region, potentially bypassing SQL Server’s network ACLs and exposing the database to malicious activity.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "2.3.1", + "Description": "Ensure App Service Authentication is set up for apps in Azure App Service", + "Checks": [ + "app_ensure_auth_is_set_up" + ], + "Attributes": [ + { + "Title": "App Service Authentication is set up for apps in Azure App Service", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Enable Azure App Service Authentication to restrict anonymous HTTP requests and enforce authentication using identity providers before requests reach the application.", + "AdditionalInformation": "Enabling App Service Authentication ensures that all incoming HTTP requests are validated and authenticated before being processed by the application. It integrates with Microsoft Entra ID, Google, Facebook, Microsoft Accounts, and Twitter to manage authentication, token validation, and session handling. Additionally, disabling HTTP Basic Authentication helps mitigate risks from legacy authentication methods, strengthening application security.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "2.3.2", + "Description": "Ensure 'FTP State' is set to 'FTPS Only' or 'Disabled' ", + "Checks": [ + "app_ftp_deployment_disabled" + ], + "Attributes": [ + { + "Title": "FTP State' is set to 'FTPS Only' or 'Disabled' ", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Ensure that FTP access is disabled for Azure App Services, or if required, enforce FTPS (FTP over SSL/TLS) for secure authentication and data transmission.", + "AdditionalInformation": "FTP transmits data, including credentials, in plaintext, making it vulnerable to interception, credential theft, and data exfiltration. Requiring FTPS ensures that all FTP connections are encrypted, reducing the risk of unauthorized access, persistence, and lateral movement within the environment. If FTP is not needed, disabling it entirely enhances security by eliminating an unnecessary attack vector.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "3.1.1", + "Description": "Ensure server parameter 'log_checkpoints' is set to 'ON' for PostgreSQL flexible server", + "Checks": [ + "postgresql_flexible_server_log_checkpoints_on" + ], + "Attributes": [ + { + "Title": "log_checkpoints' is set to 'ON' for PostgreSQL flexible server", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "Enable log_checkpoints on PostgreSQL flexible servers to log checkpoint activity, generating query and error logs that aid in monitoring and troubleshooting database performance.", + "AdditionalInformation": "Logging checkpoints helps track database activity, errors, and performance issues, providing valuable insights for troubleshooting and optimization. While transaction logs remain inaccessible, query and error logs allow identification and resolution of configuration errors and inefficiencies, improving database reliability and performance.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.1.2", + "Description": "Ensure server parameter 'connection_throttle.enable' is set to 'ON' for PostgreSQL flexible server", + "Checks": [ + "postgresql_flexible_server_connection_throttling_on" + ], + "Attributes": [ + { + "Title": "connection_throttle.enable' is set to 'ON' for PostgreSQL flexible server", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "Enable connection throttling on PostgreSQL flexible servers to regulate concurrent connections and generate logs for monitoring and troubleshooting.", + "AdditionalInformation": "Connection throttling helps prevent Denial of Service (DoS) attacks by limiting excessive connections that could exhaust resources. It also protects against system failures or degraded performance caused by high user loads. Query and error logs provide insights into connection issues, enabling faster troubleshooting and performance optimization.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.1.3", + "Description": "Ensure server parameter 'log_connections' is set to 'ON' for PostgreSQL single server", + "Checks": [ + "postgresql_flexible_server_log_connections_on" + ], + "Attributes": [ + { + "Title": "log_connections' is set to 'ON' for PostgreSQL single server", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "Enable log_connections on PostgreSQL Single Servers to record connection attempts and authentication events for security monitoring and auditing. (Note: This recommendation applies only to Single Server, as Azure PostgreSQL Single Server is planned for retirement.)", + "AdditionalInformation": "Logging connection attempts helps detect unauthorized access, failed authentication attempts, and potential security threats. These logs provide valuable insights for troubleshooting, auditing, and identifying suspicious activities, enhancing overall database security and monitoring.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.1.4", + "Description": "Ensure server parameter 'log_disconnections' is set to 'ON' for PostgreSQL single server", + "Checks": [ + "postgresql_flexible_server_log_disconnections_on" + ], + "Attributes": [ + { + "Title": "log_disconnections' is set to 'ON' for PostgreSQL single server", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "Enable log_disconnections on PostgreSQL Servers to record session termination events, including session duration. (Note: This recommendation applies only to Single Server, as Azure PostgreSQL Single Server is planned for retirement.)", + "AdditionalInformation": "Logging disconnections provides visibility into session activity and duration, helping to analyze user behavior, detect anomalies, and troubleshoot performance issues. These logs contribute to audit trails, security monitoring, and database performance optimization.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.1.5", + "Description": "Ensure server parameter 'audit_log_enabled' is set to 'ON' for MySQL flexible server", + "Checks": [ + "mysql_flexible_server_audit_log_enabled" + ], + "Attributes": [ + { + "Title": "audit_log_enabled' is set to 'ON' for MySQL flexible server", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "Enable audit_log_enabled on MySQL flexible servers to capture logs for connection attempts, DDL/DML activity, and other database events for security and monitoring purposes.", + "AdditionalInformation": "Logging database activity helps detect unauthorized access, troubleshoot issues, and analyze performance bottlenecks. Enabling audit logs enhances security visibility, compliance monitoring, and incident response by providing valuable insights into database operations.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.1.6", + "Description": "Ensure server parameter 'audit_log_events' has 'CONNECTION' set for MySQL flexible server", + "Checks": [ + "mysql_flexible_server_audit_log_connection_activated" + ], + "Attributes": [ + { + "Title": "audit_log_events' has 'CONNECTION' set for MySQL flexible server", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "Configure audit_log_events on MySQL flexible servers to include CONNECTION events, ensuring that successful and failed connection attempts are logged.", + "AdditionalInformation": "Logging CONNECTION events provides visibility into authentication attempts, helping to detect unauthorized access, troubleshoot issues, and optimize database performance. These logs are essential for security monitoring, compliance, and identifying potential misconfigurations or attack attempts.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.1.7", + "Description": "Ensure that logging for Azure Key Vault is 'Enabled' ", + "Checks": [ + "keyvault_logging_enabled" + ], + "Attributes": [ + { + "Title": "Logging for Azure Keyvault enabled", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "Enable AuditEvent logging for Azure Key Vault to track and log interactions with keys, certificates, and other sensitive information.", + "AdditionalInformation": "Logging Key Vault access events provides an audit trail that helps monitor who accessed the vault, when, and how. This enhances security, compliance, and incident response by ensuring logs are stored in a designated Azure Storage account or Log Analytics workspace, allowing centralized monitoring across multiple Key Vaults.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.1.8", + "Description": "Ensure that Network Security Group Flow logs are captured and sent to Log Analytics", + "Checks": [ + "network_flow_log_captured_sent" + ], + "Attributes": [ + { + "Title": "Network Security Group Flow logs are captured and sent to Log Analytics", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "Ensure that network flow logs are collected and sent to a central Log Analytics workspace for monitoring and analysis.", + "AdditionalInformation": "Capturing network flow logs provides visibility into traffic patterns across your network, helping detect anomalies, potential lateral movement, and security threats. These logs integrate with Azure Monitor and Azure Sentinel, enabling advanced analytics and visualization for improved network security and incident response.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.1.9", + "Description": "Ensure that logging for Azure AppService 'HTTP logs' is enabled", + "Checks": [ + "app_http_logs_enabled" + ], + "Attributes": [ + { + "Title": "Logging for Azure AppService 'HTTP logs' is enabled", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "Enable AppServiceHTTPLogs for Azure App Service instances to capture and centrally log all HTTP requests.", + "AdditionalInformation": "Logging web requests provides critical data for security monitoring and incident response. Captured logs can be ingested into a SIEM or central log aggregation system, helping security analysts detect anomalies, investigate threats, and enhance application security.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.2.1", + "Description": "Ensure that 'Auditing' Retention is 'greater than 90 days'", + "Checks": [ + "sqlserver_auditing_retention_90_days" + ], + "Attributes": [ + { + "Title": "Auditing' Retention is 'greater than 90 days'", + "Section": "3. Logging and Monitoring", + "SubSection": "3.2 Retention", + "AttributeDescription": "Configure SQL Server Audit Retention to retain logs for more than 90 days to ensure long-term visibility into database activity and security events.", + "AdditionalInformation": "Maintaining audit logs for over 90 days helps detect anomalies, security breaches, and unauthorized access. Longer retention periods allow organizations to analyze historical data, support compliance requirements, and strengthen forensic investigations.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.2.1", + "Description": "Ensure that Network Security Group Flow Log retention period is 'greater than 90 days'", + "Checks": [ + "network_flow_log_more_than_90_days" + ], + "Attributes": [ + { + "Title": "Network Security Group Flow Log retention period is 'greater than 90 days'", + "Section": "3. Logging and Monitoring", + "SubSection": "3.2 Retention", + "AttributeDescription": "Enable Network Security Group (NSG) Flow Logs and configure the retention period to at least 90 days to capture and store IP traffic data for security monitoring and analysis.", + "AdditionalInformation": "NSG Flow Logs provide visibility into network traffic, helping detect anomalies, unauthorized access, and potential security breaches. Retaining logs for at least 90 days ensures that historical data is available for incident investigation, compliance, and forensic analysis, strengthening overall network security monitoring.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.2.2", + "Description": "Ensure server parameter 'logfiles.retention_days' is greater than 3 days for PostgreSQL flexible server", + "Checks": [ + "postgresql_flexible_server_log_retention_days_greater_3" + ], + "Attributes": [ + { + "Title": "logfiles.retention_days' is greater than 3 days for PostgreSQL flexible server", + "Section": "3. Logging and Monitoring", + "SubSection": "3.2 Retention", + "AttributeDescription": "Ensure that logfiles.retention_days on PostgreSQL flexible servers is set to an appropriate value to maintain access to historical logs for monitoring and troubleshooting.", + "AdditionalInformation": "Setting an appropriate log retention period ensures that query and error logs are available for diagnosing configuration issues, troubleshooting errors, and optimizing performance. Retaining logs for a sufficient duration supports security analysis, compliance requirements, and operational debugging while preventing unnecessary storage consumption.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.2.3", + "Description": "Ensure that a 'Diagnostic Setting' exists for Subscription Activity Logs", + "Checks": [ + "monitor_diagnostic_settings_exists" + ], + "Attributes": [ + { + "Title": "Diagnostic Setting' exists for Subscription Activity Logs", + "Section": "3. Logging and Monitoring", + "SubSection": "3.2 Retention", + "AttributeDescription": "Enable Diagnostic Settings to export activity logs for all appropriate resources within a subscription, ensuring long-term visibility into security and operational events.", + "AdditionalInformation": "By default, logs are retained for only 90 days. Configuring diagnostic settings allows logs to be exported and stored for extended periods, enabling security analysis, compliance monitoring, and forensic investigations within an Azure subscription.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.3.1", + "Description": "Ensure that 'Auditing' is set to 'On' ", + "Checks": [ + "sqlserver_auditing_enabled" + ], + "Attributes": [ + { + "Title": "Auditing' is set to 'On'", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Enable auditing on Azure SQL Servers to track and log database events for security and compliance purposes.", + "AdditionalInformation": "Auditing at the server level ensures that all existing and newly created databases inherit auditing policies, providing consistent monitoring across the SQL environment. It does not override database-level auditing policies but complements them. Audit logs are stored in Azure Storage, helping organizations maintain regulatory compliance, monitor database activity, and detect anomalies that may indicate security threats or operational concerns.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.3.10", + "Description": "Ensure that Activity Log Alert exists for Delete SQL Server Firewall Rule", + "Checks": [ + "monitor_alert_delete_sqlserver_fr" + ], + "Attributes": [ + { + "Title": "Activity Log Alert exists for Delete SQL Server Firewall Rule", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Create an Activity Log Alert for the Delete SQL Server Firewall Rule event to monitor and track firewall rule removals in SQL Server.", + "AdditionalInformation": "Monitoring firewall rule deletions helps detect unauthorized or accidental changes that could expose the database to security risks. Timely alerts ensure quick detection and response to prevent unauthorized network access and maintain a secure SQL environment.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.3.11", + "Description": "Ensure that Activity Log Alert exists for Create or Update Public IP Address rule", + "Checks": [ + "monitor_alert_create_update_public_ip_address_rule" + ], + "Attributes": [ + { + "Title": "Activity Log Alert exists for Create or Update Public IP Address rule", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Create an Activity Log Alert for the Create or Update Public IP Address event to monitor changes in public IP configurations.", + "AdditionalInformation": "Tracking public IP address modifications provides visibility into network access changes, helping detect unauthorized or misconfigured public exposure. Timely alerts enable faster detection and response to potential security risks, ensuring a controlled and secure network environment.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "3.3.12", + "Description": "Ensure that Activity Log Alert exists for Delete Public IP Address rule", + "Checks": [ + "monitor_alert_delete_public_ip_address_rule" + ], + "Attributes": [ + { + "Title": "Activity Log Alert exists for Delete Public IP Address rule", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Create an Activity Log Alert for the Delete Public IP Address event to monitor and track the removal of public IP addresses.", + "AdditionalInformation": "Monitoring public IP deletions helps detect unauthorized or accidental changes that could impact network accessibility or security. Timely alerts enable quick investigation and response, ensuring that critical network configurations remain intact and secure.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.3.13", + "Description": "Ensure Application Insights are Configured", + "Checks": [ + "appinsights_ensure_is_configured" + ], + "Attributes": [ + { + "Title": "Application Insights are Configured", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Application Insights in Azure serves as an Application Performance Monitoring (APM) solution, providing valuable insights into application performance, telemetry data, and trace logs. It helps organizations monitor application health and troubleshoot incidents efficiently.", + "AdditionalInformation": "Enabling Application Insights enhances security monitoring and performance optimization by collecting metrics, telemetry, and trace logs. These logs aid in proactive performance tuning to reduce costs and support incident response by helping identify the root cause of potential security or operational issues. Integrating Application Insights into a broader logging and monitoring strategy strengthens an organization’s overall observability and security posture.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.3.14", + "Description": "Ensure that Network Watcher is 'Enabled' for Azure Regions that are in use", + "Checks": [ + "network_watcher_enabled" + ], + "Attributes": [ + { + "Title": "Network Watcher 'Enabled' for used Regions", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Enable Network Watcher for all Azure regions within your subscription to monitor and diagnose network activity.", + "AdditionalInformation": "Network Watcher provides network diagnostic and visualization tools that help organizations analyze traffic, troubleshoot connectivity issues, and detect anomalies. Enabling it enhances network visibility, security monitoring, and operational insights across Azure environments.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.3.15", + "Description": "Ensure that Endpoint Protection for all Virtual Machines is installed", + "Checks": [ + "defender_assessments_vm_endpoint_protection_installed" + ], + "Attributes": [ + { + "Title": "Endpoint Protection for all Virtual Machines is installed", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Ensure endpoint protection is installed on all Azure Virtual Machines (VMs) to provide real-time security monitoring and threat detection.", + "AdditionalInformation": "Endpoint protection helps detect and remove malware, viruses, and other security threats, protecting VMs from compromise and unauthorized access. It also provides configurable alerts for suspicious activity, enhancing security monitoring and incident response across Azure environments.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.3.16", + "Description": "Ensure that Microsoft Defender Recommendation for 'Apply system updates' status is 'Completed'", + "Checks": [ + "defender_ensure_system_updates_are_applied" + ], + "Attributes": [ + { + "Title": "Defender Recommendation for 'Apply system updates' status is 'Completed'", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Ensure that all Windows and Linux Virtual Machines (VMs) have the latest OS patches and security updates applied to mitigate vulnerabilities and improve system stability.", + "AdditionalInformation": "Keeping VMs updated helps address security vulnerabilities, bug fixes, and stability improvements. Microsoft Defender for Cloud continuously checks for missing critical and security updates using Windows Update, WSUS, or Linux package managers. Applying recommended updates reduces the risk of exploits, malware, and performance issues, ensuring a secure and resilient cloud environment.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.3.17", + "Description": "Ensure that Microsoft Cloud Security Benchmark policies are not set to 'Disabled'", + "Checks": [ + "policy_ensure_asc_enforcement_enabled" + ], + "Attributes": [ + { + "Title": "Microsoft Cloud Security Benchmark policies are not set to 'Disabled'", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Ensure that all Microsoft Cloud Security Benchmark (MCSB) policies are enabled to effectively evaluate resource configurations against best practice security recommendations.", + "AdditionalInformation": "The MCSB Policy Initiative enforces security best practices and helps ensure compliance with organizational and regulatory requirements. If a policy’s Effect is set to Disabled, it will not be evaluated, potentially preventing administrators from detecting security misconfigurations. Keeping all MCSB policies enabled allows Microsoft Defender for Cloud to assess relevant resources and provide actionable security insights to strengthen cloud security.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "3.3.18", + "Description": "Ensure That 'All users with the following roles' is set to 'Owner'", + "Checks": [ + "defender_ensure_notify_emails_to_owners" + ], + "Attributes": [ + { + "Title": "All users with the following roles' is set to 'Owner'", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Ensure that security alert emails are enabled for subscription owners to receive notifications about potential security threats and vulnerabilities.", + "AdditionalInformation": "Enabling security alert emails ensures that subscription owners are promptly informed of security incidents, threats, or misconfigurations detected by Microsoft Defender for Cloud. Timely notifications allow administrators to take immediate action, mitigate risks, and maintain a strong security posture within the Azure environment.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.3.19", + "Description": "Ensure 'Additional email addresses' is Configured with a Security Contact Email", + "Checks": [ + "defender_additional_email_configured_with_a_security_contact" + ], + "Attributes": [ + { + "Title": "Additional email addresses' is Configured with a Security Contact Email", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Configure Microsoft Defender for Cloud to send high-severity security alerts to a designated security contact email in addition to the subscription owner.", + "AdditionalInformation": "By default, Microsoft Defender for Cloud notifies only subscription owners of critical security alerts. Adding a security contact email ensures that the security team is promptly informed of potential threats, allowing for faster response and risk mitigation to maintain a secure Azure environment.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.3.2", + "Description": "Ensure Diagnostic Setting captures appropriate categories", + "Checks": [ + "monitor_diagnostic_setting_with_appropriate_categories" + ], + "Attributes": [ + { + "Title": "Diagnostic Setting captures appropriate categories", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Ensure that Diagnostic Settings are configured to log relevant control and management plane activities for enhanced visibility and security monitoring. (Note: A Diagnostic Setting must exist for this configuration to be available.)", + "AdditionalInformation": "Diagnostic settings determine how logs are exported and stored. Capturing logs from the control and management plane enables proper alerting, monitoring, and analysis of administrative actions, helping to detect unauthorized changes and security threats.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.3.20", + "Description": "Ensure That 'Notify about alerts with the following severity' is Set to 'High'", + "Checks": [ + "defender_ensure_notify_alerts_severity_is_high" + ], + "Attributes": [ + { + "Title": "Notify about alerts with the following severity' is Set to 'High'", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Enable security alert emails to notify the subscription owner or designated security contacts about potential security threats.", + "AdditionalInformation": "Ensuring security alerts are sent to the appropriate personnel allows for timely detection and response to security incidents. This helps mitigate risks by ensuring that critical threats and vulnerabilities are addressed promptly, improving the overall security posture of the Azure environment.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.3.21", + "Description": "Ensure That Microsoft Defender for DNS Is Set To 'On'", + "Checks": [ + "defender_ensure_defender_for_dns_is_on" + ], + "Attributes": [ + { + "Title": "Defender for DNS Is Set To 'On'", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Enable Microsoft Defender for DNS to monitor and scan outgoing DNS traffic within a subscription for potential security threats. (Note: As of August 1, 2023, new subscribers receive DNS threat alerts as part of Defender for Servers P2.)", + "AdditionalInformation": "Defender for DNS analyzes DNS queries against a dynamic threat intelligence list to detect potential malicious activity, compromised services, or security breaches. Monitoring DNS lookups helps identify and prevent threats such as data exfiltration, command and control (C2) communications, and phishing attacks, improving overall network security.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.3.3", + "Description": "Ensure that Activity Log Alert exists for Create Policy Assignment", + "Checks": [ + "monitor_alert_create_policy_assignment" + ], + "Attributes": [ + { + "Title": "Activity Log Alert exists for Create Policy Assignment", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Create an activity log alert for the Create Policy Assignment event to track changes in Azure Policy assignments.", + "AdditionalInformation": "Monitoring policy assignment events helps detect unauthorized or unintended changes in Azure policies, providing greater visibility and reducing the time required to identify and respond to policy modifications.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.3.4", + "Description": "Ensure that Activity Log Alert exists for Delete Policy Assignment", + "Checks": [ + "monitor_alert_delete_policy_assignment" + ], + "Attributes": [ + { + "Title": "Activity Log Alert exists for Delete Policy Assignment", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Create an activity log alert for the Delete Policy Assignment event to monitor and track policy removal activities in Azure Policy assignments.", + "AdditionalInformation": "Monitoring policy deletions helps detect unauthorized or unintended changes, ensuring policy integrity and reducing the time required to identify and respond to security or compliance violations.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.3.5", + "Description": "Ensure that Activity Log Alert exists for Create or Update Network Security Group", + "Checks": [ + "monitor_alert_create_update_nsg" + ], + "Attributes": [ + { + "Title": "Activity Log Alert exists for Create or Update Network Security Group", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Create an Activity Log Alert for the Create or Update Network Security Group (NSG) event to track changes in network security configurations.", + "AdditionalInformation": "Monitoring NSG creation and updates provides visibility into network access changes, helping to detect unauthorized modifications and identify potential security risks in a timely manner.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.3.6", + "Description": "Ensure that Activity Log Alert exists for Delete Network Security Group", + "Checks": [ + "monitor_alert_delete_nsg" + ], + "Attributes": [ + { + "Title": "Activity Log Alert exists for Delete Network Security Group", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Create an Activity Log Alert for the Delete Network Security Group (NSG) event to monitor and track network security group removals.", + "AdditionalInformation": "Monitoring NSG deletions provides visibility into network access changes, helping to detect unauthorized modifications and identify potential security threats before they impact the environment.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.3.7", + "Description": "Ensure that Activity Log Alert exists for Create or Update Security Solution", + "Checks": [ + "monitor_alert_create_update_security_solution" + ], + "Attributes": [ + { + "Title": "Activity Log Alert exists for Create or Update Security Solution", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Create an Activity Log Alert for the Create or Update Security Solution event to track modifications to security solutions in your environment.", + "AdditionalInformation": "Monitoring security solution changes provides visibility into updates, additions, or modifications to active security configurations. This helps detect unauthorized changes or suspicious activity and ensures that security controls remain properly configured.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.3.8", + "Description": "Ensure that Activity Log Alert exists for Delete Security Solution", + "Checks": [ + "monitor_alert_delete_security_solution" + ], + "Attributes": [ + { + "Title": "Activity Log Alert exists for Delete Security Solution", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Create an Activity Log Alert for the Delete Security Solution event to monitor and track the removal of security solutions in your environment.", + "AdditionalInformation": "Monitoring security solution deletions helps detect unauthorized removals or suspicious activity, ensuring that critical security controls are not accidentally or maliciously disabled. This improves security visibility and helps maintain a strong security posture.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.3.9", + "Description": "Ensure that Activity Log Alert exists for Create or Update SQL Server Firewall Rule", + "Checks": [ + "monitor_alert_create_update_sqlserver_fr" + ], + "Attributes": [ + { + "Title": "Activity Log Alert exists for Create or Update SQL Server Firewall Rule", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Create an Activity Log Alert for the Create or Update SQL Server Firewall Rule event to track changes in SQL Server firewall configurations.", + "AdditionalInformation": "Monitoring firewall rule modifications provides visibility into network access changes, helping detect unauthorized updates that could expose the database to security risks. Timely alerts can reduce the time needed to identify and respond to suspicious activity, ensuring a secure SQL environment.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "4.1.1", + "Description": "Ensure server parameter 'require_secure_transport' is set to 'ON' for PostgreSQL flexible server", + "Checks": [ + "postgresql_flexible_server_enforce_ssl_enabled" + ], + "Attributes": [ + { + "Title": "require_secure_transport' is set to 'ON' for PostgreSQL flexible server", + "Section": "4. Encryption", + "SubSection": "4.1 In-Transit", + "AttributeDescription": "Enable require_secure_transport on PostgreSQL flexible servers to enforce SSL connections between the database server and client applications, ensuring encrypted communication.", + "AdditionalInformation": "Requiring SSL encryption helps protect data in transit from man-in-the-middle attacks by securing the connection between the database server and client applications. Enforcing secure transport prevents unauthorized access and strengthens data integrity and confidentiality.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "4.1.2", + "Description": "Ensure server parameter 'require_secure_transport' is set to 'ON' for MySQL flexible server", + "Checks": [ + "postgresql_flexible_server_enforce_ssl_enabled" + ], + "Attributes": [ + { + "Title": "require_secure_transport' is set to 'ON' for MySQL flexible server", + "Section": "4. Encryption", + "SubSection": "4.1 In-Transit", + "AttributeDescription": "Enable require_secure_transport on MySQL flexible servers to enforce SSL encryption between the database server and client applications, ensuring secure communication.", + "AdditionalInformation": "Requiring SSL connectivity protects data in transit from man-in-the-middle attacks by encrypting communication between client applications and the database server. Enforcing secure transport helps prevent unauthorized access and data interception, strengthening the overall security posture of the database.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "4.1.3", + "Description": "Ensure the 'Minimum TLS version' for storage accounts is set to 'Version 1.2'", + "Checks": [ + "storage_ensure_minimum_tls_version_12" + ], + "Attributes": [ + { + "Title": "Minimum TLS version' for storage accounts is set to 'Version 1.2'", + "Section": "4. Encryption", + "SubSection": "4.1 In-Transit", + "AttributeDescription": "Ensure that the minimum TLS version for Azure Storage is set to TLS 1.2 or higher to mitigate security vulnerabilities associated with older TLS versions.", + "AdditionalInformation": "TLS 1.0 is outdated and has known security vulnerabilities that can expose data in transit to attacks and interception. Upgrading to TLS 1.2 or later enhances encryption security, ensuring secure communication between clients and Azure Storage while reducing the risk of data compromise.", + "LevelOfRisk": 2 + } + ] + }, + { + "Id": "4.1.4", + "Description": "Ensure 'HTTPS Only' is set to `On`", + "Checks": [ + "app_ensure_http_is_redirected_to_https" + ], + "Attributes": [ + { + "Title": "`HTTPS Only' is set to `On`", + "Section": "4. Encryption", + "SubSection": "4.1 In-Transit", + "AttributeDescription": "Configure Azure App Service to enforce HTTPS-only traffic, ensuring that all HTTP requests are automatically redirected to HTTPS for secure communication.", + "AdditionalInformation": "Enforcing HTTPS protects data in transit by using TLS/SSL encryption, preventing man-in-the-middle attacks and ensuring secure authentication. Redirecting non-secure HTTP traffic to HTTPS enhances the confidentiality and integrity of application communications, reducing exposure to security vulnerabilities.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "4.1.5", + "Description": "Ensure Web App is using the latest version of TLS encryption", + "Checks": [ + "app_minimum_tls_version_12" + ], + "Attributes": [ + { + "Title": "Web App is using the latest version of TLS encryption", + "Section": "4. Encryption", + "SubSection": "4.1 In-Transit", + "AttributeDescription": "Ensure that Azure App Service is configured to use TLS 1.2 or higher to secure data transmission and align with industry security standards.", + "AdditionalInformation": "TLS 1.0 and 1.1 are outdated protocols with known vulnerabilities that expose web applications to security threats, including data interception and man-in-the-middle attacks. TLS 1.2 is the recommended encryption standard by industry frameworks such as PCI DSS, providing stronger encryption and improved security for web app connections.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "4.1.6", + "Description": "Ensure that 'HTTP20enabled' is set to 'true'", + "Checks": [ + "app_ensure_using_http20" + ], + "Attributes": [ + { + "Title": "HTTP20enabled' is set to 'true'", + "Section": "4. Encryption", + "SubSection": "4.1 In-Transit", + "AttributeDescription": "Ensure that Azure App Service is configured to use the latest supported HTTP version to benefit from security improvements, performance enhancements, and new functionalities.", + "AdditionalInformation": "Newer HTTP versions provide security enhancements, performance optimizations, and better resource management. HTTP/2, for example, improves efficiency by addressing issues such as head-of-line blocking, header compression, and request prioritization. Keeping apps updated to the latest HTTP version ensures they leverage modern security protocols and enhanced data transmission capabilities while maintaining compatibility and performance standards.", + "LevelOfRisk": 2 + } + ] + }, + { + "Id": "4.2.1", + "Description": "Ensure Storage for Critical Data are Encrypted with Customer Managed Keys (CMK)", + "Checks": [ + "storage_ensure_encryption_with_customer_managed_keys" + ], + "Attributes": [ + { + "Title": "Storage for Critical Data are Encrypted CMK", + "Section": "4. Encryption", + "SubSection": "4.2 At-Rest", + "AttributeDescription": "Enable encryption at rest using Customer Managed Keys (CMK) instead of Microsoft Managed Keys to maintain greater control over sensitive data encryption in Azure Storage accounts.", + "AdditionalInformation": "By default, Azure encrypts all storage resources (blobs, disks, files, queues, and tables) using Microsoft Managed Keys. However, using Customer Managed Keys (CMK) allows organizations to control, manage, and rotate their encryption keys through Azure Key Vault, ensuring compliance with security policies. CMKs also support automatic key version updates for enhanced security. Since this recommendation applies specifically to storage accounts holding critical data, its assessment remains manual rather than automated.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "4.2.2", + "Description": "Ensure SQL server's Transparent Data Encryption (TDE) protector is encrypted with Customer-managed key", + "Checks": [ + "sqlserver_tde_encrypted_with_cmk" + ], + "Attributes": [ + { + "Title": "SQL server's TDE protector is encrypted with CMK", + "Section": "4. Encryption", + "SubSection": "4.2 At-Rest", + "AttributeDescription": "Enable Transparent Data Encryption (TDE) with Customer-Managed Keys (CMK) to enhance control, security, and separation of duties over the TDE Protector. TDE encrypts data at rest using a database encryption key (DEK). Traditionally, DEKs were protected by Azure SQL Service-managed certificates, but with Customer-Managed Key support, the DEK can now be secured using an asymmetric key stored in Azure Key Vault. Azure Key Vault provides centralized key management, FIPS 140-2 Level 2 validated HSMs, and additional security through key and data separation. Based on business needs and data sensitivity, organizations should use Customer-Managed Keys for TDE encryption.", + "AdditionalInformation": "Using Customer-Managed Keys for TDE gives organizations full control over encryption keys, including who can access them and when. Azure Key Vault serves as a secure external key management system, ensuring that TDE encryption keys remain protected from unauthorized access. When configured, the asymmetric key is set at the server level and inherited by all databases under that server, providing consistent encryption management across the environment.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "4.2.3", + "Description": "Ensure that 'Data encryption' is set to 'On' on a SQL Database", + "Checks": [ + "sqlserver_tde_encryption_enabled" + ], + "Attributes": [ + { + "Title": "Data encryption' is set to 'On' on a SQL Database", + "Section": "4. Encryption", + "SubSection": "4.2 At-Rest", + "AttributeDescription": "Enable Transparent Data Encryption (TDE) on all Azure SQL Servers to ensure real-time encryption and decryption of databases, backups, and transaction logs at rest. TDE operates seamlessly without requiring modifications to applications.", + "AdditionalInformation": "TDE helps protect Azure SQL Databases from unauthorized access and malicious activity by encrypting data at rest. This ensures that database files, backups, and logs remain secure, reducing the risk of data breaches while maintaining operational transparency.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "4.2.4", + "Description": "Ensure the storage account containing the container with activity logs is encrypted with Customer Managed Key (CMK)", + "Checks": [ + "monitor_storage_account_with_activity_logs_cmk_encrypted" + ], + "Attributes": [ + { + "Title": "Storage account with logs encrypted with CMK", + "Section": "4. Encryption", + "SubSection": "4.2 At-Rest", + "AttributeDescription": "Configure storage accounts used for activity log exports to use Customer Managed Keys (CMK) for enhanced security and access control.", + "AdditionalInformation": "Using CMKs for log storage provides additional confidentiality controls, ensuring that only users with read access to the storage account and explicit decrypt permissions can access the logs. This enhances data security by restricting unauthorized access and strengthening compliance with encryption and access management policies.", + "LevelOfRisk": 3 + } + ] + } + ] +} diff --git a/prowler/compliance/gcp/prowler_threatscore_gcp.json b/prowler/compliance/gcp/prowler_threatscore_gcp.json new file mode 100644 index 0000000000..2ccb7e7add --- /dev/null +++ b/prowler/compliance/gcp/prowler_threatscore_gcp.json @@ -0,0 +1,977 @@ +{ + "Framework": "ProwlerThreatScore", + "Version": "1.0", + "Provider": "GCP", + "Description": "Prowler ThreatScore Compliance Framework for GCP ensures that the GCP project is compliant taking into account four main pillars: Identity and Access Management, Attack Surface, Forensic Readiness and Encryption", + "Requirements": [ + { + "Id": "1.1.1", + "Description": "Ensure User-Managed/External Keys for Service Accounts Are Rotated Every 90 Days or Fewer", + "Checks": [ + "iam_sa_user_managed_key_rotate_90_days" + ], + "Attributes": [ + { + "Title": "User-Managed/External Keys for Service Accounts Are Rotated Every 90 Days or Fewer", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "Service account keys consist of a key ID (private_key_id) and a private key, which are used to authenticate programmatic requests to Google Cloud services. It is recommended to regularly rotate service account keys to enhance security and reduce the risk of unauthorized access.", + "AdditionalInformation": "Regularly rotating service account keys minimizes the risk of a compromised, lost, or stolen key being used to access cloud resources. Google-managed keys are automatically rotated daily for internal authentication, ensuring strong security. For user-managed (external) keys, users are responsible for key security, storage, and rotation. Since Google does not retain private keys once generated, proper key management practices must be followed. Google Cloud allows up to 10 external keys per service account, making it easier to rotate them without disruption. Implementing regular key rotation ensures that old keys are not left active, reducing the potential attack surface.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.1.2", + "Description": "Ensure API Keys Only Exist for Active Services", + "Checks": [ + "apikeys_key_exists" + ], + "Attributes": [ + { + "Title": "API Keys Only Exist for Active Services", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "API keys should only be used when no other authentication method is available, as they pose significant security risks. Unused API keys with active permissions may still exist within a project, potentially exposing resources to unauthorized access. It is recommended to use standard authentication flows such as OAuth 2.0 or service account authentication instead.", + "AdditionalInformation": "API keys are inherently insecure because they: Are simple encrypted strings that can be easily exposed in browsers, client-side applications, or devices. Do not authenticate users or applications making API requests. Can be accidentally leaked in logs, repositories, or web traffic.To enhance security, API keys should be avoided when possible, and unused keys should be deleted to minimize the risk of unauthorized access.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.1.3", + "Description": "Ensure API Keys Are Rotated Every 90 Days", + "Checks": [ + "apikeys_key_rotated_in_90_days" + ], + "Attributes": [ + { + "Title": "API Keys Are Rotated Every 90 Days", + "Section": "1. IAM", + "SubSection": "1.1 Authentication", + "AttributeDescription": "API keys should only be used when no other authentication method is available. If API keys are in use, it is recommended to rotate them every 90 days to minimize security risks.", + "AdditionalInformation": "API keys are inherently insecure because: They are simple encrypted strings that can be easily exposed. They do not authenticate users or applications making API requests. They are often accessible to clients, increasing the risk of theft and misuse. Unlike credentials with expiration policies, stolen API keys remain valid indefinitely unless revoked or regenerated. Regularly rotating API keys reduces the risk of unauthorized access by ensuring that compromised keys cannot be used for extended periods. To enhance security, API keys should be rotated every 90 days or as part of a proactive security policy.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.2.1", + "Description": "Ensure That There Are Only GCP-Managed Service Account Keys for Each Service Account", + "Checks": [ + "iam_sa_no_user_managed_keysiam_sa_no_user_managed_keys" + ], + "Attributes": [ + { + "Title": "Only GCP-Managed Service Account Keys for Each Service Account", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "Service accounts should not use user-managed keys, as they introduce security risks and require manual management. Instead, use Google Cloud-managed keys, which are automatically rotated and secured by Google.", + "AdditionalInformation": "User-managed keys are downloadable and manually managed, making them vulnerable to leaks, mismanagement, and unauthorized access. In contrast, GCP-managed keys are non-downloadable, automatically rotated weekly, and securely handled by Google Cloud services like App Engine and Compute Engine. Managing user-generated keys requires key storage, distribution, rotation, revocation, and protectionall of which introduce potential security gaps. Common risks include keys being exposed in source code repositories, left in unsecured locations, or unintentionally shared. To minimize security risks, it is recommended to disable user-managed service account keys and rely on GCP-managed keys instead.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.2.2", + "Description": "Ensure That Service Account Has No Admin Privileges", + "Checks": [ + "iam_sa_no_administrative_privileges" + ], + "Attributes": [ + { + "Title": "SA Has No Admin Privileges", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "A service account is a special Google account assigned to an application or virtual machine (VM) rather than an individual user. It is used to authenticate API requests on behalf of the application. Service accounts should not be granted admin privileges to minimize security risks.", + "AdditionalInformation": "Service accounts control resource access based on their assigned roles. Granting admin privileges to a service account allows full control over applications or VMs, enabling actions like deletion, updates, and configuration changes without user intervention. This increases the risk of misconfigurations, privilege escalation, or potential security breaches. To follow the principle of least privilege, it is recommended to restrict admin access for service accounts and assign only the necessary permissions.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.2.3", + "Description": "Ensure That Cloud KMS Cryptokeys Are Not Anonymously or Publicly Accessible", + "Checks": [ + "kms_key_not_publicly_accessible" + ], + "Attributes": [ + { + "Title": "Cloud KMS Cryptokeys Are Not Anonymously or Publicly Accessible", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "The IAM policy on Cloud KMS cryptographic keys should not allow anonymous (allUsers) or public (allAuthenticatedUsers) access to prevent unauthorized key usage.", + "AdditionalInformation": "Granting permissions to allUsers or allAuthenticatedUsers allows anyone to access the cryptographic keys, which can lead to data exposure, unauthorized encryption/decryption operations, or potential key compromise. This is particularly critical if sensitive data is protected using these keys. To maintain data security and compliance, ensure that Cloud KMS cryptographic keys are only accessible to authorized users, groups, or service accounts and do not have public or anonymous access permissions.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.2.4", + "Description": "Ensure KMS Encryption Keys Are Rotated Within a Period of 90 Days", + "Checks": [ + "kms_key_rotation_enabled" + ], + "Attributes": [ + { + "Title": "KMS Encryption Keys Are Rotated Within a Period of 90 Days", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "Google Cloud Key Management Service (KMS) organizes cryptographic keys in a hierarchical structure to facilitate secure and efficient access control. Keys should be configured with a defined rotation schedule to ensure their cryptographic strength is maintained over time.", + "AdditionalInformation": "Key rotation ensures that new key versions are automatically generated at regular intervals, reducing the risk of key compromise and unauthorized access. The key material (actual encryption bits) changes over time, even though the keys logical identity remains the same. Since cryptographic keys protect sensitive data, setting a specific rotation period ensures that encrypted data remains secure, minimizes the impact of a potential key leak, and aligns with best security practices.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.2.5", + "Description": "Ensure That Separation of Duties Is Enforced While Assigning KMS Related Roles to Users", + "Checks": [ + "iam_role_kms_enforce_separation_of_duties" + ], + "Attributes": [ + { + "Title": "Separation of Duties Is Enforced While Assigning KMS Related Roles to Users", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "The principle of Separation of Duties should be enforced when assigning Google Cloud Key Management Service (KMS) roles to users. This prevents excessive privileges and reduces security risks.", + "AdditionalInformation": "The Cloud KMS Admin role grants the ability to create, delete, and manage keys, while the Cloud KMS CryptoKey Encrypter/Decrypter, Encrypter, and Decrypter roles control encryption and decryption of data. Granting both administrative and cryptographic privileges to the same user violates the Separation of Duties principle, potentially allowing unauthorized access to sensitive data. To mitigate risks and prevent privilege escalation, no user should hold the Cloud KMS Admin role along with any of the CryptoKey Encrypter/Decrypter roles. Enforcing Separation of Duties helps ensure secure key management and aligns with security best practices.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.2.6", + "Description": "Ensure API Keys Are Restricted to Only APIs That Application Needs Access", + "Checks": [ + "apikeys_api_restrictions_configured" + ], + "Attributes": [ + { + "Title": "API Keys Are Restricted to Only APIs That Application Needs Access", + "Section": "1. IAM", + "SubSection": "1.2 Authorization", + "AttributeDescription": "API keys should only be used when no other authentication method is available, as they pose a higher security risk due to their public visibility. To minimize exposure, API keys should be restricted to access only the specific APIs required by an application.", + "AdditionalInformation": "API keys present several security risks, including: They are simple encrypted strings that can be easily exposed in client-side applications or browsers. They do not authenticate the user or application making API requests. They are often accessible to clients, making them susceptible to discovery and theft. Google recommends using standard authentication methods instead of API keys whenever possible. However, in limited scenarios where API keys are necessary (e.g., mobile applications using Google Cloud Translation API without a backend server), restricting API key access to only the required APIs helps enforce least privilege access and reduces attack surfaces.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "1.3.1", + "Description": "Ensure That IAM Users Are Not Assigned the Service Account User or Service Account Token Creator Roles at Project Level", + "Checks": [ + "iam_no_service_roles_at_project_level" + ], + "Attributes": [ + { + "Title": "IAM Users Are Not Assigned the SA User or SA Token Creator Roles at Project Level", + "Section": "1. IAM", + "SubSection": "1.3 Privilege Escalation Prevention", + "AttributeDescription": "It is recommended to assign the Service Account User (iam.serviceAccountUser) and Service Account Token Creator (iam.serviceAccountTokenCreator) roles to users at the service account level rather than granting them project-wide access.", + "AdditionalInformation": "Service accounts are identities used by applications and virtual machines (VMs) to interact with Google Cloud APIs. They also function as resources with IAM policies defining who can use them. Granting service account permissions at the project level allows users to access all service accounts within the project, including any created in the future. This increases the risk of privilege escalation, as users with Compute Instance Admin or App Engine Deployer roles could execute code as a service account, gaining access to additional resources. To enforce the principle of least privilege, users should be assigned service account roles at the specific service account level rather than at the project level. This ensures that each user has access only to the necessary service accounts while preventing unintended privilege escalation.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.3.2", + "Description": "Ensure That Separation of Duties Is Enforced While Assigning Service Account Related Roles to Users", + "Checks": [ + "iam_role_kms_enforce_separation_of_duties" + ], + "Attributes": [ + { + "Title": "Separation of Duties Is Enforced While Assigning Service Account Related Roles to Users", + "Section": "1. IAM", + "SubSection": "1.3 Privilege Escalation Prevention", + "AttributeDescription": "It is recommended to enforce the principle of Separation of Duties when assigning service account-related IAM roles to users to prevent excessive privileges and security risks.", + "AdditionalInformation": "The Service Account Admin role allows a user to create, delete, and manage service accounts, while the Service Account User role allows a user to assign service accounts to applications or compute instances. Granting both roles to the same user violates the Separation of Duties principle, as it would allow an individual to create and assign service accounts, potentially leading to unauthorized access or privilege escalation. To minimize security risks, no user should be assigned both Service Account Admin and Service Account User roles simultaneously. Enforcing Separation of Duties ensures better access control, reduces the risk of privilege abuse, and aligns with security best practices.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.3.3", + "Description": "Ensure That Cloud Audit Logging Is Configured Properly", + "Checks": [ + "iam_audit_logs_enabled" + ], + "Attributes": [ + { + "Title": "Cloud Audit Logging Is Configured Properly", + "Section": "1. IAM", + "SubSection": "1.3 Privilege Escalation Prevention", + "AttributeDescription": "Cloud Audit Logging should be configured to track all administrative activities and read/write access to user data. This ensures comprehensive visibility into who accessed or modified resources within a project, folder, or organization.", + "AdditionalInformation": "Cloud Audit Logging maintains two types of audit logs: 1. Admin Activity Logs Captures API calls and administrative actions that modify configurations or metadata. These logs are enabled by default and cannot be disabled. 2. Data Access Logs Tracks API calls that create, modify, or read user data. These logs are disabled by default and should be enabled for better monitoring. Data Access Logs provide three types of visibility: Admin Read Tracks metadata or configuration reads. Data Read Logs operations where user-provided data is accessed. Data Write Captures modifications to user-provided data.To ensure effective logging, it is recommended to: 1. Enable DATA_READ logs (for user activity tracking) and DATA_WRITE logs (to track modifications). 2. Apply audit logging to all supported services where Data Access logs are available. 3.Avoid exempting users from audit logs to maintain full tracking capabilities. Properly configuring Cloud Audit Logging helps strengthen security, detect unauthorized access, and ensure compliance with security policies.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.3.4", + "Description": "Ensure Log Metric Filter and Alerts Exist for Project Ownership Assignments/Changes", + "Checks": [ + "logging_log_metric_filter_and_alert_for_project_ownership_changes_enabled" + ], + "Attributes": [ + { + "Title": "Log Metric Filter and Alerts Exist for Project Ownership Assignments/Changes", + "Section": "1. IAM", + "SubSection": "1.3 Privilege Escalation Prevention", + "AttributeDescription": "In order to prevent unnecessary project ownership assignments to users or service accounts and mitigate potential misuse of projects and resources, all role assignments to roles/Owner should be monitored. Users or service accounts assigned the roles/Owner primitive role are considered project owners. The Owner role grants full control over the project, including: full viewer permissions on all GCP services, permissions to modify the state of all services, manage roles and permissions for the project and its resources, and set up billing for the project. Granting the Owner role allows the member to modify the IAM policy, which contains sensitive access control data. To minimize security risks, the Owner role should only be assigned when strictly necessary, and the number of users with this role should be kept to a minimum.", + "AdditionalInformation": "Project ownership has the highest level of privileges within a project, making it a high-risk role if misused. To reduce potential security risks, all project ownership assignments and changes should be monitored and alerted to security teams or relevant recipients. Critical events to monitor include: sending project ownership invitations, acceptance or rejection of ownership invites, assigning the roles/Owner role to a user or service account, and removing a user or service account from the roles/Owner role. Monitoring these activities helps prevent unauthorized access, enforces least privilege principles, and improves security auditing and compliance.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.3.5", + "Description": "Ensure That the Log Metric Filter and Alerts Exist for Audit Configuration Changes", + "Checks": [ + "logging_log_metric_filter_and_alert_for_audit_configuration_changes_enabled" + ], + "Attributes": [ + { + "Title": "Log Metric Filter and Alerts Exist for Audit Configuration Changes", + "Section": "1. IAM", + "SubSection": "1.3 Privilege Escalation Prevention", + "AttributeDescription": "Google Cloud Platform (GCP) services generate audit log entries in the Admin Activity and Data Access logs, providing visibility into who performed what action, where, and when within GCP projects. These logs capture key details such as the identity of the API caller, timestamp, source IP address, request parameters, and response data. Cloud audit logging records API calls made through the GCP Console, SDKs, command-line tools, and other GCP services, offering a comprehensive activity history for security monitoring and compliance.", + "AdditionalInformation": "Admin activity and data access logs play a critical role in security analysis, resource change tracking, and compliance auditing. Configuring metric filters and alerts for audit configuration changes ensures that audit logging remains in its recommended state, allowing organizations to detect and respond to unauthorized modifications while ensuring all project activities remain fully auditable at any time.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "1.3.6", + "Description": "Ensure That the Log Metric Filter and Alerts Exist for Custom Role Changes", + "Checks": [ + "logging_log_metric_filter_and_alert_for_custom_role_changes_enabled" + ], + "Attributes": [ + { + "Title": "Log Metric Filter and Alerts Exist for Custom Role Changes", + "Section": "1. IAM", + "SubSection": "1.3 Privilege Escalation Prevention", + "AttributeDescription": "It is recommended to set up a metric filter and alarm to track changes to Identity and Access Management (IAM) roles, including their creation, deletion, and updates. Google Cloud IAM provides predefined roles for granular access control but also allows organizations to create custom roles to meet specific needs.", + "AdditionalInformation": "IAM role modifications can impact security by granting excessive privileges if not properly managed. Monitoring role creation, deletion, and updates helps detect potential misconfigurations or over-privileged roles early, ensuring that only intended access permissions are assigned within the organization.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "2.1.1", + "Description": "Ensure That the Default Network Does Not Exist in a Project ", + "Checks": [ + "compute_network_default_in_use" + ], + "Attributes": [ + { + "Title": "Default Network Does Not Exist in a Project ", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "A project should not have a default network to prevent the use of preconfigured and potentially insecure network settings.", + "AdditionalInformation": "The default network automatically creates permissive firewall rules, including unrestricted internal traffic, SSH, RDP, and ICMP access, which increases the risk of unauthorized access. Additionally, it is an auto mode network, limiting flexibility in subnet configuration and restricting the use of Cloud VPN or VPC Network Peering. Organizations should create a custom network tailored to their security and networking needs and remove the default network to minimize exposure.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.1.2", + "Description": "Ensure Legacy Networks Do Not Exist for Older Projects", + "Checks": [ + "compute_network_not_legacy" + ], + "Attributes": [ + { + "Title": "Legacy Networks Do Not Exist for Older Projects", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "Projects should not have a legacy network configured to prevent the use of outdated and inflexible networking models. While new projects can no longer create legacy networks, older projects should be checked to ensure they are not still using them.", + "AdditionalInformation": "Legacy networks use a single global IPv4 prefix and a single gateway IP for the entire network, lacking subnetting capabilities. This design limits flexibility, prevents migration to auto or custom subnet networks, and can create performance bottlenecks or single points of failure for high-traffic workloads. Removing legacy networks and transitioning to modern networking models improves scalability, security, and resilience.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.1.4", + "Description": "Ensure That SSH Access Is Restricted From the Internet", + "Checks": [ + "compute_firewall_ssh_access_from_the_internet_allowed" + ], + "Attributes": [ + { + "Title": "SSH Access Is Restricted From the Internet", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "GCP Firewall Rules control ingress and egress traffic within a VPC Network. These rules define traffic conditions such as ports, protocols, and source/destination IPs. Firewall rules operate at the VPC level and cannot be shared across networks. Only IPv4 addresses are supported, and it is crucial to restrict generic (0.0.0.0/0) incoming traffic, particularly for SSH on Port 22, to prevent unauthorized access.", + "AdditionalInformation": "Firewall rules regulate traffic flow between instances and external networks. Allowing unrestricted inbound SSH access (0.0.0.0/0 on port 22) increases security risks by exposing instances to unauthorized access and brute-force attacks. To minimize threats, internet-facing access should be limited by specifying granular IP ranges and enforcing least privilege access.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.1.5", + "Description": "Ensure That RDP Access Is Restricted From the Internet", + "Checks": [ + "compute_firewall_rdp_access_from_the_internet_allowed" + ], + "Attributes": [ + { + "Title": "RDP Access Is Restricted From the Internet", + "Section": "2. Attack Surface", + "SubSection": "2.1 Network", + "AttributeDescription": "GCP Firewall Rules control incoming (ingress) and outgoing (egress) traffic within a VPC Network. Each rule specifies traffic conditions, including ports, protocols, and source/destination IPs. These rules operate at the VPC level, cannot be shared across networks, and support only IPv4 addresses. To enhance security, unrestricted RDP access (0.0.0.0/0 on port 3389) should be avoided to prevent unauthorized remote connections.", + "AdditionalInformation": "Firewall rules regulate traffic flow between instances and external networks. Allowing unrestricted RDP access from the Internet exposes virtual machines (VMs) to unauthorized access and brute-force attacks. To mitigate risks, internet-facing access should be restricted by enforcing least privilege access, defining specific IP ranges, and implementing secure remote access solutions such as Bastion hosts or VPNs.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.2.1", + "Description": "Ensure That Cloud Storage Bucket Is Not Anonymously or Publicly Accessible", + "Checks": [ + "cloudstorage_bucket_public_access" + ], + "Attributes": [ + { + "Title": "Cloud Storage Bucket Is Not Anonymously or Publicly Accessible", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "IAM policies on Cloud Storage buckets should not allow anonymous or public access to prevent unauthorized data exposure.", + "AdditionalInformation": "Granting public or anonymous access allows anyone to access the buckets contents, posing a security risk, especially if sensitive data is stored. Restricting access ensures that only authorized users can interact with the bucket, reducing the risk of data breaches.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.2.2", + "Description": "Ensure 'user Connections' Database Flag for Cloud Sql Sql Server Instance Is Set to a Non-limiting Value", + "Checks": [ + "cloudsql_instance_sqlserver_user_connections_flag" + ], + "Attributes": [ + { + "Title": "user Connections Database Flag for Cloud Sql Sql Server Instance Is Set to a Non-limiting Value", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Verify the user connection limits for Cloud SQL SQL Server instances to ensure they are not unnecessarily restricting the number of simultaneous connections.", + "AdditionalInformation": "The user connections setting controls the maximum number of concurrent user connections allowed on an SQL Server instance. By default, SQL Server dynamically adjusts the number of connections as needed, up to a maximum of 32,767. Setting an artificial limit may prevent new connections from being established, leading to potential data loss or service outages. It is recommended to review and adjust this setting as necessary to avoid disruptions.", + "LevelOfRisk": 2 + } + ] + }, + { + "Id": "2.2.3", + "Description": "Ensure 'remote access' database flag for Cloud SQL SQL Server instance is set to 'off'", + "Checks": [ + "cloudsql_instance_sqlserver_remote_access_flag" + ], + "Attributes": [ + { + "Title": "remote access database flag for Cloud SQL SQL Server instance is set to off", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Disable the remote access database flag for Cloud SQL SQL Server instances to prevent execution of stored procedures from remote servers.", + "AdditionalInformation": "The remote access option allows stored procedures to be executed from or on remote SQL Server instances. By default, this setting is enabled, which could be exploited for unauthorized query execution or Denial-of-Service (DoS) attacks by offloading processing to a target server. Disabling remote access enhances security by restricting stored procedure execution to the local server, reducing potential attack vectors. This recommendation applies to SQL Server database instances.", + "LevelOfRisk": 2 + } + ] + }, + { + "Id": "2.2.5", + "Description": "Ensure That Cloud SQL Database Instances Do Not Implicitly Whitelist All Public IP Addresses", + "Checks": [ + "cloudsql_instance_public_access" + ], + "Attributes": [ + { + "Title": "Cloud SQL Database Instances Do Not Implicitly Whitelist All Public IP Addresses", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Restrict database server access to only trusted networks and IP addresses, preventing connections from public IPs.", + "AdditionalInformation": "Allowing unrestricted access to a database server increases the risk of unauthorized access and attacks. To minimize the attack surface, only trusted and necessary IP addresses should be whitelisted. Authorized networks should not be set to 0.0.0.0/0, which permits connections from anywhere. This control applies specifically to instances with public IP addresses.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.2.6", + "Description": "Ensure That Cloud SQL Database Instances Do Not Have Public IPs", + "Checks": [ + "cloudsql_instance_public_access" + ], + "Attributes": [ + { + "Title": "Cloud SQL Database Instances Do Not Have Public IPs", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Configure Second Generation Cloud SQL instances to use private IPs instead of public IPs.", + "AdditionalInformation": "Using private IPs for Cloud SQL databases enhances security by reducing exposure to external threats. It also improves network performance and lowers latency by keeping traffic within the internal network, minimizing the attack surface of the database.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "2.2.7", + "Description": "Ensure That BigQuery Datasets Are Not Anonymously or Publicly Accessible", + "Checks": [ + "bigquery_dataset_public_access" + ], + "Attributes": [ + { + "Title": "BigQuery Datasets Are Not Anonymously or Publicly Accessible", + "Section": "2. Attack Surface", + "SubSection": "2.2 Storage", + "AttributeDescription": "Ensure that IAM policies on BigQuery datasets do not allow anonymous or public access.", + "AdditionalInformation": "Granting access to allUsers or allAuthenticatedUsers permits unrestricted access to the dataset, which can lead to unauthorized data exposure. To protect sensitive information, public or anonymous access should be strictly prohibited.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.3.3", + "Description": "Ensure That Instances Are Not Configured To Use the Default Service Account With Full Access to All Cloud APIs", + "Checks": [ + "compute_instance_default_service_account_in_use_with_full_api_access" + ], + "Attributes": [ + { + "Title": "Instances Are Not Configured To Use the Default Service Account With Full Access to All Cloud APIs", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "To enforce the principle of least privilege and prevent potential privilege escalation, instances should not be assigned the Compute Engine default service account with the scope Allow full access to all Cloud APIs.", + "AdditionalInformation": "Google Compute Engine provides a default service account for instances to access necessary cloud services. This default service account has the Project Editor role, granting broad permissions over most cloud services except billing. When assigned to an instance, it can operate in three modes: 1.Allow default access Grants minimal required permissions (recommended). 2.Allow full access to all Cloud APIs Grants excessive access to all cloud services (not recommended). 3.Set access for each API Allows administrators to specify required APIs (preferred for least privilege). Assigning an instance the Compute Engine default service account with full access to all APIs can expose cloud operations to unauthorized users based on IAM roles. To reduce security risks, instances should use custom service accounts with minimal required permissions.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "2.3.4", + "Description": "Ensure Block Project-Wide SSH Keys Is Enabled for VM Instances ", + "Checks": [ + "compute_instance_block_project_wide_ssh_keys_disabled" + ], + "Attributes": [ + { + "Title": "Block Project-Wide SSH Keys Is Enabled for VM Instances ", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Instances should use instance-specific SSH keys instead of project-wide SSH keys to enhance security and reduce the risk of unauthorized access.", + "AdditionalInformation": "Project-wide SSH keys are stored in Compute Project metadata and can be used to access all instances within a project. While this simplifies SSH key management, it also increases security risksif a project-wide SSH key is compromised, all instances in the project could be affected. Using instance-specific SSH keys provides better security by limiting access to individual instances, reducing the attack surface in case of key compromise.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.3.5", + "Description": "Ensure Enable Connecting to Serial Ports Is Not Enabled for VM Instance", + "Checks": [ + "compute_instance_serial_ports_in_use" + ], + "Attributes": [ + { + "Title": "Enable Connecting to Serial Ports Is Not Enabled for VM Instance", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "The interactive serial console allows direct access to a virtual machines serial ports, similar to using a terminal window. When enabled, it allows connections from any IP address, creating a potential security risk. It is recommended to disable interactive serial console support.", + "AdditionalInformation": "A virtual machine instance has four virtual serial ports, often used by the operating system, BIOS, or other system-level entities for input and output. The first serial port (serial port 1) is commonly referred to as the serial console. Unlike SSH, the interactive serial console does not support IP-based access restrictions, meaning anyone with the correct SSH key, username, project ID, zone, and instance name could gain access. This exposes the instance to unauthorized access. To mitigate this risk, interactive serial console support should be disabled unless absolutely necessary.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "2.3.6", + "Description": "Ensure That IP Forwarding Is Not Enabled on Instances", + "Checks": [ + "compute_instance_ip_forwarding_is_enabled" + ], + "Attributes": [ + { + "Title": "IP Forwarding Is Not Enabled on Instances", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Google Compute Engine instances should not forward data packets unless explicitly required for routing purposes. By default, an instance cannot forward packets unless the source IP matches the instances IP address. Similarly, GCP wont deliver packets if the destination IP does not match the instance. To prevent unauthorized data forwarding, it is recommended to disable IP forwarding.", + "AdditionalInformation": "When IP forwarding is enabled (canIpForward field), an instance can send and receive packets with non-matching source or destination IPs, effectively allowing it to act as a network router. This can lead to data loss, information disclosure, or unauthorized traffic routing. To maintain security and prevent misuse, IP forwarding should be disabled unless explicitly required for network routing configurations.", + "LevelOfRisk": 2 + } + ] + }, + { + "Id": "2.3.7", + "Description": "Ensure Compute Instances Are Launched With Shielded VM Enabled", + "Checks": [ + "compute_instance_shielded_vm_enabled" + ], + "Attributes": [ + { + "Title": "Compute Instances Are Launched With Shielded VM Enabled", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Shielded VMs are hardened virtual machines on Google Cloud Platform (GCP) designed to protect against rootkits, bootkits, and other low-level attacks. They ensure verifiable integrity using Secure Boot, virtual Trusted Platform Module (vTPM)-enabled Measured Boot, and integrity monitoring.", + "AdditionalInformation": "Shielded VMs use signed and verified firmware from Googles Certificate Authority to establish a root of trust. Secure Boot ensures only authentic software runs by verifying digital signatures, preventing unauthorized modifications. Integrity monitoring helps detect unexpected changes in the VMs boot process, while vTPM-enabled Measured Boot provides a baseline to compare against future boots. Enabling Shielded VMs enhances security by protecting against malware, unauthorized firmware changes, and persistent threats.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "2.3.8", + "Description": "Ensure That Compute Instances Do Not Have Public IP Addresses", + "Checks": [ + "compute_instance_public_ip" + ], + "Attributes": [ + { + "Title": "That Compute Instances Do Not Have Public IP Addresses", + "Section": "2. Attack Surface", + "SubSection": "2.3 Application", + "AttributeDescription": "Compute instances should not be assigned external IP addresses to minimize exposure to the internet and reduce security risks.", + "AdditionalInformation": "Public IP addresses increase the attack surface of Compute instances, making them more vulnerable to threats. Instead, instances should be placed behind load balancers or use private networking to control access and reduce the risk of unauthorized exposure.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "3.1.1", + "Description": "Ensure That Sinks Are Configured for All Log Entries", + "Checks": [ + "cloudstorage_bucket_log_retention_policy_lock" + ], + "Attributes": [ + { + "Title": "Sinks Are Configured for All Log Entries", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "It is recommended to create a log sink to export and store copies of all log entries. This enables log aggregation across multiple projects and allows integration with a Security Information and Event Management (SIEM) system for centralized monitoring.", + "AdditionalInformation": "Cloud Logging retains logs for a limited period. To ensure long-term storage and better security analysis, logs should be exported to a destination such as Cloud Storage, BigQuery, or Cloud Pub/Sub. A log sink allows you to: Aggregate logs from multiple projects, folders, or billing accounts. Extend log retention beyond Cloud Loggings default retention period. Send logs to a SIEM system for real-time monitoring and threat detection. To ensure all logs are captured and exported: 1.Create a sink without filters to capture all log entries. 2.Choose an appropriate destination (e.g., Cloud Storage for long-term storage, BigQuery for analysis, or Pub/Sub for real-time processing). 3.Apply logging at the organization level to cover all associated projects. Implementing log sinks enhances security visibility, forensic capabilities, and compliance adherence across cloud environments.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "3.1.2", + "Description": "Ensure That the Log Metric Filter and Alerts Exist for VPC Network Firewall Rule Changes", + "Checks": [ + "logging_log_metric_filter_and_alert_for_vpc_firewall_rule_changes_enabled" + ], + "Attributes": [ + { + "Title": "Log Metric Filter and Alerts Exist for VPC Network Firewall Rule Changes", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "It is recommended to configure a metric filter and alarm to monitor Virtual Private Cloud (VPC) Network Firewall rule changes. Tracking modifications to firewall rules helps ensure that unauthorized or unintended changes do not compromise network security.", + "AdditionalInformation": "Firewall rules control ingress and egress traffic within a VPC. Monitoring create or update events provides visibility into network access changes and helps quickly detect potential security threats or misconfigurations, reducing the risk of unauthorized access.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.1.3", + "Description": "Ensure That the Log Metric Filter and Alerts Exist for VPC Network Route Changes", + "Checks": [ + "logging_log_metric_filter_and_alert_for_vpc_network_route_changes_enabled" + ], + "Attributes": [ + { + "Title": "Log Metric Filter and Alerts Exist for VPC Network Route Changes", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "It is recommended to configure a metric filter and alarm to monitor Virtual Private Cloud (VPC) network route changes. Keeping track of modifications ensures that unauthorized or unintended changes do not disrupt expected network traffic flow.", + "AdditionalInformation": "GCP routes define how network traffic is directed between VM instances and external destinations. Monitoring route table changes helps ensure that traffic follows the intended path, preventing misconfigurations or malicious alterations that could lead to data exposure or connectivity issues.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.1.4", + "Description": "Ensure That the Log Metric Filter and Alerts Exist for VPC Network Changes", + "Checks": [ + "logging_log_metric_filter_and_alert_for_vpc_network_changes_enabled" + ], + "Attributes": [ + { + "Title": "Log Metric Filter and Alerts Exist for VPC Network Changes", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "It is recommended to configure a metric filter and alarm to monitor Virtual Private Cloud (VPC) network changes. This helps track modifications to VPC configurations and peer connections, ensuring that network traffic remains secure and follows the intended paths.", + "AdditionalInformation": "It is recommended to configure a metric filter and alarm to monitor Virtual Private Cloud (VPC) network changes. This helps track modifications to VPC configurations and peer connections, ensuring that network traffic remains secure and follows the intended paths.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "3.1.5", + "Description": "Ensure That the Log Metric Filter and Alerts Exist for Cloud Storage IAM Permission Changes", + "Checks": [ + "logging_log_metric_filter_and_alert_for_bucket_permission_changes_enabled" + ], + "Attributes": [ + { + "Title": "Log Metric Filter and Alerts Exist for Cloud Storage IAM Permission Changes", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "It is recommended to set up a metric filter and alarm to monitor Cloud Storage Bucket IAM changes. This ensures that any modifications to bucket permissions are tracked and reviewed in a timely manner.", + "AdditionalInformation": "Monitoring changes to Cloud Storage IAM policies helps detect and correct unauthorized access or overly permissive configurations. This reduces the risk of data exposure or breaches by ensuring that sensitive storage buckets and their contents remain properly secured.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.1.6", + "Description": "Ensure That the Log Metric Filter and Alerts Exist for SQL Instance Configuration Changes", + "Checks": [ + "logging_log_metric_filter_and_alert_for_sql_instance_configuration_changes_enabled" + ], + "Attributes": [ + { + "Title": "Log Metric Filter and Alerts Exist for SQL Instance Configuration Changes", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "It is recommended to configure a metric filter and alarm to track SQL instance configuration changes. This helps in detecting and addressing misconfigurations that may impact security, availability, and compliance.", + "AdditionalInformation": "Monitoring SQL instance configuration changes ensures that critical security settings remain properly configured. Misconfigurations, such as disabling auto backups, allowing untrusted networks, or modifying high availability settings, can lead to data loss, security vulnerabilities, or operational disruptions. Early detection of such changes helps maintain a secure and resilient SQL environment.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.1.7", + "Description": "Ensure Logging is enabled for HTTP(S) Load Balancer ", + "Checks": [ + "compute_loadbalancer_logging_enabled" + ], + "Attributes": [ + { + "Title": "Logging is enabled for HTTP(S) Load Balancer ", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "Enabling logging on an HTTPS Load Balancer captures all network traffic and its destination, providing visibility into requests made to your web applications.", + "AdditionalInformation": "Logging HTTPS network traffic helps monitor access patterns, troubleshoot issues, and enhance security by detecting suspicious activity or unauthorized access attempts.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.1.8", + "Description": "Ensure that VPC Flow Logs is Enabled for Every Subnet in a VPC Network", + "Checks": [ + "compute_subnet_flow_logs_enabled" + ], + "Attributes": [ + { + "Title": "VPC Flow Logs is Enabled for Every Subnet in a VPC Network", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "Flow Logs capture and record IP traffic to and from network interfaces within VPC subnets. These logs are stored in Stackdriver Logging, allowing users to analyze traffic patterns, detect anomalies, and optimize network performance. It is recommended to enable Flow Logs for all critical VPC subnets to enhance network visibility and security.", + "AdditionalInformation": "VPC Flow Logs provide detailed insights into inbound and outbound traffic for virtual machines (VMs), whether they communicate with other VMs, on-premises data centers, Google services, or external networks. Enabling Flow Logs supports: Network monitoring Traffic analysis and cost optimization Incident investigation and forensics Real-time security threat detection For effective monitoring, Flow Logs should be configured to capture all traffic, use granular logging intervals, avoid log filtering, and include metadata for detailed investigations. Note that subnets reserved for internal HTTP(S) load balancing do not support Flow Logs.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.1.9", + "Description": "Ensure That the Log_connections Database Flag for Cloud SQL PostgreSQL Instance Is Set to On", + "Checks": [ + "cloudsql_instance_postgres_log_connections_flag" + ], + "Attributes": [ + { + "Title": "Log_connections Database Flag for Cloud SQL PostgreSQL Instance Is Set to On", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "The log_connections setting should be enabled to log all attempted connections to the PostgreSQL server, including successful client authentication.", + "AdditionalInformation": "By default, PostgreSQL does not log connection attempts, making it harder to detect unauthorized access. Enabling log_connections provides visibility into all connection attempts, aiding in troubleshooting and identifying unusual or suspicious access patterns. This is particularly useful for security monitoring and incident response.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.1.10", + "Description": "Ensure That the Log_disconnections Database Flag for Cloud SQL PostgreSQL Instance Is Set to On", + "Checks": [ + "cloudsql_instance_postgres_log_disconnections_flag" + ], + "Attributes": [ + { + "Title": "Log_disconnections Database Flag for Cloud SQL PostgreSQL Instance Is Set to On", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "The log_disconnections setting should be enabled to log the end of each PostgreSQL session, including session duration.", + "AdditionalInformation": "By default, PostgreSQL does not log session termination details, making it difficult to track session activity. Enabling log_disconnections helps monitor session durations and detect unusual activity. Combined with log_connections, it provides a complete audit trail of user access, aiding in troubleshooting and security monitoring.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "3.1.11", + "Description": "Ensure Log_statement Database Flag for Cloud SQL PostgreSQL Instance Is Set Appropriately", + "Checks": [ + "cloudsql_instance_postgres_log_statement_flag" + ], + "Attributes": [ + { + "Title": "Log_statement Database Flag for Cloud SQL PostgreSQL Instance Is Set Appropriately", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "The log_statement setting in PostgreSQL determines which SQL statements are logged. Acceptable values include none, ddl, mod, and all. A recommended setting is ddl, which logs all data definition statements unless otherwise specified by the organizations logging policy.", + "AdditionalInformation": "Proper SQL statement logging is crucial for auditing and forensic analysis. If too many statements are logged, it can become difficult to extract relevant information; if too few are logged, critical details may be missing. Setting log_statement to an appropriate value, such as ddl, ensures a balance between comprehensive auditing and log manageability, aiding in database security and compliance.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.1.12", + "Description": "Ensure that the Log_min_messages Flag for a Cloud SQL PostgreSQL Instance is set at minimum to 'Warning'", + "Checks": [ + "cloudsql_instance_postgres_log_min_messages_flag" + ], + "Attributes": [ + { + "Title": "Log_min_messages Flag for a Cloud SQL PostgreSQL Instance is set at minimum to Warning", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "The log_min_messages setting in PostgreSQL defines the minimum severity level for messages to be logged as errors. Accepted values range from DEBUG5 (least severe) to PANIC (most severe). Best practice is to set this value to ERROR, ensuring that only critical issues are logged unless an organizations policy requires a different threshold.", + "AdditionalInformation": "Proper logging is essential for troubleshooting and forensic analysis. If log_min_messages is not configured correctly, important error messages may be missed or unnecessary logs may clutter records. Setting this parameter to ERROR helps maintain a balance between capturing relevant issues and avoiding excessive log noise, improving system monitoring and security.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.1.13", + "Description": "Ensure Log_min_error_statement Database Flag for Cloud SQL PostgreSQL Instance Is Set to Error or Stricter", + "Checks": [ + "cloudsql_instance_postgres_log_min_error_statement_flag" + ], + "Attributes": [ + { + "Title": "Log_min_error_statement Database Flag for Cloud SQL PostgreSQL Instance Is Set to Error or Stricter", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "The log_min_error_statement setting in PostgreSQL defines the minimum severity level for statements to be logged as errors. Valid values range from DEBUG5 (least severe) to PANIC (most severe). It is recommended to set this value to ERROR or stricter to ensure only relevant error statements are logged.", + "AdditionalInformation": "Proper logging aids in troubleshooting and forensic analysis. If log_min_error_statement is set too leniently, excessive log entries may make it difficult to identify actual errors. Conversely, if it is set too strictly, important errors may be missed. Setting this parameter to ERROR or higher ensures that significant issues are recorded while avoiding unnecessary log clutter.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.1.14", + "Description": "Ensure That the Log_min_duration_statement Database Flag for Cloud SQL PostgreSQL Instance Is Set to '-1' (Disabled) ", + "Checks": [ + "cloudsql_instance_postgres_log_min_duration_statement_flag" + ], + "Attributes": [ + { + "Title": "Log_min_duration_statement Database Flag for Cloud SQL PostgreSQL Instance Is Set to -1 (Disabled) ", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "The log_min_duration_statement setting in PostgreSQL determines the minimum execution time (in milliseconds) required for a statement to be logged. It is recommended to disable this setting by setting its value to -1.", + "AdditionalInformation": "Logging SQL statements may expose sensitive information, which could lead to security risks if recorded in logs. Disabling this setting ensures that confidential data is not inadvertently captured. This recommendation applies to PostgreSQL database instances.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "3.1.15", + "Description": "Ensure That 'cloudsql.enable_pgaudit' Database Flag for each Cloud Sql Postgresql Instance Is Set to 'on' For Centralized Logging", + "Checks": [ + "cloudsql_instance_postgres_enable_pgaudit_flag" + ], + "Attributes": [ + { + "Title": "cloudsql.enable_pgaudit Database Flag for each Cloud Sql Postgresql Instance Is Set to on For Centralized Logging", + "Section": "3. Logging and Monitoring", + "SubSection": "3.1 Logging", + "AttributeDescription": "Ensure that the cloudsql.enable_pgaudit database flag is set to on for Cloud SQL PostgreSQL instances to enable centralized logging and auditing.", + "AdditionalInformation": "Enabling the pgaudit extension provides detailed session and object-level logging, which helps organizations comply with security standards such as government, financial, and ISO regulations. This logging capability enhances threat detection by monitoring security events on the database instance. Additionally, enabling this flag allows logs to be sent to Google Logs Explorer for centralized access and monitoring. This recommendation applies specifically to PostgreSQL database instances.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "3.2.1", + "Description": "Ensure That Retention Policies on Cloud Storage Buckets Used for Exporting Logs Are Configured Using Bucket Lock", + "Checks": [ + "cloudstorage_bucket_log_retention_policy_lock" + ], + "Attributes": [ + { + "Title": "Retention Policies on Cloud Storage Buckets Used for Exporting Logs Are Configured Using Bucket Lock ", + "Section": "3. Logging and Monitoring", + "SubSection": "3.2 Retention", + "AttributeDescription": "Enabling retention policies on log storage buckets prevents logs from being overwritten or accidentally deleted. It is recommended to configure retention policies and enable Bucket Lock for all storage buckets used as log sinks.", + "AdditionalInformation": "Cloud Logging allows logs to be exported to storage buckets through sinks. Without a retention policy, logs can be altered or deleted, making it difficult to perform security investigations or comply with audit requirements. To ensure logs remain intact for forensics and security analysis: 1.Set a retention policy on log storage buckets to prevent early deletion. 2.Enable Bucket Lock to make the policy immutable, ensuring logs cannot be altered even by privileged users. 3.Apply appropriate access controls to protect logs from unauthorized access. By implementing retention policies and Bucket Lock, organizations preserve critical security logs, prevent attackers from covering their tracks, and enhance compliance with security regulations.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "3.3.1", + "Description": "Ensure Cloud Asset Inventory Is Enabled", + "Checks": [ + "iam_cloud_asset_inventory_enabled" + ], + "Attributes": [ + { + "Title": "Cloud Asset Inventory Enabled", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "Google Cloud Asset Inventory provides a historical view of GCP resources and IAM policies using a time-series database. It captures metadata on cloud resources, policy configurations, and runtime data. Enabling Cloud Asset Inventory allows for efficient searching and exporting of asset data.", + "AdditionalInformation": "Cloud Asset Inventory enhances security analysis, resource change tracking, and compliance auditing by maintaining a detailed history of GCP resources and their configurations. Enabling it across all GCP projects ensures visibility into changes, helping organizations detect misconfigurations, track policy changes, and strengthen security posture.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "3.3.2", + "Description": "Ensure 'Access Approval' is 'Enabled'", + "Checks": [ + "iam_account_access_approval_enabled" + ], + "Attributes": [ + { + "Title": "Access Aproval Enabled", + "Section": "3. Logging and Monitoring", + "SubSection": "3.3 Monitoring", + "AttributeDescription": "GCP Access Approval allows organizations to require explicit approval before Google support personnel can access their projects. Administrators can assign security roles in IAM to specific users who can review and approve these requests. Notifications of access requests, including the requesting Google employees details, are sent via email or Pub/Sub messages, providing transparency and control.", + "AdditionalInformation": "Managing who accesses your organizations data is critical for information security. While Google support may require access for troubleshooting, Access Approval ensures that access is only granted when explicitly authorized. This feature adds an additional layer of security and logging, ensuring that only approved Google personnel can access sensitive information.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "4.1.1", + "Description": "Ensure That DNSSEC Is Enabled for Cloud DNS ", + "Checks": [ + "dns_dnssec_disabled" + ], + "Attributes": [ + { + "Title": "DNSSEC Is Enabled for Cloud DNS ", + "Section": "4. Encryption", + "SubSection": "4.1 In-Transit", + "AttributeDescription": "Cloud DNS provides a scalable and reliable domain name system (DNS) service. Domain Name System Security Extensions (DNSSEC) enhance DNS security by protecting domains against DNS hijacking, man-in-the-middle attacks, and other threats.", + "AdditionalInformation": "DNSSEC cryptographically signs DNS records, ensuring the integrity and authenticity of DNS responses. Without DNSSEC, attackers can manipulate DNS lookups, redirecting users to malicious websites through DNS hijacking or spoofing attacks. Enabling DNSSEC helps prevent unauthorized modifications to DNS records, reducing the risk of phishing, malware distribution, and other cyber threats.", + "LevelOfRisk": 1 + } + ] + }, + { + "Id": "4.1.2", + "Description": "Ensure That the Cloud SQL Database Instance Requires All Incoming Connections To Use SSL", + "Checks": [ + "cloudsql_instance_ssl_connections" + ], + "Attributes": [ + { + "Title": "Cloud SQL Database Instance Requires All Incoming Connections To Use SSL", + "Section": "4. Encryption", + "SubSection": "4.1 In-Transit", + "AttributeDescription": "Require all incoming connections to SQL database instances to use SSL encryption.", + "AdditionalInformation": "Unencrypted SQL database connections are vulnerable to man-in-the-middle (MITM) attacks, which can expose sensitive data such as credentials, queries, and results. Enforcing SSL ensures secure communication by encrypting data in transit, protecting against interception and unauthorized access. This recommendation applies to PostgreSQL, MySQL (Generation 1 and 2), and SQL Server 2017 instances.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "4.1.3", + "Description": "Ensure That RSASHA1 Is Not Used for the Key-Signing Key in Cloud DNS DNSSEC", + "Checks": [ + "dns_rsasha1_in_use_to_key_sign_in_dnssec" + ], + "Attributes": [ + { + "Title": "RSASHA1 Is Not Used for the Key-Signing Key in Cloud DNS DNSSEC", + "Section": "4. Encryption", + "SubSection": "4.1 In-Transit", + "AttributeDescription": "DNSSEC (Domain Name System Security Extensions) relies on cryptographic algorithms to ensure the integrity and authenticity of DNS responses. It is important to use strong and recommended algorithms for key signing to maintain robust security. SHA-1 is deprecated and requires explicit approval from Google if used.", + "AdditionalInformation": "DNSSEC signing algorithms play a critical role in securing DNS transactions. Using weak or outdated algorithms can expose DNS infrastructure to spoofing, hijacking, and other attacks. Organizations should select recommended and secure algorithms when enabling DNSSEC to protect DNS records from unauthorized modifications. If adjustments to DNSSEC settings are required, DNSSEC must be disabled and re-enabled with the updated configurations.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "4.1.4", + "Description": "Ensure That RSASHA1 Is Not Used for the Zone-Signing Key in Cloud DNS DNSSEC", + "Checks": [ + "dns_rsasha1_in_use_to_zone_sign_in_dnssec" + ], + "Attributes": [ + { + "Title": "RSASHA1 Is Not Used for the Zone-Signing Key in Cloud DNS DNSSEC", + "Section": "4. Encryption", + "SubSection": "4.1 In-Transit", + "AttributeDescription": "DNSSEC (Domain Name System Security Extensions) enhances DNS security by using cryptographic algorithms for zone signing and transaction security. It is essential to use strong and recommended algorithms for key signing. SHA-1 has been deprecated and requires Googles explicit approval and a support contract if used.", + "AdditionalInformation": "Using weak or outdated cryptographic algorithms compromises DNS integrity and exposes systems to threats like spoofing and hijacking. Organizations should ensure that DNSSEC settings use strong, recommended algorithms. If DNSSEC is already enabled and changes are needed, it must be disabled and re-enabled with updated configurations to apply the changes effectively.", + "LevelOfRisk": 2 + } + ] + }, + { + "Id": "4.2.1", + "Description": "Ensure VM Disks for Critical VMs Are Encrypted With Customer-Supplied Encryption Keys (CSEK)", + "Checks": [ + "compute_instance_encryption_with_csek_enabled" + ], + "Attributes": [ + { + "Title": "VM Disks for Critical VMs Are Encrypted With Customer-Supplied Encryption Keys (CSEK)", + "Section": "4. Encryption", + "SubSection": "4.2 At-Rest", + "AttributeDescription": "Customer-Supplied Encryption Keys (CSEK) is a feature available in Google Cloud Storage and Google Compute Engine, allowing users to supply their own encryption keys. When you provide your key, Google uses it to protect the Google-generated keys that are responsible for encrypting and decrypting your data. By default, Google Compute Engine encrypts all data at rest automatically, managing this encryption for you with no additional action required. However, if you wish to have full control over the encryption process, you can choose to supply your own encryption keys.", + "AdditionalInformation": "By default, Compute Engine automatically encrypts all data at rest, with the service managing the encryption without any further input required from you or your application. However, if you require complete control over encryption, you have the option to provide your own encryption keys to manage the encryption of instance disks.", + "LevelOfRisk": 5 + } + ] + }, + { + "Id": "4.2.2", + "Description": "Ensure that Dataproc Cluster is encrypted using Customer-Managed Encryption Key", + "Checks": [ + "dataproc_encrypted_with_cmks_disabled" + ], + "Attributes": [ + { + "Title": "Dataproc Cluster is encrypted using Customer-Managed Encryption Key", + "Section": "4. Encryption", + "SubSection": "4.2 At-Rest", + "AttributeDescription": "When using Dataproc, the data associated with clusters and jobs is stored on Persistent Disks (PDs) linked to the Compute Engine VMs in your cluster and in a Cloud Storage staging bucket. This data is encrypted using a Google-generated Data Encryption Key (DEK) and a Key Encryption Key (KEK). The Customer-Managed Encryption Keys (CMEK) feature allows you to create, use, and revoke the KEK, although Google still controls the DEK used to encrypt the data.", + "AdditionalInformation": "Dataproc cluster data is encrypted using Google-managed keys: the Data Encryption Key (DEK) and the Key Encryption Key (KEK). If you wish to have control over the encryption of your cluster data, you can use your own Customer-Managed Keys (CMKs). Cloud KMS Customer-Managed Keys can add an extra layer of security and are commonly used in environments with strict compliance and security requirements.", + "LevelOfRisk": 4 + } + ] + }, + { + "Id": "4.2.3", + "Description": "Ensure BigQuery datasets are encrypted with Customer-Managed Keys (CMKs).", + "Checks": [ + "bigquery_dataset_cmk_encryption" + ], + "Attributes": [ + { + "Title": "BigQuery datasets are encrypted with Customer-Managed Keys (CMKs).", + "Section": "4. Encryption", + "SubSection": "4.2 At-Rest", + "AttributeDescription": "Ensure that BigQuery datasets are encrypted using Customer-Managed Keys (CMKs) to gain more granular control over the data encryption and decryption process.", + "AdditionalInformation": "For enhanced control over encryption, Customer-Managed Encryption Keys (CMEK) can be implemented as a key management solution for BigQuery datasets.", + "LevelOfRisk": 3 + } + ] + }, + { + "Id": "4.2.4", + "Description": "Ensure BigQuery tables are encrypted with Customer-Managed Keys (CMKs).", + "Checks": [ + "bigquery_table_cmk_encryption" + ], + "Attributes": [ + { + "Title": "BigQuery tables are encrypted with Customer-Managed Keys (CMKs).", + "Section": "4. Encryption", + "SubSection": "4.2 At-Rest", + "AttributeDescription": "Ensure that BigQuery tables are encrypted using Customer-Managed Keys (CMKs) for more granular control over the data encryption and decryption process.", + "AdditionalInformation": "For greater control over encryption, Customer-Managed Encryption Keys (CMEK) can be utilized as the key management solution for BigQuery tables.", + "LevelOfRisk": 3 + } + ] + } + ] +} diff --git a/prowler/lib/check/compliance_models.py b/prowler/lib/check/compliance_models.py index fff0d6c38e..92bfaec168 100644 --- a/prowler/lib/check/compliance_models.py +++ b/prowler/lib/check/compliance_models.py @@ -183,6 +183,18 @@ class KISA_ISMSP_Requirement_Attribute(BaseModel): NonComplianceCases: Optional[list[str]] +# Prowler ThreatScore Requirement Attribute +class Prowler_ThreatScore_Requirement_Attribute(BaseModel): + """Prowler ThreatScore Requirement Attribute""" + + Title: str + Section: str + SubSection: str + AttributeDescription: str + AdditionalInformation: str + LevelOfRisk: int + + # Base Compliance Model # TODO: move this to compliance folder class Compliance_Requirement(BaseModel): @@ -198,6 +210,7 @@ class Compliance_Requirement(BaseModel): ISO27001_2013_Requirement_Attribute, AWS_Well_Architected_Requirement_Attribute, KISA_ISMSP_Requirement_Attribute, + Prowler_ThreatScore_Requirement_Attribute, # Generic_Compliance_Requirement_Attribute must be the last one since it is the fallback for generic compliance framework Generic_Compliance_Requirement_Attribute, ] diff --git a/prowler/lib/outputs/compliance/compliance.py b/prowler/lib/outputs/compliance/compliance.py index b74eafa97f..e0c686dd84 100644 --- a/prowler/lib/outputs/compliance/compliance.py +++ b/prowler/lib/outputs/compliance/compliance.py @@ -11,6 +11,9 @@ from prowler.lib.outputs.compliance.kisa_ismsp.kisa_ismsp import get_kisa_ismsp_ from prowler.lib.outputs.compliance.mitre_attack.mitre_attack import ( get_mitre_attack_table, ) +from prowler.lib.outputs.compliance.prowler_threatscore.prowler_threatscore import ( + get_prowler_threatscore_table, +) def display_compliance_table( @@ -72,6 +75,15 @@ def display_compliance_table( output_directory, compliance_overview, ) + elif "threatscore_" in compliance_framework: + get_prowler_threatscore_table( + findings, + bulk_checks_metadata, + compliance_framework, + output_filename, + output_directory, + compliance_overview, + ) else: get_generic_compliance_table( findings, diff --git a/prowler/lib/outputs/compliance/prowler_threatscore/__init__.py b/prowler/lib/outputs/compliance/prowler_threatscore/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/prowler/lib/outputs/compliance/prowler_threatscore/models.py b/prowler/lib/outputs/compliance/prowler_threatscore/models.py new file mode 100644 index 0000000000..2b5f5ada66 --- /dev/null +++ b/prowler/lib/outputs/compliance/prowler_threatscore/models.py @@ -0,0 +1,81 @@ +from typing import Optional + +from pydantic import BaseModel + + +class ProwlerThreatScoreAWSModel(BaseModel): + """ + ProwlerThreatScoreAWSModel generates a finding's output in AWS Prowler ThreatScore Compliance format. + """ + + Provider: str + Description: str + AccountId: str + Region: str + AssessmentDate: str + Requirements_Id: str + Requirements_Description: str + Requirements_Attributes_Title: str + Requirements_Attributes_Section: str + Requirements_Attributes_SubSection: Optional[str] + Requirements_Attributes_AttributeDescription: str + Requirements_Attributes_AdditionalInformation: str + Requirements_Attributes_LevelOfRisk: int + Status: str + StatusExtended: str + ResourceId: str + ResourceName: str + CheckId: str + Muted: bool + + +class ProwlerThreatScoreAzureModel(BaseModel): + """ + ProwlerThreatScoreAzureModel generates a finding's output in Azure Prowler ThreatScore Compliance format. + """ + + Provider: str + Description: str + SubscriptionId: str + Location: str + AssessmentDate: str + Requirements_Id: str + Requirements_Description: str + Requirements_Attributes_Title: str + Requirements_Attributes_Section: str + Requirements_Attributes_SubSection: Optional[str] + Requirements_Attributes_AttributeDescription: str + Requirements_Attributes_AdditionalInformation: str + Requirements_Attributes_LevelOfRisk: int + Status: str + StatusExtended: str + ResourceId: str + ResourceName: str + CheckId: str + Muted: bool + + +class ProwlerThreatScoreGCPModel(BaseModel): + """ + ProwlerThreatScoreGCPModel generates a finding's output in GCP Prowler ThreatScore Compliance format. + """ + + Provider: str + Description: str + ProjectId: str + Location: str + AssessmentDate: str + Requirements_Id: str + Requirements_Description: str + Requirements_Attributes_Title: str + Requirements_Attributes_Section: str + Requirements_Attributes_SubSection: Optional[str] + Requirements_Attributes_AttributeDescription: str + Requirements_Attributes_AdditionalInformation: str + Requirements_Attributes_LevelOfRisk: int + Status: str + StatusExtended: str + ResourceId: str + ResourceName: str + CheckId: str + Muted: bool diff --git a/prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore.py b/prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore.py new file mode 100644 index 0000000000..e041e3e7f3 --- /dev/null +++ b/prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore.py @@ -0,0 +1,121 @@ +from colorama import Fore, Style +from tabulate import tabulate + +from prowler.config.config import orange_color + + +def get_prowler_threatscore_table( + findings: list, + bulk_checks_metadata: dict, + compliance_framework: str, + output_filename: str, + output_directory: str, + compliance_overview: bool, +): + pillar_table = { + "Provider": [], + "Pillar": [], + "Status": [], + "Score": [], + "Muted": [], + } + pass_count = [] + fail_count = [] + muted_count = [] + pillars = {} + score_per_pillar = {} + number_findings_per_pillar = {} + for index, finding in enumerate(findings): + check = bulk_checks_metadata[finding.check_metadata.CheckID] + check_compliances = check.Compliance + for compliance in check_compliances: + if compliance.Framework == "ProwlerThreatScore": + for requirement in compliance.Requirements: + for attribute in requirement.Attributes: + pillar = attribute.Section + + if pillar not in score_per_pillar.keys(): + score_per_pillar[pillar] = 0 + number_findings_per_pillar[pillar] = 0 + if finding.status == "FAIL" and not finding.muted: + score_per_pillar[pillar] += attribute.LevelOfRisk + number_findings_per_pillar[pillar] += 1 + + if pillar not in pillars: + pillars[pillar] = {"FAIL": 0, "PASS": 0, "Muted": 0} + + if finding.muted: + if index not in muted_count: + muted_count.append(index) + pillars[pillar]["Muted"] += 1 + else: + if finding.status == "FAIL" and index not in fail_count: + fail_count.append(index) + pillars[pillar]["FAIL"] += 1 + elif finding.status == "PASS" and index not in pass_count: + pass_count.append(index) + pillars[pillar]["PASS"] += 1 + + pillars = dict(sorted(pillars.items())) + for pillar in pillars: + pillar_table["Provider"].append(compliance.Provider) + pillar_table["Pillar"].append(pillar) + if number_findings_per_pillar[pillar] == 0: + pillar_table["Score"].append( + f"{Style.BRIGHT}{Fore.GREEN}0{Style.RESET_ALL}" + ) + else: + pillar_table["Score"].append( + f"{Style.BRIGHT}{Fore.RED}{score_per_pillar[pillar] / number_findings_per_pillar[pillar]:.2f}/5{Style.RESET_ALL}" + ) + if pillars[pillar]["FAIL"] > 0: + pillar_table["Status"].append( + f"{Fore.RED}FAIL({pillars[pillar]['FAIL']}){Style.RESET_ALL}" + ) + else: + pillar_table["Status"].append( + f"{Fore.GREEN}PASS({pillars[pillar]['PASS']}){Style.RESET_ALL}" + ) + pillar_table["Muted"].append( + f"{orange_color}{pillars[pillar]['Muted']}{Style.RESET_ALL}" + ) + + if ( + len(fail_count) + len(pass_count) + len(muted_count) > 1 + ): # If there are no resources, don't print the compliance table + print( + f"\nCompliance Status of {Fore.YELLOW}{compliance_framework.upper()}{Style.RESET_ALL} Framework:" + ) + total_findings_count = len(fail_count) + len(pass_count) + len(muted_count) + overview_table = [ + [ + f"{Fore.RED}{round(len(fail_count) / total_findings_count * 100, 2)}% ({len(fail_count)}) FAIL{Style.RESET_ALL}", + f"{Fore.GREEN}{round(len(pass_count) / total_findings_count * 100, 2)}% ({len(pass_count)}) PASS{Style.RESET_ALL}", + f"{orange_color}{round(len(muted_count) / total_findings_count * 100, 2)}% ({len(muted_count)}) MUTED{Style.RESET_ALL}", + ] + ] + print(tabulate(overview_table, tablefmt="rounded_grid")) + if not compliance_overview: + if len(fail_count) > 0 and len(pillar_table["Pillar"]) > 0: + print( + f"\nFramework {Fore.YELLOW}{compliance_framework.upper()}{Style.RESET_ALL} Results:" + ) + + print( + tabulate( + pillar_table, + tablefmt="rounded_grid", + headers="keys", + ) + ) + + print( + f"{Style.BRIGHT}\n=== Risk Score Guide ===\nScore ranges from 1 (lowest risk) to 5 (highest risk), indicating the severity of the potential impact.{Style.RESET_ALL}" + ) + print( + f"{Style.BRIGHT}(Only sections containing results appear, the score is calculated as the sum of the level of risk of the failed findings divided by the number of failed findings){Style.RESET_ALL}" + ) + print(f"\nDetailed results of {compliance_framework.upper()} are in:") + print( + f" - CSV: {output_directory}/compliance/{output_filename}_{compliance_framework}.csv\n" + ) diff --git a/prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_aws.py b/prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_aws.py new file mode 100644 index 0000000000..2d876b402f --- /dev/null +++ b/prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_aws.py @@ -0,0 +1,91 @@ +from prowler.lib.check.compliance_models import Compliance +from prowler.lib.outputs.compliance.compliance_output import ComplianceOutput +from prowler.lib.outputs.compliance.prowler_threatscore.models import ( + ProwlerThreatScoreAWSModel, +) +from prowler.lib.outputs.finding import Finding + + +class ProwlerThreatScoreAWS(ComplianceOutput): + """ + This class represents the AWS Prowler ThreatScore compliance output. + + Attributes: + - _data (list): A list to store transformed data from findings. + - _file_descriptor (TextIOWrapper): A file descriptor to write data to a file. + + Methods: + - transform: Transforms findings into AWS Prowler ThreatScore compliance format. + """ + + def transform( + self, + findings: list[Finding], + compliance: Compliance, + compliance_name: str, + ) -> None: + """ + Transforms a list of findings into AWS Prowler ThreatScore compliance format. + + Parameters: + - findings (list): A list of findings. + - compliance (Compliance): A compliance model. + - compliance_name (str): The name of the compliance model. + + Returns: + - None + """ + for finding in findings: + # Get the compliance requirements for the finding + finding_requirements = finding.compliance.get(compliance_name, []) + for requirement in compliance.Requirements: + if requirement.Id in finding_requirements: + for attribute in requirement.Attributes: + compliance_row = ProwlerThreatScoreAWSModel( + Provider=finding.provider, + Description=compliance.Description, + AccountId=finding.account_uid, + Region=finding.region, + AssessmentDate=str(finding.timestamp), + Requirements_Id=requirement.Id, + Requirements_Description=requirement.Description, + Requirements_Attributes_Title=attribute.Title, + Requirements_Attributes_Section=attribute.Section, + Requirements_Attributes_SubSection=attribute.SubSection, + Requirements_Attributes_AttributeDescription=attribute.AttributeDescription, + Requirements_Attributes_AdditionalInformation=attribute.AdditionalInformation, + Requirements_Attributes_LevelOfRisk=attribute.LevelOfRisk, + Status=finding.status, + StatusExtended=finding.status_extended, + ResourceId=finding.resource_uid, + ResourceName=finding.resource_name, + CheckId=finding.check_id, + Muted=finding.muted, + ) + self._data.append(compliance_row) + # Add manual requirements to the compliance output + for requirement in compliance.Requirements: + if not requirement.Checks: + for attribute in requirement.Attributes: + compliance_row = ProwlerThreatScoreAWSModel( + Provider=compliance.Provider.lower(), + Description=compliance.Description, + AccountId="", + Region="", + AssessmentDate=str(finding.timestamp), + Requirements_Id=requirement.Id, + Requirements_Description=requirement.Description, + Requirements_Attributes_Title=attribute.Title, + Requirements_Attributes_Section=attribute.Section, + Requirements_Attributes_SubSection=attribute.SubSection, + Requirements_Attributes_AttributeDescription=attribute.AttributeDescription, + Requirements_Attributes_AdditionalInformation=attribute.AdditionalInformation, + Requirements_Attributes_LevelOfRisk=attribute.LevelOfRisk, + Status="MANUAL", + StatusExtended="Manual check", + ResourceId="manual_check", + ResourceName="Manual check", + CheckId="manual", + Muted=False, + ) + self._data.append(compliance_row) diff --git a/prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_azure.py b/prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_azure.py new file mode 100644 index 0000000000..01786e2d08 --- /dev/null +++ b/prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_azure.py @@ -0,0 +1,91 @@ +from prowler.lib.check.compliance_models import Compliance +from prowler.lib.outputs.compliance.compliance_output import ComplianceOutput +from prowler.lib.outputs.compliance.prowler_threatscore.models import ( + ProwlerThreatScoreAzureModel, +) +from prowler.lib.outputs.finding import Finding + + +class ProwlerThreatScoreAzure(ComplianceOutput): + """ + This class represents the Azure Prowler ThreatScore compliance output. + + Attributes: + - _data (list): A list to store transformed data from findings. + - _file_descriptor (TextIOWrapper): A file descriptor to write data to a file. + + Methods: + - transform: Transforms findings into Azure Prowler ThreatScore compliance format. + """ + + def transform( + self, + findings: list[Finding], + compliance: Compliance, + compliance_name: str, + ) -> None: + """ + Transforms a list of findings into Azure Prowler ThreatScore compliance format. + + Parameters: + - findings (list): A list of findings. + - compliance (Compliance): A compliance model. + - compliance_name (str): The name of the compliance model. + + Returns: + - None + """ + for finding in findings: + # Get the compliance requirements for the finding + finding_requirements = finding.compliance.get(compliance_name, []) + for requirement in compliance.Requirements: + if requirement.Id in finding_requirements: + for attribute in requirement.Attributes: + compliance_row = ProwlerThreatScoreAzureModel( + Provider=finding.provider, + Description=compliance.Description, + SubscriptionId=finding.account_uid, + Location=finding.region, + AssessmentDate=str(finding.timestamp), + Requirements_Id=requirement.Id, + Requirements_Description=requirement.Description, + Requirements_Attributes_Title=attribute.Title, + Requirements_Attributes_Section=attribute.Section, + Requirements_Attributes_SubSection=attribute.SubSection, + Requirements_Attributes_AttributeDescription=attribute.AttributeDescription, + Requirements_Attributes_AdditionalInformation=attribute.AdditionalInformation, + Requirements_Attributes_LevelOfRisk=attribute.LevelOfRisk, + Status=finding.status, + StatusExtended=finding.status_extended, + ResourceId=finding.resource_uid, + ResourceName=finding.resource_name, + CheckId=finding.check_id, + Muted=finding.muted, + ) + self._data.append(compliance_row) + # Add manual requirements to the compliance output + for requirement in compliance.Requirements: + if not requirement.Checks: + for attribute in requirement.Attributes: + compliance_row = ProwlerThreatScoreAzureModel( + Provider=compliance.Provider.lower(), + Description=compliance.Description, + SubscriptionId="", + Location="", + AssessmentDate=str(finding.timestamp), + Requirements_Id=requirement.Id, + Requirements_Description=requirement.Description, + Requirements_Attributes_Title=attribute.Title, + Requirements_Attributes_Section=attribute.Section, + Requirements_Attributes_SubSection=attribute.SubSection, + Requirements_Attributes_AttributeDescription=attribute.AttributeDescription, + Requirements_Attributes_AdditionalInformation=attribute.AdditionalInformation, + Requirements_Attributes_LevelOfRisk=attribute.LevelOfRisk, + Status="MANUAL", + StatusExtended="Manual check", + ResourceId="manual_check", + ResourceName="Manual check", + CheckId="manual", + Muted=False, + ) + self._data.append(compliance_row) diff --git a/prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_gcp.py b/prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_gcp.py new file mode 100644 index 0000000000..9bf577255f --- /dev/null +++ b/prowler/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_gcp.py @@ -0,0 +1,91 @@ +from prowler.lib.check.compliance_models import Compliance +from prowler.lib.outputs.compliance.compliance_output import ComplianceOutput +from prowler.lib.outputs.compliance.prowler_threatscore.models import ( + ProwlerThreatScoreGCPModel, +) +from prowler.lib.outputs.finding import Finding + + +class ProwlerThreatScoreGCP(ComplianceOutput): + """ + This class represents the GCP Prowler ThreatScore compliance output. + + Attributes: + - _data (list): A list to store transformed data from findings. + - _file_descriptor (TextIOWrapper): A file descriptor to write data to a file. + + Methods: + - transform: Transforms findings into GCP Prowler ThreatScore compliance format. + """ + + def transform( + self, + findings: list[Finding], + compliance: Compliance, + compliance_name: str, + ) -> None: + """ + Transforms a list of findings into GCP Prowler ThreatScore compliance format. + + Parameters: + - findings (list): A list of findings. + - compliance (Compliance): A compliance model. + - compliance_name (str): The name of the compliance model. + + Returns: + - None + """ + for finding in findings: + # Get the compliance requirements for the finding + finding_requirements = finding.compliance.get(compliance_name, []) + for requirement in compliance.Requirements: + if requirement.Id in finding_requirements: + for attribute in requirement.Attributes: + compliance_row = ProwlerThreatScoreGCPModel( + Provider=finding.provider, + Description=compliance.Description, + ProjectId=finding.account_uid, + Location=finding.region, + AssessmentDate=str(finding.timestamp), + Requirements_Id=requirement.Id, + Requirements_Description=requirement.Description, + Requirements_Attributes_Title=attribute.Title, + Requirements_Attributes_Section=attribute.Section, + Requirements_Attributes_SubSection=attribute.SubSection, + Requirements_Attributes_AttributeDescription=attribute.AttributeDescription, + Requirements_Attributes_AdditionalInformation=attribute.AdditionalInformation, + Requirements_Attributes_LevelOfRisk=attribute.LevelOfRisk, + Status=finding.status, + StatusExtended=finding.status_extended, + ResourceId=finding.resource_uid, + ResourceName=finding.resource_name, + CheckId=finding.check_id, + Muted=finding.muted, + ) + self._data.append(compliance_row) + # Add manual requirements to the compliance output + for requirement in compliance.Requirements: + if not requirement.Checks: + for attribute in requirement.Attributes: + compliance_row = ProwlerThreatScoreGCPModel( + Provider=compliance.Provider.lower(), + Description=compliance.Description, + ProjectId="", + Location="", + AssessmentDate=str(finding.timestamp), + Requirements_Id=requirement.Id, + Requirements_Description=requirement.Description, + Requirements_Attributes_Title=attribute.Title, + Requirements_Attributes_Section=attribute.Section, + Requirements_Attributes_SubSection=attribute.SubSection, + Requirements_Attributes_AttributeDescription=attribute.AttributeDescription, + Requirements_Attributes_AdditionalInformation=attribute.AdditionalInformation, + Requirements_Attributes_LevelOfRisk=attribute.LevelOfRisk, + Status="MANUAL", + StatusExtended="Manual check", + ResourceId="manual_check", + ResourceName="Manual check", + CheckId="manual", + Muted=False, + ) + self._data.append(compliance_row) diff --git a/prowler_threatscore_aws b/prowler_threatscore_aws new file mode 100644 index 0000000000..e69de29bb2 diff --git a/prowler_threatscore_azure b/prowler_threatscore_azure new file mode 100644 index 0000000000..e69de29bb2 diff --git a/prowler_threatscore_gcp b/prowler_threatscore_gcp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/lib/outputs/compliance/fixtures.py b/tests/lib/outputs/compliance/fixtures.py index f20cf6de85..3c8b71e3cd 100644 --- a/tests/lib/outputs/compliance/fixtures.py +++ b/tests/lib/outputs/compliance/fixtures.py @@ -13,6 +13,7 @@ from prowler.lib.check.compliance_models import ( Mitre_Requirement_Attribute_AWS, Mitre_Requirement_Attribute_Azure, Mitre_Requirement_Attribute_GCP, + Prowler_ThreatScore_Requirement_Attribute, ) CIS_1_4_AWS_NAME = "cis_1.4_aws" @@ -803,3 +804,129 @@ KISA_ISMSP_AWS = Compliance( ), ], ) + +PROWLER_THREATSCORE_AWS_NAME = "prowler_threatscore_aws" +PROWLER_THREATSCORE_AWS = Compliance( + Framework="ProwlerThreatScore", + Version="1.0", + Provider="AWS", + Description="Prowler ThreatScore Compliance Framework for AWS ensures that the AWS account is compliant taking into account four main pillars: Identity and Access Management, Attack Surface, Forensic Readiness and Encryption", + Requirements=[ + Compliance_Requirement( + Id="1.1.1", + Description="Ensure MFA is enabled for the 'root' user account", + Attributes=[ + Prowler_ThreatScore_Requirement_Attribute( + Title="MFA enabled for 'root'", + Section="1. IAM", + SubSection="1.1 Authentication", + AttributeDescription="The root user account holds the highest level of privileges within an AWS account. Enabling Multi-Factor Authentication (MFA) enhances security by adding an additional layer of protection beyond just a username and password. With MFA activated, users must provide their credentials (username and password) along with a unique authentication code generated by their AWS MFA device when signing into an AWS website.", + AdditionalInformation="Enabling MFA enhances console security by requiring the authenticating user to both possess a time-sensitive key-generating device and have knowledge of their credentials.", + LevelOfRisk=5, + ) + ], + Checks=[ + "iam_root_mfa_enabled", + ], + ), + Compliance_Requirement( + Id="1.1.2", + Description="Ensure hardware MFA is enabled for the 'root' user account", + Attributes=[ + Prowler_ThreatScore_Requirement_Attribute( + Title="CloudTrail logging enabled", + Section="1. IAM", + SubSection="1.1 Authentication", + AttributeDescription="The root user account in AWS has the highest level of privileges. Multi-Factor Authentication (MFA) enhances security by adding an extra layer of protection beyond a username and password. When MFA is enabled, users must enter their credentials along with a unique authentication code generated by their AWS MFA device when signing into an AWS website.", + AdditionalInformation="A hardware MFA has a smaller attack surface compared to a virtual MFA. Unlike a virtual MFA, which relies on a mobile device that may be vulnerable to malware or compromise, a hardware MFA operates independently, reducing exposure to potential security threats.", + LevelOfRisk=3, + ) + ], + Checks=[], + ), + ], +) + +PROWLER_THREATSCORE_AZURE_NAME = "prowler_threatscore_azure" +PROWLER_THREATSCORE_AZURE = Compliance( + Framework="ProwlerThreatScore", + Version="1.0", + Provider="Azure", + Description="Prowler ThreatScore Compliance Framework for Azure ensures that the Azure account is compliant taking into account four main pillars: Identity and Access Management, Attack Surface, Forensic Readiness and Encryption", + Requirements=[ + Compliance_Requirement( + Id="1.1.1", + Description="Ensure MFA is enabled for the 'root' user account", + Attributes=[ + Prowler_ThreatScore_Requirement_Attribute( + Title="MFA enabled for 'root'", + Section="1. IAM", + SubSection="1.1 Authentication", + AttributeDescription="The root user account holds the highest level of privileges within an AWS account. Enabling Multi-Factor Authentication (MFA) enhances security by adding an additional layer of protection beyond just a username and password. With MFA activated, users must provide their credentials (username and password) along with a unique authentication code generated by their AWS MFA device when signing into an AWS website.", + AdditionalInformation="Enabling MFA enhances console security by requiring the authenticating user to both possess a time-sensitive key-generating device and have knowledge of their credentials.", + LevelOfRisk=5, + ) + ], + Checks=[ + "iam_root_mfa_enabled", + ], + ), + Compliance_Requirement( + Id="1.1.2", + Description="Ensure hardware MFA is enabled for the 'root' user account", + Attributes=[ + Prowler_ThreatScore_Requirement_Attribute( + Title="CloudTrail logging enabled", + Section="1. IAM", + SubSection="1.1 Authentication", + AttributeDescription="The root user account in AWS has the highest level of privileges. Multi-Factor Authentication (MFA) enhances security by adding an extra layer of protection beyond a username and password. When MFA is enabled, users must enter their credentials along with a unique authentication code generated by their AWS MFA device when signing into an AWS website.", + AdditionalInformation="A hardware MFA has a smaller attack surface compared to a virtual MFA. Unlike a virtual MFA, which relies on a mobile device that may be vulnerable to malware or compromise, a hardware MFA operates independently, reducing exposure to potential security threats.", + LevelOfRisk=3, + ) + ], + Checks=[], + ), + ], +) + +PROWLER_THREATSCORE_GCP_NAME = "prowler_threatscore_gcp" +PROWLER_THREATSCORE_GCP = Compliance( + Framework="ProwlerThreatScore", + Version="1.0", + Provider="GCP", + Description="Prowler ThreatScore Compliance Framework for GCP ensures that the GCP account is compliant taking into account four main pillars: Identity and Access Management, Attack Surface, Forensic Readiness and Encryption", + Requirements=[ + Compliance_Requirement( + Id="1.1.1", + Description="Ensure MFA is enabled for the 'root' user account", + Attributes=[ + Prowler_ThreatScore_Requirement_Attribute( + Title="MFA enabled for 'root'", + Section="1. IAM", + SubSection="1.1 Authentication", + AttributeDescription="The root user account holds the highest level of privileges within an AWS account. Enabling Multi-Factor Authentication (MFA) enhances security by adding an additional layer of protection beyond just a username and password. With MFA activated, users must provide their credentials (username and password) along with a unique authentication code generated by their AWS MFA device when signing into an AWS website.", + AdditionalInformation="Enabling MFA enhances console security by requiring the authenticating user to both possess a time-sensitive key-generating device and have knowledge of their credentials.", + LevelOfRisk=5, + ) + ], + Checks=[ + "iam_root_mfa_enabled", + ], + ), + Compliance_Requirement( + Id="1.1.2", + Description="Ensure hardware MFA is enabled for the 'root' user account", + Attributes=[ + Prowler_ThreatScore_Requirement_Attribute( + Title="CloudTrail logging enabled", + Section="1. IAM", + SubSection="1.1 Authentication", + AttributeDescription="The root user account in AWS has the highest level of privileges. Multi-Factor Authentication (MFA) enhances security by adding an extra layer of protection beyond a username and password. When MFA is enabled, users must enter their credentials along with a unique authentication code generated by their AWS MFA device when signing into an AWS website.", + AdditionalInformation="A hardware MFA has a smaller attack surface compared to a virtual MFA. Unlike a virtual MFA, which relies on a mobile device that may be vulnerable to malware or compromise, a hardware MFA operates independently, reducing exposure to potential security threats.", + LevelOfRisk=3, + ) + ], + Checks=[], + ), + ], +) diff --git a/tests/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_aws_test.py b/tests/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_aws_test.py new file mode 100644 index 0000000000..28cf82ab44 --- /dev/null +++ b/tests/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_aws_test.py @@ -0,0 +1,140 @@ +from datetime import datetime +from io import StringIO + +from freezegun import freeze_time +from mock import patch + +from prowler.lib.outputs.compliance.prowler_threatscore.models import ( + ProwlerThreatScoreAWSModel, +) +from prowler.lib.outputs.compliance.prowler_threatscore.prowler_threatscore_aws import ( + ProwlerThreatScoreAWS, +) +from tests.lib.outputs.compliance.fixtures import ( + PROWLER_THREATSCORE_AWS, + PROWLER_THREATSCORE_AWS_NAME, +) +from tests.lib.outputs.fixtures.fixtures import generate_finding_output +from tests.providers.aws.utils import AWS_ACCOUNT_NUMBER, AWS_REGION_EU_WEST_1 + + +class TestProwlerThreatScoreAWS: + def test_output_transform(self): + findings = [ + generate_finding_output(compliance={"ProwlerThreatScore-1.0": "1.1.1"}) + ] + + output = ProwlerThreatScoreAWS( + findings, PROWLER_THREATSCORE_AWS, PROWLER_THREATSCORE_AWS_NAME + ) + output_data = output.data[0] + assert isinstance(output_data, ProwlerThreatScoreAWSModel) + assert output_data.Provider == "aws" + assert output_data.Description == PROWLER_THREATSCORE_AWS.Description + assert output_data.AccountId == AWS_ACCOUNT_NUMBER + assert output_data.Region == AWS_REGION_EU_WEST_1 + assert output_data.Requirements_Id == PROWLER_THREATSCORE_AWS.Requirements[0].Id + assert ( + output_data.Requirements_Description + == PROWLER_THREATSCORE_AWS.Requirements[0].Description + ) + assert ( + output_data.Requirements_Attributes_Title + == PROWLER_THREATSCORE_AWS.Requirements[0].Attributes[0].Title + ) + assert ( + output_data.Requirements_Attributes_Section + == PROWLER_THREATSCORE_AWS.Requirements[0].Attributes[0].Section + ) + assert ( + output_data.Requirements_Attributes_SubSection + == PROWLER_THREATSCORE_AWS.Requirements[0].Attributes[0].SubSection + ) + assert ( + output_data.Requirements_Attributes_AttributeDescription + == PROWLER_THREATSCORE_AWS.Requirements[0] + .Attributes[0] + .AttributeDescription + ) + assert ( + output_data.Requirements_Attributes_AdditionalInformation + == PROWLER_THREATSCORE_AWS.Requirements[0] + .Attributes[0] + .AdditionalInformation + ) + assert ( + output_data.Requirements_Attributes_LevelOfRisk + == PROWLER_THREATSCORE_AWS.Requirements[0].Attributes[0].LevelOfRisk + ) + assert output_data.Status == "PASS" + assert output_data.StatusExtended == "" + assert output_data.ResourceId == "" + assert output_data.ResourceName == "" + assert output_data.CheckId == "test-check-id" + assert not output_data.Muted + # Test manual check + output_data_manual = output.data[1] + assert output_data_manual.Provider == "aws" + assert output_data_manual.AccountId == "" + assert output_data_manual.Region == "" + assert ( + output_data_manual.Requirements_Id + == PROWLER_THREATSCORE_AWS.Requirements[1].Id + ) + assert ( + output_data_manual.Requirements_Description + == PROWLER_THREATSCORE_AWS.Requirements[1].Description + ) + assert ( + output_data_manual.Requirements_Attributes_Title + == PROWLER_THREATSCORE_AWS.Requirements[1].Attributes[0].Title + ) + assert ( + output_data_manual.Requirements_Attributes_Section + == PROWLER_THREATSCORE_AWS.Requirements[1].Attributes[0].Section + ) + assert ( + output_data_manual.Requirements_Attributes_SubSection + == PROWLER_THREATSCORE_AWS.Requirements[1].Attributes[0].SubSection + ) + assert ( + output_data_manual.Requirements_Attributes_AttributeDescription + == PROWLER_THREATSCORE_AWS.Requirements[1] + .Attributes[0] + .AttributeDescription + ) + assert ( + output_data_manual.Requirements_Attributes_AdditionalInformation + == PROWLER_THREATSCORE_AWS.Requirements[1] + .Attributes[0] + .AdditionalInformation + ) + assert ( + output_data_manual.Requirements_Attributes_LevelOfRisk + == PROWLER_THREATSCORE_AWS.Requirements[1].Attributes[0].LevelOfRisk + ) + assert output_data_manual.Status == "MANUAL" + assert output_data_manual.StatusExtended == "Manual check" + assert output_data_manual.ResourceId == "manual_check" + assert output_data_manual.ResourceName == "Manual check" + assert output_data_manual.CheckId == "manual" + assert not output_data_manual.Muted + + @freeze_time(datetime.now()) + def test_batch_write_data_to_file(self): + mock_file = StringIO() + findings = [ + generate_finding_output(compliance={"ProwlerThreatScore-1.0": "1.1.1"}) + ] + output = ProwlerThreatScoreAWS( + findings, PROWLER_THREATSCORE_AWS, PROWLER_THREATSCORE_AWS_NAME + ) + output._file_descriptor = mock_file + + with patch.object(mock_file, "close", return_value=None): + output.batch_write_data_to_file() + + mock_file.seek(0) + content = mock_file.read() + expected_csv = f"PROVIDER;DESCRIPTION;ACCOUNTID;REGION;ASSESSMENTDATE;REQUIREMENTS_ID;REQUIREMENTS_DESCRIPTION;REQUIREMENTS_ATTRIBUTES_TITLE;REQUIREMENTS_ATTRIBUTES_SECTION;REQUIREMENTS_ATTRIBUTES_SUBSECTION;REQUIREMENTS_ATTRIBUTES_ATTRIBUTEDESCRIPTION;REQUIREMENTS_ATTRIBUTES_ADDITIONALINFORMATION;REQUIREMENTS_ATTRIBUTES_LEVELOFRISK;STATUS;STATUSEXTENDED;RESOURCEID;RESOURCENAME;CHECKID;MUTED\r\naws;Prowler ThreatScore Compliance Framework for AWS ensures that the AWS account is compliant taking into account four main pillars: Identity and Access Management, Attack Surface, Forensic Readiness and Encryption;123456789012;eu-west-1;{datetime.now()};1.1.1;Ensure MFA is enabled for the 'root' user account;MFA enabled for 'root';1. IAM;1.1 Authentication;The root user account holds the highest level of privileges within an AWS account. Enabling Multi-Factor Authentication (MFA) enhances security by adding an additional layer of protection beyond just a username and password. With MFA activated, users must provide their credentials (username and password) along with a unique authentication code generated by their AWS MFA device when signing into an AWS website.;Enabling MFA enhances console security by requiring the authenticating user to both possess a time-sensitive key-generating device and have knowledge of their credentials.;5;PASS;;;;test-check-id;False\r\naws;Prowler ThreatScore Compliance Framework for AWS ensures that the AWS account is compliant taking into account four main pillars: Identity and Access Management, Attack Surface, Forensic Readiness and Encryption;;;{datetime.now()};1.1.2;Ensure hardware MFA is enabled for the 'root' user account;CloudTrail logging enabled;1. IAM;1.1 Authentication;The root user account in AWS has the highest level of privileges. Multi-Factor Authentication (MFA) enhances security by adding an extra layer of protection beyond a username and password. When MFA is enabled, users must enter their credentials along with a unique authentication code generated by their AWS MFA device when signing into an AWS website.;A hardware MFA has a smaller attack surface compared to a virtual MFA. Unlike a virtual MFA, which relies on a mobile device that may be vulnerable to malware or compromise, a hardware MFA operates independently, reducing exposure to potential security threats.;3;MANUAL;Manual check;manual_check;Manual check;manual;False\r\n" + assert content == expected_csv diff --git a/tests/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_azure_test.py b/tests/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_azure_test.py new file mode 100644 index 0000000000..0dec129f06 --- /dev/null +++ b/tests/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_azure_test.py @@ -0,0 +1,150 @@ +from datetime import datetime +from io import StringIO + +from freezegun import freeze_time +from mock import patch + +from prowler.lib.outputs.compliance.prowler_threatscore.models import ( + ProwlerThreatScoreAzureModel, +) +from prowler.lib.outputs.compliance.prowler_threatscore.prowler_threatscore_azure import ( + ProwlerThreatScoreAzure, +) +from tests.lib.outputs.compliance.fixtures import ( + PROWLER_THREATSCORE_AZURE, + PROWLER_THREATSCORE_AZURE_NAME, +) +from tests.lib.outputs.fixtures.fixtures import generate_finding_output +from tests.providers.azure.azure_fixtures import ( + AZURE_SUBSCRIPTION_ID, + AZURE_SUBSCRIPTION_NAME, +) + + +class TestProwlerThreatScoreAzure: + def test_output_transform(self): + findings = [ + generate_finding_output( + compliance={"ProwlerThreatScore-1.0": "1.1.1"}, + provider="azure", + account_name=AZURE_SUBSCRIPTION_NAME, + account_uid=AZURE_SUBSCRIPTION_ID, + region="", + ) + ] + + output = ProwlerThreatScoreAzure( + findings, PROWLER_THREATSCORE_AZURE, PROWLER_THREATSCORE_AZURE_NAME + ) + output_data = output.data[0] + assert isinstance(output_data, ProwlerThreatScoreAzureModel) + assert output_data.Provider == "azure" + assert output_data.Description == PROWLER_THREATSCORE_AZURE.Description + assert output_data.SubscriptionId == AZURE_SUBSCRIPTION_ID + assert output_data.Location == "" + assert ( + output_data.Requirements_Id == PROWLER_THREATSCORE_AZURE.Requirements[0].Id + ) + assert ( + output_data.Requirements_Description + == PROWLER_THREATSCORE_AZURE.Requirements[0].Description + ) + assert ( + output_data.Requirements_Attributes_Title + == PROWLER_THREATSCORE_AZURE.Requirements[0].Attributes[0].Title + ) + assert ( + output_data.Requirements_Attributes_Section + == PROWLER_THREATSCORE_AZURE.Requirements[0].Attributes[0].Section + ) + assert ( + output_data.Requirements_Attributes_SubSection + == PROWLER_THREATSCORE_AZURE.Requirements[0].Attributes[0].SubSection + ) + assert ( + output_data.Requirements_Attributes_AttributeDescription + == PROWLER_THREATSCORE_AZURE.Requirements[0] + .Attributes[0] + .AttributeDescription + ) + assert ( + output_data.Requirements_Attributes_AdditionalInformation + == PROWLER_THREATSCORE_AZURE.Requirements[0] + .Attributes[0] + .AdditionalInformation + ) + assert ( + output_data.Requirements_Attributes_LevelOfRisk + == PROWLER_THREATSCORE_AZURE.Requirements[0].Attributes[0].LevelOfRisk + ) + assert output_data.Status == "PASS" + assert output_data.StatusExtended == "" + assert output_data.ResourceId == "" + assert output_data.ResourceName == "" + assert output_data.CheckId == "test-check-id" + assert not output_data.Muted + # Test manual check + output_data_manual = output.data[1] + assert output_data_manual.Provider == "azure" + assert output_data_manual.SubscriptionId == "" + assert output_data_manual.Location == "" + assert ( + output_data_manual.Requirements_Id + == PROWLER_THREATSCORE_AZURE.Requirements[1].Id + ) + assert ( + output_data_manual.Requirements_Description + == PROWLER_THREATSCORE_AZURE.Requirements[1].Description + ) + assert ( + output_data_manual.Requirements_Attributes_Title + == PROWLER_THREATSCORE_AZURE.Requirements[1].Attributes[0].Title + ) + assert ( + output_data_manual.Requirements_Attributes_Section + == PROWLER_THREATSCORE_AZURE.Requirements[1].Attributes[0].Section + ) + assert ( + output_data_manual.Requirements_Attributes_SubSection + == PROWLER_THREATSCORE_AZURE.Requirements[1].Attributes[0].SubSection + ) + assert ( + output_data_manual.Requirements_Attributes_AttributeDescription + == PROWLER_THREATSCORE_AZURE.Requirements[1] + .Attributes[0] + .AttributeDescription + ) + assert ( + output_data_manual.Requirements_Attributes_AdditionalInformation + == PROWLER_THREATSCORE_AZURE.Requirements[1] + .Attributes[0] + .AdditionalInformation + ) + assert ( + output_data_manual.Requirements_Attributes_LevelOfRisk + == PROWLER_THREATSCORE_AZURE.Requirements[1].Attributes[0].LevelOfRisk + ) + assert output_data_manual.Status == "MANUAL" + assert output_data_manual.StatusExtended == "Manual check" + assert output_data_manual.ResourceId == "manual_check" + assert output_data_manual.ResourceName == "Manual check" + assert output_data_manual.CheckId == "manual" + + @freeze_time(datetime.now()) + def test_batch_write_data_to_file(self): + mock_file = StringIO() + findings = [ + generate_finding_output(compliance={"ProwlerThreatScore-1.0": "1.1.1"}) + ] + output = ProwlerThreatScoreAzure( + findings, PROWLER_THREATSCORE_AZURE, PROWLER_THREATSCORE_AZURE_NAME + ) + output._file_descriptor = mock_file + + with patch.object(mock_file, "close", return_value=None): + output.batch_write_data_to_file() + + mock_file.seek(0) + content = mock_file.read() + expected_csv = f"PROVIDER;DESCRIPTION;SUBSCRIPTIONID;LOCATION;ASSESSMENTDATE;REQUIREMENTS_ID;REQUIREMENTS_DESCRIPTION;REQUIREMENTS_ATTRIBUTES_TITLE;REQUIREMENTS_ATTRIBUTES_SECTION;REQUIREMENTS_ATTRIBUTES_SUBSECTION;REQUIREMENTS_ATTRIBUTES_ATTRIBUTEDESCRIPTION;REQUIREMENTS_ATTRIBUTES_ADDITIONALINFORMATION;REQUIREMENTS_ATTRIBUTES_LEVELOFRISK;STATUS;STATUSEXTENDED;RESOURCEID;RESOURCENAME;CHECKID;MUTED\r\naws;Prowler ThreatScore Compliance Framework for Azure ensures that the Azure account is compliant taking into account four main pillars: Identity and Access Management, Attack Surface, Forensic Readiness and Encryption;123456789012;eu-west-1;{datetime.now()};1.1.1;Ensure MFA is enabled for the 'root' user account;MFA enabled for 'root';1. IAM;1.1 Authentication;The root user account holds the highest level of privileges within an AWS account. Enabling Multi-Factor Authentication (MFA) enhances security by adding an additional layer of protection beyond just a username and password. With MFA activated, users must provide their credentials (username and password) along with a unique authentication code generated by their AWS MFA device when signing into an AWS website.;Enabling MFA enhances console security by requiring the authenticating user to both possess a time-sensitive key-generating device and have knowledge of their credentials.;5;PASS;;;;test-check-id;False\r\nazure;Prowler ThreatScore Compliance Framework for Azure ensures that the Azure account is compliant taking into account four main pillars: Identity and Access Management, Attack Surface, Forensic Readiness and Encryption;;;{datetime.now()};1.1.2;Ensure hardware MFA is enabled for the 'root' user account;CloudTrail logging enabled;1. IAM;1.1 Authentication;The root user account in AWS has the highest level of privileges. Multi-Factor Authentication (MFA) enhances security by adding an extra layer of protection beyond a username and password. When MFA is enabled, users must enter their credentials along with a unique authentication code generated by their AWS MFA device when signing into an AWS website.;A hardware MFA has a smaller attack surface compared to a virtual MFA. Unlike a virtual MFA, which relies on a mobile device that may be vulnerable to malware or compromise, a hardware MFA operates independently, reducing exposure to potential security threats.;3;MANUAL;Manual check;manual_check;Manual check;manual;False\r\n" + assert content == expected_csv diff --git a/tests/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_gcp_test.py b/tests/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_gcp_test.py new file mode 100644 index 0000000000..40a5e60494 --- /dev/null +++ b/tests/lib/outputs/compliance/prowler_threatscore/prowler_threatscore_gcp_test.py @@ -0,0 +1,147 @@ +from datetime import datetime +from io import StringIO + +from freezegun import freeze_time +from mock import patch + +from prowler.lib.outputs.compliance.prowler_threatscore.models import ( + ProwlerThreatScoreGCPModel, +) +from prowler.lib.outputs.compliance.prowler_threatscore.prowler_threatscore_gcp import ( + ProwlerThreatScoreGCP, +) +from tests.lib.outputs.compliance.fixtures import ( + PROWLER_THREATSCORE_GCP, + PROWLER_THREATSCORE_GCP_NAME, +) +from tests.lib.outputs.fixtures.fixtures import generate_finding_output +from tests.providers.gcp.gcp_fixtures import GCP_PROJECT_ID + + +class TestProwlerThreatScoreGCP: + def test_output_transform(self): + findings = [ + generate_finding_output( + compliance={"ProwlerThreatScore-1.0": "1.1.1"}, + provider="gcp", + account_name=GCP_PROJECT_ID, + account_uid=GCP_PROJECT_ID, + region="", + ) + ] + + output = ProwlerThreatScoreGCP( + findings, PROWLER_THREATSCORE_GCP, PROWLER_THREATSCORE_GCP_NAME + ) + output_data = output.data[0] + assert isinstance(output_data, ProwlerThreatScoreGCPModel) + assert output_data.Provider == "gcp" + assert output_data.Description == PROWLER_THREATSCORE_GCP.Description + assert output_data.ProjectId == GCP_PROJECT_ID + assert output_data.Location == "" + assert output_data.Requirements_Id == PROWLER_THREATSCORE_GCP.Requirements[0].Id + assert ( + output_data.Requirements_Description + == PROWLER_THREATSCORE_GCP.Requirements[0].Description + ) + assert ( + output_data.Requirements_Attributes_Title + == PROWLER_THREATSCORE_GCP.Requirements[0].Attributes[0].Title + ) + assert ( + output_data.Requirements_Attributes_Section + == PROWLER_THREATSCORE_GCP.Requirements[0].Attributes[0].Section + ) + assert ( + output_data.Requirements_Attributes_SubSection + == PROWLER_THREATSCORE_GCP.Requirements[0].Attributes[0].SubSection + ) + assert ( + output_data.Requirements_Attributes_AttributeDescription + == PROWLER_THREATSCORE_GCP.Requirements[0] + .Attributes[0] + .AttributeDescription + ) + assert ( + output_data.Requirements_Attributes_AdditionalInformation + == PROWLER_THREATSCORE_GCP.Requirements[0] + .Attributes[0] + .AdditionalInformation + ) + assert ( + output_data.Requirements_Attributes_LevelOfRisk + == PROWLER_THREATSCORE_GCP.Requirements[0].Attributes[0].LevelOfRisk + ) + assert output_data.Status == "PASS" + assert output_data.StatusExtended == "" + assert output_data.ResourceId == "" + assert output_data.ResourceName == "" + assert output_data.CheckId == "test-check-id" + assert not output_data.Muted + # Test manual check + output_data_manual = output.data[1] + assert output_data_manual.Provider == "gcp" + assert output_data_manual.ProjectId == "" + assert output_data_manual.Location == "" + assert ( + output_data_manual.Requirements_Id + == PROWLER_THREATSCORE_GCP.Requirements[1].Id + ) + assert ( + output_data_manual.Requirements_Description + == PROWLER_THREATSCORE_GCP.Requirements[1].Description + ) + assert ( + output_data_manual.Requirements_Attributes_Title + == PROWLER_THREATSCORE_GCP.Requirements[1].Attributes[0].Title + ) + assert ( + output_data_manual.Requirements_Attributes_Section + == PROWLER_THREATSCORE_GCP.Requirements[1].Attributes[0].Section + ) + assert ( + output_data_manual.Requirements_Attributes_SubSection + == PROWLER_THREATSCORE_GCP.Requirements[1].Attributes[0].SubSection + ) + assert ( + output_data_manual.Requirements_Attributes_AttributeDescription + == PROWLER_THREATSCORE_GCP.Requirements[1] + .Attributes[0] + .AttributeDescription + ) + assert ( + output_data_manual.Requirements_Attributes_AdditionalInformation + == PROWLER_THREATSCORE_GCP.Requirements[1] + .Attributes[0] + .AdditionalInformation + ) + assert ( + output_data_manual.Requirements_Attributes_LevelOfRisk + == PROWLER_THREATSCORE_GCP.Requirements[1].Attributes[0].LevelOfRisk + ) + assert output_data_manual.Status == "MANUAL" + assert output_data_manual.StatusExtended == "Manual check" + assert output_data_manual.ResourceId == "manual_check" + assert output_data_manual.ResourceName == "Manual check" + assert output_data_manual.CheckId == "manual" + assert not output_data_manual.Muted + + @freeze_time(datetime.now()) + def test_batch_write_data_to_file(self): + mock_file = StringIO() + findings = [ + generate_finding_output(compliance={"ProwlerThreatScore-1.0": "1.1.1"}) + ] + output = ProwlerThreatScoreGCP( + findings, PROWLER_THREATSCORE_GCP, PROWLER_THREATSCORE_GCP_NAME + ) + output._file_descriptor = mock_file + + with patch.object(mock_file, "close", return_value=None): + output.batch_write_data_to_file() + + mock_file.seek(0) + content = mock_file.read() + expected_csv = f"PROVIDER;DESCRIPTION;PROJECTID;LOCATION;ASSESSMENTDATE;REQUIREMENTS_ID;REQUIREMENTS_DESCRIPTION;REQUIREMENTS_ATTRIBUTES_TITLE;REQUIREMENTS_ATTRIBUTES_SECTION;REQUIREMENTS_ATTRIBUTES_SUBSECTION;REQUIREMENTS_ATTRIBUTES_ATTRIBUTEDESCRIPTION;REQUIREMENTS_ATTRIBUTES_ADDITIONALINFORMATION;REQUIREMENTS_ATTRIBUTES_LEVELOFRISK;STATUS;STATUSEXTENDED;RESOURCEID;RESOURCENAME;CHECKID;MUTED\r\naws;Prowler ThreatScore Compliance Framework for GCP ensures that the GCP account is compliant taking into account four main pillars: Identity and Access Management, Attack Surface, Forensic Readiness and Encryption;123456789012;eu-west-1;{datetime.now()};1.1.1;Ensure MFA is enabled for the 'root' user account;MFA enabled for 'root';1. IAM;1.1 Authentication;The root user account holds the highest level of privileges within an AWS account. Enabling Multi-Factor Authentication (MFA) enhances security by adding an additional layer of protection beyond just a username and password. With MFA activated, users must provide their credentials (username and password) along with a unique authentication code generated by their AWS MFA device when signing into an AWS website.;Enabling MFA enhances console security by requiring the authenticating user to both possess a time-sensitive key-generating device and have knowledge of their credentials.;5;PASS;;;;test-check-id;False\r\ngcp;Prowler ThreatScore Compliance Framework for GCP ensures that the GCP account is compliant taking into account four main pillars: Identity and Access Management, Attack Surface, Forensic Readiness and Encryption;;;{datetime.now()};1.1.2;Ensure hardware MFA is enabled for the 'root' user account;CloudTrail logging enabled;1. IAM;1.1 Authentication;The root user account in AWS has the highest level of privileges. Multi-Factor Authentication (MFA) enhances security by adding an extra layer of protection beyond a username and password. When MFA is enabled, users must enter their credentials along with a unique authentication code generated by their AWS MFA device when signing into an AWS website.;A hardware MFA has a smaller attack surface compared to a virtual MFA. Unlike a virtual MFA, which relies on a mobile device that may be vulnerable to malware or compromise, a hardware MFA operates independently, reducing exposure to potential security threats.;3;MANUAL;Manual check;manual_check;Manual check;manual;False\r\n" + + assert content == expected_csv diff --git a/util/generate_compliance_json_from_csv_threatscope.py b/util/generate_compliance_json_from_csv_threatscope.py new file mode 100644 index 0000000000..47865d0c8d --- /dev/null +++ b/util/generate_compliance_json_from_csv_threatscope.py @@ -0,0 +1,36 @@ +import csv +import json +import sys + +# Convert a CSV file following the ThreatScore CSV format into a Prowler Compliance JSON file +# CSV fields: +# Id, Title, Description, Section, SubSection, AttributeDescription, AdditionalInformation, LevelOfRisk, Checks + +# get the CSV filename to convert from +file_name = sys.argv[1] + +# read the CSV file rows and use the column fields to form the Prowler compliance JSON file 'prowler_threatscore_aws.json' +output = {"Framework": "ProwlerThreatScore", "Version": "1.0", "Requirements": []} +with open(file_name, newline="", encoding="utf-8") as f: + reader = csv.reader(f, delimiter=",") + for row in reader: + attribute = { + "Title": row[1], + "Section": row[3], + "SubSection": row[4], + "AttributeDescription": row[5], + "AdditionalInformation": row[6], + "LevelOfRisk": row[7], + } + output["Requirements"].append( + { + "Id": row[0], + "Description": row[2], + "Checks": list(map(str.strip, row[8].split(","))), + "Attributes": [attribute], + } + ) + +# Write the output Prowler compliance JSON file 'prowler_threatscore_aws.json' locally +with open("prowler_threatscore_azure.json", "w", encoding="utf-8") as outfile: + json.dump(output, outfile, indent=4, ensure_ascii=False) diff --git a/util/get_prowler_threatscore_from_generic_output.py b/util/get_prowler_threatscore_from_generic_output.py new file mode 100644 index 0000000000..d3cd53a6b6 --- /dev/null +++ b/util/get_prowler_threatscore_from_generic_output.py @@ -0,0 +1,52 @@ +import csv +import json +import sys + +file_name_output = sys.argv[1] # It is the output CSV file +file_name_compliance = sys.argv[2] # It is the compliance JSON file + + +number_of_findings_per_pillar = {} +score_per_pillar = {} +# Read the compliance JSON file +with open(file_name_compliance, "r") as file: + data = json.load(file) + +# Read the output CSV file +with open(file_name_output, "r") as file: + reader = csv.reader(file, delimiter=";") + headers = next(reader) + if "CHECK_ID" in headers: + check_id_index = headers.index("CHECK_ID") + if "STATUS" in headers: + status_index = headers.index("STATUS") + if "MUTED" in headers: + muted_index = headers.index("MUTED") + for row in reader: + for requirement in data["Requirements"]: + # Take the column that contains the CHECK_ID + if row[check_id_index] in requirement["Checks"]: + if ( + requirement["Attributes"][0]["Section"] + not in number_of_findings_per_pillar.keys() + ): + number_of_findings_per_pillar[ + requirement["Attributes"][0]["Section"] + ] = 0 + if ( + requirement["Attributes"][0]["Section"] + not in score_per_pillar.keys() + ): + score_per_pillar[requirement["Attributes"][0]["Section"]] = 0 + if row[status_index] == "FAIL" and row[muted_index] != "TRUE": + number_of_findings_per_pillar[ + requirement["Attributes"][0]["Section"] + ] += 1 + score_per_pillar[ + requirement["Attributes"][0]["Section"] + ] += requirement["Attributes"][0]["LevelOfRisk"] + +for key, value in number_of_findings_per_pillar.items(): + print("Pillar:", key) + print("Score:", score_per_pillar[key] / value) + print("--------------------------------") From 78439b4c0c262e0e09ab68e371e233020a413932 Mon Sep 17 00:00:00 2001 From: Erlend Ekern Date: Tue, 29 Apr 2025 09:15:47 +0200 Subject: [PATCH 03/31] chore(dockerfile): add image source as docker label (#7617) --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 1c19358a3f..eb79e31cce 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ FROM python:3.12.10-alpine3.20 LABEL maintainer="https://github.com/prowler-cloud/prowler" +LABEL org.opencontainers.image.source="https://github.com/prowler-cloud/prowler" # Update system dependencies and install essential tools #hadolint ignore=DL3018 From 5a0fb13ece07371119cdad3eefb8722dc0d7f6e8 Mon Sep 17 00:00:00 2001 From: Pepe Fagoaga Date: Tue, 29 Apr 2025 13:01:12 +0545 Subject: [PATCH 04/31] fix(run-sh): Use poetry's env (#7621) --- .../aws/multi-account-securityhub/run-prowler-securityhub.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/contrib/aws/multi-account-securityhub/run-prowler-securityhub.sh b/contrib/aws/multi-account-securityhub/run-prowler-securityhub.sh index 51fef78f77..c101da8613 100755 --- a/contrib/aws/multi-account-securityhub/run-prowler-securityhub.sh +++ b/contrib/aws/multi-account-securityhub/run-prowler-securityhub.sh @@ -1,6 +1,9 @@ #!/bin/bash # Run Prowler against All AWS Accounts in an AWS Organization +# Activate Poetry Environment +eval "$(poetry env activate)" + # Show Prowler Version prowler -v From ceacd077d26b57f34cf9b82df245f5a77c0be0e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Mart=C3=ADn?= Date: Tue, 29 Apr 2025 09:39:24 +0200 Subject: [PATCH 05/31] fix(typos): remove unneeded files (#7627) --- prowler_threatscore_aws | 0 prowler_threatscore_azure | 0 prowler_threatscore_gcp | 0 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 prowler_threatscore_aws delete mode 100644 prowler_threatscore_azure delete mode 100644 prowler_threatscore_gcp diff --git a/prowler_threatscore_aws b/prowler_threatscore_aws deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/prowler_threatscore_azure b/prowler_threatscore_azure deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/prowler_threatscore_gcp b/prowler_threatscore_gcp deleted file mode 100644 index e69de29bb2..0000000000 From 82eecec27734a7a152fc15029c81377371edccbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Mart=C3=ADn?= Date: Wed, 30 Apr 2025 11:43:41 +0200 Subject: [PATCH 06/31] feat(sharepoint): add new check related with OneDrive Sync (#7589) Co-authored-by: Andoni A. <14891798+andoniaf@users.noreply.github.com> --- README.md | 2 +- prowler/CHANGELOG.md | 1 + .../__init__.py | 0 ...restricted_unmanaged_devices.metadata.json | 30 ++++ ...drive_sync_restricted_unmanaged_devices.py | 48 +++++++ .../services/sharepoint/sharepoint_service.py | 4 +- ...harepoint_external_sharing_managed_test.py | 6 + ...epoint_external_sharing_restricted_test.py | 3 + ...harepoint_guest_sharing_restricted_test.py | 3 + ...int_modern_authentication_required_test.py | 3 + ..._sync_restricted_unmanaged_devices_test.py | 129 ++++++++++++++++++ .../sharepoint/sharepoint_service_test.py | 6 + 12 files changed, 233 insertions(+), 2 deletions(-) create mode 100644 prowler/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/__init__.py create mode 100644 prowler/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/sharepoint_onedrive_sync_restricted_unmanaged_devices.metadata.json create mode 100644 prowler/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/sharepoint_onedrive_sync_restricted_unmanaged_devices.py create mode 100644 tests/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/sharepoint_onedrive_sync_restricted_unmanaged_devices_test.py diff --git a/README.md b/README.md index addd596590..fa89204448 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ It contains hundreds of controls covering CIS, NIST 800, NIST CSF, CISA, RBI, Fe | GCP | 79 | 13 | 7 | 3 | | Azure | 140 | 18 | 8 | 3 | | Kubernetes | 83 | 7 | 4 | 7 | -| M365 | 5 | 2 | 1 | 0 | +| M365 | 44 | 2 | 1 | 0 | | NHN (Unofficial) | 6 | 2 | 1 | 0 | > You can list the checks, services, compliance frameworks and categories with `prowler --list-checks`, `prowler --list-services`, `prowler --list-compliance` and `prowler --list-categories`. diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index 51b7e45c7a..1c7cbc4175 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -36,6 +36,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - Add new check `teams_meeting_presenters_restricted` [(#7613)](https://github.com/prowler-cloud/prowler/pull/7613) - Add new check `teams_meeting_chat_anonymous_users_disabled` [(#7579)](https://github.com/prowler-cloud/prowler/pull/7579) - Add Prowler Threat Score Compliance Framework [(#7603)](https://github.com/prowler-cloud/prowler/pull/7603) +- Add new check `sharepoint_onedrive_sync_restricted_unmanaged_devices` [(#7589)](https://github.com/prowler-cloud/prowler/pull/7589) ### Fixed diff --git a/prowler/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/__init__.py b/prowler/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/prowler/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/sharepoint_onedrive_sync_restricted_unmanaged_devices.metadata.json b/prowler/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/sharepoint_onedrive_sync_restricted_unmanaged_devices.metadata.json new file mode 100644 index 0000000000..8f08f26c60 --- /dev/null +++ b/prowler/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/sharepoint_onedrive_sync_restricted_unmanaged_devices.metadata.json @@ -0,0 +1,30 @@ +{ + "Provider": "m365", + "CheckID": "sharepoint_onedrive_sync_restricted_unmanaged_devices", + "CheckTitle": "Ensure OneDrive sync is restricted for unmanaged devices.", + "CheckType": [], + "ServiceName": "sharepoint", + "SubServiceName": "", + "ResourceIdTemplate": "", + "Severity": "critical", + "ResourceType": "Sharepoint Settings", + "Description": "Microsoft OneDrive allows users to sign in their cloud tenant account and begin syncing select folders or the entire contents of OneDrive to a local computer. By default, this includes any computer with OneDrive already installed, whether it is Entra Joined, Entra Hybrid Joined or Active Directory Domain joined. The recommended state for this setting is Allow syncing only on computers joined to specific domains Enabled: Specify the AD domain GUID(s).", + "Risk": "Unmanaged devices can pose a security risk by allowing users to sync sensitive data to unauthorized devices, potentially leading to data leakage or unauthorized access.", + "RelatedUrl": "https://learn.microsoft.com/en-us/graph/api/resources/sharepoint?view=graph-rest-1.0", + "Remediation": { + "Code": { + "CLI": "Set-SPOTenantSyncClientRestriction -Enable -DomainGuids '; ; ...'", + "NativeIaC": "", + "Other": "1. Navigate to SharePoint admin center https://admin.microsoft.com/sharepoint 2. Click Settings then select OneDrive - Sync. 3. Check the Allow syncing only on computers joined to specific domains. 4. Use the Get-ADDomain PowerShell command on the on-premises server to obtain the GUID for each on-premises domain. 5. Click Save.", + "Terraform": "" + }, + "Recommendation": { + "Text": "Restrict OneDrive sync to managed devices to prevent unauthorized access to sensitive data.", + "Url": "https://learn.microsoft.com/en-us/sharepoint/allow-syncing-only-on-specific-domains" + } + }, + "Categories": [], + "DependsOn": [], + "RelatedTo": [], + "Notes": "" +} diff --git a/prowler/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/sharepoint_onedrive_sync_restricted_unmanaged_devices.py b/prowler/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/sharepoint_onedrive_sync_restricted_unmanaged_devices.py new file mode 100644 index 0000000000..ca6d5415fa --- /dev/null +++ b/prowler/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/sharepoint_onedrive_sync_restricted_unmanaged_devices.py @@ -0,0 +1,48 @@ +from typing import List + +from prowler.lib.check.models import Check, CheckReportM365 +from prowler.providers.m365.services.sharepoint.sharepoint_client import ( + sharepoint_client, +) + + +class sharepoint_onedrive_sync_restricted_unmanaged_devices(Check): + """ + Check if OneDrive sync is restricted for unmanaged devices. + + This check verifies that OneDrive sync is restricted to managed devices only. + Unmanaged devices can pose a security risk by allowing users to sync sensitive data to unauthorized devices, + potentially leading to data leakage or unauthorized access. + + The check fails if OneDrive sync is not restricted to managed devices (AllowedDomainGuidsForSyncApp is empty). + """ + + def execute(self) -> List[CheckReportM365]: + """ + Execute the OneDrive sync restriction check. + + Retrieves the OneDrive sync settings from the Microsoft 365 SharePoint client and + generates a report indicating whether OneDrive sync is restricted to managed devices only. + + Returns: + List[CheckReportM365]: A list containing the report object with the result of the check. + """ + findings = [] + settings = sharepoint_client.settings + if settings: + report = CheckReportM365( + self.metadata(), + resource=settings if settings else {}, + resource_name="SharePoint Settings", + resource_id=sharepoint_client.tenant_domain, + ) + report.status = "PASS" + report.status_extended = "Microsoft 365 SharePoint does not allow OneDrive sync to unmanaged devices." + + if len(settings.allowedDomainGuidsForSyncApp) == 0: + report.status = "FAIL" + report.status_extended = "Microsoft 365 SharePoint allows OneDrive sync to unmanaged devices." + + findings.append(report) + + return findings diff --git a/prowler/providers/m365/services/sharepoint/sharepoint_service.py b/prowler/providers/m365/services/sharepoint/sharepoint_service.py index 6040a321b8..02a701821f 100644 --- a/prowler/providers/m365/services/sharepoint/sharepoint_service.py +++ b/prowler/providers/m365/services/sharepoint/sharepoint_service.py @@ -1,3 +1,4 @@ +import uuid from asyncio import gather, get_event_loop from typing import List, Optional @@ -26,7 +27,6 @@ class SharePoint(M365Service): settings = None try: global_settings = await self.client.admin.sharepoint.settings.get() - settings = SharePointSettings( sharingCapability=( str(global_settings.sharing_capability).split(".")[-1] @@ -38,6 +38,7 @@ class SharePoint(M365Service): sharingDomainRestrictionMode=global_settings.sharing_domain_restriction_mode, legacyAuth=global_settings.is_legacy_auth_protocols_enabled, resharingEnabled=global_settings.is_resharing_by_external_users_enabled, + allowedDomainGuidsForSyncApp=global_settings.allowed_domain_guids_for_sync_app, ) except ODataError as error: @@ -60,3 +61,4 @@ class SharePointSettings(BaseModel): sharingDomainRestrictionMode: str resharingEnabled: bool legacyAuth: bool + allowedDomainGuidsForSyncApp: List[uuid.UUID] diff --git a/tests/providers/m365/services/sharepoint/sharepoint_external_sharing_managed/sharepoint_external_sharing_managed_test.py b/tests/providers/m365/services/sharepoint/sharepoint_external_sharing_managed/sharepoint_external_sharing_managed_test.py index 6111ff0993..0ba5bd69af 100644 --- a/tests/providers/m365/services/sharepoint/sharepoint_external_sharing_managed/sharepoint_external_sharing_managed_test.py +++ b/tests/providers/m365/services/sharepoint/sharepoint_external_sharing_managed/sharepoint_external_sharing_managed_test.py @@ -1,3 +1,4 @@ +import uuid from unittest import mock from prowler.providers.m365.services.sharepoint.sharepoint_service import ( @@ -35,6 +36,7 @@ class Test_sharepoint_external_sharing_managed: legacyAuth=True, resharingEnabled=False, sharingDomainRestrictionMode="none", + allowedDomainGuidsForSyncApp=[uuid.uuid4()], ) sharepoint_client.tenant_domain = DOMAIN @@ -80,6 +82,7 @@ class Test_sharepoint_external_sharing_managed: legacyAuth=True, resharingEnabled=False, sharingDomainRestrictionMode="allowList", + allowedDomainGuidsForSyncApp=[uuid.uuid4()], ) sharepoint_client.tenant_domain = DOMAIN @@ -125,6 +128,7 @@ class Test_sharepoint_external_sharing_managed: legacyAuth=True, resharingEnabled=False, sharingDomainRestrictionMode="blockList", + allowedDomainGuidsForSyncApp=[uuid.uuid4()], ) sharepoint_client.tenant_domain = DOMAIN @@ -170,6 +174,7 @@ class Test_sharepoint_external_sharing_managed: legacyAuth=True, resharingEnabled=False, sharingDomainRestrictionMode="allowList", + allowedDomainGuidsForSyncApp=[uuid.uuid4()], ) sharepoint_client.tenant_domain = DOMAIN @@ -215,6 +220,7 @@ class Test_sharepoint_external_sharing_managed: legacyAuth=True, resharingEnabled=False, sharingDomainRestrictionMode="blockList", + allowedDomainGuidsForSyncApp=[uuid.uuid4()], ) sharepoint_client.tenant_domain = DOMAIN diff --git a/tests/providers/m365/services/sharepoint/sharepoint_external_sharing_restricted/sharepoint_external_sharing_restricted_test.py b/tests/providers/m365/services/sharepoint/sharepoint_external_sharing_restricted/sharepoint_external_sharing_restricted_test.py index f238cbf4fa..beb1b4a52a 100644 --- a/tests/providers/m365/services/sharepoint/sharepoint_external_sharing_restricted/sharepoint_external_sharing_restricted_test.py +++ b/tests/providers/m365/services/sharepoint/sharepoint_external_sharing_restricted/sharepoint_external_sharing_restricted_test.py @@ -1,3 +1,4 @@ +import uuid from unittest import mock from prowler.providers.m365.services.sharepoint.sharepoint_service import ( @@ -35,6 +36,7 @@ class Test_sharepoint_external_sharing_restricted: sharingDomainRestrictionMode="allowList", resharingEnabled=False, legacyAuth=True, + allowedDomainGuidsForSyncApp=[uuid.uuid4()], ) sharepoint_client.tenant_domain = DOMAIN @@ -78,6 +80,7 @@ class Test_sharepoint_external_sharing_restricted: sharingDomainRestrictionMode="allowList", resharingEnabled=False, legacyAuth=True, + allowedDomainGuidsForSyncApp=[uuid.uuid4()], ) sharepoint_client.tenant_domain = DOMAIN diff --git a/tests/providers/m365/services/sharepoint/sharepoint_guest_sharing_restricted/sharepoint_guest_sharing_restricted_test.py b/tests/providers/m365/services/sharepoint/sharepoint_guest_sharing_restricted/sharepoint_guest_sharing_restricted_test.py index 1386278fa6..ba98f79477 100644 --- a/tests/providers/m365/services/sharepoint/sharepoint_guest_sharing_restricted/sharepoint_guest_sharing_restricted_test.py +++ b/tests/providers/m365/services/sharepoint/sharepoint_guest_sharing_restricted/sharepoint_guest_sharing_restricted_test.py @@ -1,3 +1,4 @@ +import uuid from unittest import mock from prowler.providers.m365.services.sharepoint.sharepoint_service import ( @@ -35,6 +36,7 @@ class Test_sharepoint_guest_sharing_restricted: sharingDomainRestrictionMode="allowList", legacyAuth=True, resharingEnabled=False, + allowedDomainGuidsForSyncApp=[uuid.uuid4()], ) sharepoint_client.tenant_domain = DOMAIN @@ -79,6 +81,7 @@ class Test_sharepoint_guest_sharing_restricted: sharingDomainRestrictionMode="allowList", legacyAuth=True, resharingEnabled=True, + allowedDomainGuidsForSyncApp=[uuid.uuid4()], ) sharepoint_client.tenant_domain = DOMAIN diff --git a/tests/providers/m365/services/sharepoint/sharepoint_modern_authentication_required/sharepoint_modern_authentication_required_test.py b/tests/providers/m365/services/sharepoint/sharepoint_modern_authentication_required/sharepoint_modern_authentication_required_test.py index bf2c23a645..43753558be 100644 --- a/tests/providers/m365/services/sharepoint/sharepoint_modern_authentication_required/sharepoint_modern_authentication_required_test.py +++ b/tests/providers/m365/services/sharepoint/sharepoint_modern_authentication_required/sharepoint_modern_authentication_required_test.py @@ -1,3 +1,4 @@ +import uuid from unittest import mock from tests.providers.m365.m365_fixtures import DOMAIN, set_mocked_m365_provider @@ -35,6 +36,7 @@ class Test_sharepoint_modern_authentication_required: sharingDomainRestrictionMode="allowList", resharingEnabled=False, legacyAuth=False, + allowedDomainGuidsForSyncApp=[uuid.uuid4()], ) sharepoint_client.tenant_domain = DOMAIN @@ -81,6 +83,7 @@ class Test_sharepoint_modern_authentication_required: sharingDomainRestrictionMode="allowList", resharingEnabled=False, legacyAuth=True, + allowedDomainGuidsForSyncApp=[uuid.uuid4()], ) sharepoint_client.tenant_domain = DOMAIN diff --git a/tests/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/sharepoint_onedrive_sync_restricted_unmanaged_devices_test.py b/tests/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/sharepoint_onedrive_sync_restricted_unmanaged_devices_test.py new file mode 100644 index 0000000000..0788194f8a --- /dev/null +++ b/tests/providers/m365/services/sharepoint/sharepoint_onedrive_sync_restricted_unmanaged_devices/sharepoint_onedrive_sync_restricted_unmanaged_devices_test.py @@ -0,0 +1,129 @@ +import uuid +from unittest import mock + +from prowler.providers.m365.services.sharepoint.sharepoint_service import ( + SharePointSettings, +) +from tests.providers.m365.m365_fixtures import DOMAIN, set_mocked_m365_provider + + +class Test_sharepoint_onedrive_sync_restricted_unmanaged_devices: + def test_no_allowed_domain_guids(self): + """ + Test when there are no allowed domain guids for OneDrive sync app + + + """ + sharepoint_client = mock.MagicMock + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.services.sharepoint.sharepoint_onedrive_sync_restricted_unmanaged_devices.sharepoint_onedrive_sync_restricted_unmanaged_devices.sharepoint_client", + new=sharepoint_client, + ), + ): + from prowler.providers.m365.services.sharepoint.sharepoint_onedrive_sync_restricted_unmanaged_devices.sharepoint_onedrive_sync_restricted_unmanaged_devices import ( + sharepoint_onedrive_sync_restricted_unmanaged_devices, + ) + + sharepoint_client.settings = SharePointSettings( + sharingCapability="ExternalUserSharingOnly", + sharingAllowedDomainList=["allowed-domain.com"], + sharingBlockedDomainList=["blocked-domain.com"], + legacyAuth=True, + resharingEnabled=False, + sharingDomainRestrictionMode="none", + allowedDomainGuidsForSyncApp=[], + ) + sharepoint_client.tenant_domain = DOMAIN + + check = sharepoint_onedrive_sync_restricted_unmanaged_devices() + result = check.execute() + + assert len(result) == 1 + assert result[0].status == "FAIL" + assert ( + result[0].status_extended + == "Microsoft 365 SharePoint allows OneDrive sync to unmanaged devices." + ) + assert result[0].resource_id == DOMAIN + assert result[0].location == "global" + assert result[0].resource_name == "SharePoint Settings" + assert result[0].resource == sharepoint_client.settings.dict() + + def test_allowed_domain_guids(self): + """ + Test when there are allowed domain guids for OneDrive sync app + """ + sharepoint_client = mock.MagicMock + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.services.sharepoint.sharepoint_onedrive_sync_restricted_unmanaged_devices.sharepoint_onedrive_sync_restricted_unmanaged_devices.sharepoint_client", + new=sharepoint_client, + ), + ): + from prowler.providers.m365.services.sharepoint.sharepoint_onedrive_sync_restricted_unmanaged_devices.sharepoint_onedrive_sync_restricted_unmanaged_devices import ( + sharepoint_onedrive_sync_restricted_unmanaged_devices, + ) + + sharepoint_client.settings = SharePointSettings( + sharingCapability="ExternalUserSharingOnly", + sharingAllowedDomainList=[], + sharingBlockedDomainList=["blocked-domain.com"], + legacyAuth=True, + resharingEnabled=False, + sharingDomainRestrictionMode="allowList", + allowedDomainGuidsForSyncApp=[uuid.uuid4()], + ) + sharepoint_client.tenant_domain = DOMAIN + + check = sharepoint_onedrive_sync_restricted_unmanaged_devices() + result = check.execute() + + assert len(result) == 1 + assert result[0].status == "PASS" + assert ( + result[0].status_extended + == "Microsoft 365 SharePoint does not allow OneDrive sync to unmanaged devices." + ) + assert result[0].resource_id == DOMAIN + assert result[0].location == "global" + assert result[0].resource_name == "SharePoint Settings" + assert result[0].resource == sharepoint_client.settings.dict() + + def test_empty_settings(self): + """ + Test when sharepoint_client.settings is empty: + The check should return an empty list of findings. + """ + sharepoint_client = mock.MagicMock + sharepoint_client.settings = {} + sharepoint_client.tenant_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.services.sharepoint.sharepoint_onedrive_sync_restricted_unmanaged_devices.sharepoint_onedrive_sync_restricted_unmanaged_devices.sharepoint_client", + new=sharepoint_client, + ), + ): + from prowler.providers.m365.services.sharepoint.sharepoint_onedrive_sync_restricted_unmanaged_devices.sharepoint_onedrive_sync_restricted_unmanaged_devices import ( + sharepoint_onedrive_sync_restricted_unmanaged_devices, + ) + + check = sharepoint_onedrive_sync_restricted_unmanaged_devices() + result = check.execute() + + assert len(result) == 0 diff --git a/tests/providers/m365/services/sharepoint/sharepoint_service_test.py b/tests/providers/m365/services/sharepoint/sharepoint_service_test.py index 8c3dc72598..3b67f06c28 100644 --- a/tests/providers/m365/services/sharepoint/sharepoint_service_test.py +++ b/tests/providers/m365/services/sharepoint/sharepoint_service_test.py @@ -1,3 +1,4 @@ +import uuid from unittest.mock import patch from prowler.providers.m365.models import M365IdentityInfo @@ -7,6 +8,8 @@ from prowler.providers.m365.services.sharepoint.sharepoint_service import ( ) from tests.providers.m365.m365_fixtures import DOMAIN, set_mocked_m365_provider +uuid_value = uuid.uuid4() + async def mock_sharepoint_get_settings(_): return SharePointSettings( @@ -16,6 +19,7 @@ async def mock_sharepoint_get_settings(_): sharingDomainRestrictionMode="allowList", resharingEnabled=False, legacyAuth=True, + allowedDomainGuidsForSyncApp=[uuid_value], ) @@ -39,3 +43,5 @@ class Test_SharePoint_Service: assert settings.sharingDomainRestrictionMode == "allowList" assert settings.resharingEnabled is False assert settings.legacyAuth is True + assert settings.allowedDomainGuidsForSyncApp == [uuid_value] + assert len(settings.allowedDomainGuidsForSyncApp) == 1 From 79b29d943759a30af1ebfa48a5dc757112cb18df Mon Sep 17 00:00:00 2001 From: Daniel Barranquero <74871504+danibarranqueroo@users.noreply.github.com> Date: Wed, 30 Apr 2025 12:05:41 +0200 Subject: [PATCH 07/31] feat(exchange): add new check `exchange_mailbox_policy_additional_storage_restricted` (#7638) Co-authored-by: Andoni A. <14891798+andoniaf@users.noreply.github.com> --- prowler/CHANGELOG.md | 1 + .../m365/lib/powershell/m365_powershell.py | 18 +++ .../__init__.py | 0 ...dditional_storage_restricted.metadata.json | 30 +++++ ...ox_policy_additional_storage_restricted.py | 44 +++++++ .../services/exchange/exchange_service.py | 25 ++++ ...licy_additional_storage_restricted_test.py | 118 ++++++++++++++++++ .../exchange/exchange_service_test.py | 28 +++++ 8 files changed, 264 insertions(+) create mode 100644 prowler/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/__init__.py create mode 100644 prowler/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/exchange_mailbox_policy_additional_storage_restricted.metadata.json create mode 100644 prowler/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/exchange_mailbox_policy_additional_storage_restricted.py create mode 100644 tests/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/exchange_mailbox_policy_additional_storage_restricted_test.py diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index 1c7cbc4175..09184ad5c4 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -37,6 +37,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - Add new check `teams_meeting_chat_anonymous_users_disabled` [(#7579)](https://github.com/prowler-cloud/prowler/pull/7579) - Add Prowler Threat Score Compliance Framework [(#7603)](https://github.com/prowler-cloud/prowler/pull/7603) - Add new check `sharepoint_onedrive_sync_restricted_unmanaged_devices` [(#7589)](https://github.com/prowler-cloud/prowler/pull/7589) +- Add new check for Additional Storage restricted for Exchange in M365 [(#7638)](https://github.com/prowler-cloud/prowler/pull/7638) ### Fixed diff --git a/prowler/providers/m365/lib/powershell/m365_powershell.py b/prowler/providers/m365/lib/powershell/m365_powershell.py index 982e26672b..91974a0b15 100644 --- a/prowler/providers/m365/lib/powershell/m365_powershell.py +++ b/prowler/providers/m365/lib/powershell/m365_powershell.py @@ -466,3 +466,21 @@ class M365PowerShell(PowerShellSession): return self.execute( "Get-HostedContentFilterPolicy | ConvertTo-Json", json_parse=True ) + + def get_mailbox_policy(self) -> dict: + """ + Get Mailbox Policy. + + Retrieves the current mailbox policy settings for Exchange Online. + + Returns: + dict: Mailbox policy settings in JSON format. + + Example: + >>> get_mailbox_policy() + { + "Id": "OwaMailboxPolicy-Default", + "AdditionalStorageProvidersAvailable": True + } + """ + return self.execute("Get-OwaMailboxPolicy | ConvertTo-Json", json_parse=True) diff --git a/prowler/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/__init__.py b/prowler/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/prowler/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/exchange_mailbox_policy_additional_storage_restricted.metadata.json b/prowler/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/exchange_mailbox_policy_additional_storage_restricted.metadata.json new file mode 100644 index 0000000000..1657d50dbd --- /dev/null +++ b/prowler/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/exchange_mailbox_policy_additional_storage_restricted.metadata.json @@ -0,0 +1,30 @@ +{ + "Provider": "m365", + "CheckID": "exchange_mailbox_policy_additional_storage_restricted", + "CheckTitle": "Ensure additional storage providers are restricted in Outlook on the web.", + "CheckType": [], + "ServiceName": "exchange", + "SubServiceName": "", + "ResourceIdTemplate": "", + "Severity": "high", + "ResourceType": "Exchange Mailboxes Policy", + "Description": "Restrict the availability of additional storage providers (e.g., Box, Dropbox, Google Drive) in Outlook on the web to prevent users from accessing external storage services through the OWA interface.", + "Risk": "Allowing users to access third-party storage providers from Outlook on the web increases the risk of data exfiltration and exposure to untrusted content or malware.", + "RelatedUrl": "https://learn.microsoft.com/en-us/powershell/module/exchange/set-owamailboxpolicy?view=exchange-ps", + "Remediation": { + "Code": { + "CLI": "Set-OwaMailboxPolicy -Identity OwaMailboxPolicy-Default -AdditionalStorageProvidersAvailable $false", + "NativeIaC": "", + "Other": "", + "Terraform": "" + }, + "Recommendation": { + "Text": "Disable access to additional storage providers in Outlook on the web to reduce the risk of data leakage.", + "Url": "https://learn.microsoft.com/en-us/powershell/module/exchange/set-owamailboxpolicy?view=exchange-ps" + } + }, + "Categories": [], + "DependsOn": [], + "RelatedTo": [], + "Notes": "" +} diff --git a/prowler/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/exchange_mailbox_policy_additional_storage_restricted.py b/prowler/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/exchange_mailbox_policy_additional_storage_restricted.py new file mode 100644 index 0000000000..05ecd7cc0d --- /dev/null +++ b/prowler/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/exchange_mailbox_policy_additional_storage_restricted.py @@ -0,0 +1,44 @@ +from typing import List + +from prowler.lib.check.models import Check, CheckReportM365 +from prowler.providers.m365.services.exchange.exchange_client import exchange_client + + +class exchange_mailbox_policy_additional_storage_restricted(Check): + """Check if Exchange mailbox policy restricts additional storage providers. + + This check ensures that the mailbox policy does not allow additional storage providers. + """ + + def execute(self) -> List[CheckReportM365]: + """Run the check to validate Exchange mailbox policy restrictions. + + Iterates through the mailbox policy configuration to determine if additional storage + providers are restricted and generates a report based on the policy status. + + Returns: + List[CheckReportM365]: A list of reports with the restriction status for the mailbox policy. + """ + findings = [] + mailbox_policy = exchange_client.mailbox_policy + if mailbox_policy: + report = CheckReportM365( + metadata=self.metadata(), + resource=mailbox_policy, + resource_name="Exchange Mailbox Policy", + resource_id=mailbox_policy.id, + ) + report.status = "FAIL" + report.status_extended = ( + "Exchange mailbox policy allows additional storage providers." + ) + + if not mailbox_policy.additional_storage_enabled: + report.status = "PASS" + report.status_extended = ( + "Exchange mailbox policy restricts additional storage providers." + ) + + findings.append(report) + + return findings diff --git a/prowler/providers/m365/services/exchange/exchange_service.py b/prowler/providers/m365/services/exchange/exchange_service.py index 5bd8cada6a..dbcc44499f 100644 --- a/prowler/providers/m365/services/exchange/exchange_service.py +++ b/prowler/providers/m365/services/exchange/exchange_service.py @@ -14,6 +14,7 @@ class Exchange(M365Service): self.mailboxes_config = [] self.external_mail_config = [] self.transport_rules = [] + self.mailbox_policy = None if self.powershell: self.powershell.connect_exchange_online() @@ -21,6 +22,7 @@ class Exchange(M365Service): self.mailboxes_config = self._get_mailbox_audit_config() self.external_mail_config = self._get_external_mail_config() self.transport_rules = self._get_transport_rules() + self.mailbox_policy = self._get_mailbox_policy() self.powershell.close() def _get_organization_config(self): @@ -112,6 +114,24 @@ class Exchange(M365Service): ) return transport_rules + def _get_mailbox_policy(self): + logger.info("Microsoft365 - Getting mailbox policy configuration...") + mailboxes_policy = None + try: + mailbox_policy = self.powershell.get_mailbox_policy() + if mailbox_policy: + mailboxes_policy = MailboxPolicy( + id=mailbox_policy.get("Id", ""), + additional_storage_enabled=mailbox_policy.get( + "AdditionalStorageProvidersAvailable", True + ), + ) + except Exception as error: + logger.error( + f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}" + ) + return mailboxes_policy + class Organization(BaseModel): name: str @@ -134,3 +154,8 @@ class TransportRule(BaseModel): name: str scl: Optional[int] sender_domain_is: list[str] + + +class MailboxPolicy(BaseModel): + id: str + additional_storage_enabled: bool diff --git a/tests/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/exchange_mailbox_policy_additional_storage_restricted_test.py b/tests/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/exchange_mailbox_policy_additional_storage_restricted_test.py new file mode 100644 index 0000000000..688d68add6 --- /dev/null +++ b/tests/providers/m365/services/exchange/exchange_mailbox_policy_additional_storage_restricted/exchange_mailbox_policy_additional_storage_restricted_test.py @@ -0,0 +1,118 @@ +from unittest import mock + +from tests.providers.m365.m365_fixtures import DOMAIN, set_mocked_m365_provider + + +class Test_exchange_mailbox_policy_additional_storage_restricted: + def test_mailbox_policy_restricts_additional_storage(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_mailbox_policy_additional_storage_restricted.exchange_mailbox_policy_additional_storage_restricted.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_mailbox_policy_additional_storage_restricted.exchange_mailbox_policy_additional_storage_restricted import ( + exchange_mailbox_policy_additional_storage_restricted, + ) + from prowler.providers.m365.services.exchange.exchange_service import ( + MailboxPolicy, + ) + + exchange_client.mailbox_policy = MailboxPolicy( + id="OwaMailboxPolicy-Default", additional_storage_enabled=False + ) + + check = exchange_mailbox_policy_additional_storage_restricted() + result = check.execute() + + assert len(result) == 1 + assert result[0].status == "PASS" + assert ( + result[0].status_extended + == "Exchange mailbox policy restricts additional storage providers." + ) + assert result[0].resource == exchange_client.mailbox_policy.dict() + assert result[0].resource_name == "Exchange Mailbox Policy" + assert result[0].resource_id == "OwaMailboxPolicy-Default" + assert result[0].location == "global" + + def test_mailbox_policy_allows_additional_storage(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_mailbox_policy_additional_storage_restricted.exchange_mailbox_policy_additional_storage_restricted.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_mailbox_policy_additional_storage_restricted.exchange_mailbox_policy_additional_storage_restricted import ( + exchange_mailbox_policy_additional_storage_restricted, + ) + from prowler.providers.m365.services.exchange.exchange_service import ( + MailboxPolicy, + ) + + exchange_client.mailbox_policy = MailboxPolicy( + id="OwaMailboxPolicy-Default", additional_storage_enabled=True + ) + + check = exchange_mailbox_policy_additional_storage_restricted() + result = check.execute() + + assert len(result) == 1 + assert result[0].status == "FAIL" + assert ( + result[0].status_extended + == "Exchange mailbox policy allows additional storage providers." + ) + assert result[0].resource == exchange_client.mailbox_policy.dict() + assert result[0].resource_name == "Exchange Mailbox Policy" + assert result[0].resource_id == "OwaMailboxPolicy-Default" + assert result[0].location == "global" + + def test_no_mailbox_policy(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + exchange_client.mailbox_policy = None + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_mailbox_policy_additional_storage_restricted.exchange_mailbox_policy_additional_storage_restricted.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_mailbox_policy_additional_storage_restricted.exchange_mailbox_policy_additional_storage_restricted import ( + exchange_mailbox_policy_additional_storage_restricted, + ) + + check = exchange_mailbox_policy_additional_storage_restricted() + result = check.execute() + assert len(result) == 0 diff --git a/tests/providers/m365/services/exchange/exchange_service_test.py b/tests/providers/m365/services/exchange/exchange_service_test.py index 8131157265..42cc16a507 100644 --- a/tests/providers/m365/services/exchange/exchange_service_test.py +++ b/tests/providers/m365/services/exchange/exchange_service_test.py @@ -6,6 +6,7 @@ from prowler.providers.m365.services.exchange.exchange_service import ( Exchange, ExternalMailConfig, MailboxAuditConfig, + MailboxPolicy, Organization, TransportRule, ) @@ -51,6 +52,13 @@ def mock_exchange_get_transport_rules(_): ] +def mock_exchange_get_mailbox_policy(_): + return MailboxPolicy( + id="test", + additional_storage_enabled=True, + ) + + class Test_Exchange_Service: def test_get_client(self): with ( @@ -163,3 +171,23 @@ class Test_Exchange_Service: assert transport_rules[1].sender_domain_is == ["example.com"] exchange_client.powershell.close() + + @patch( + "prowler.providers.m365.services.exchange.exchange_service.Exchange._get_mailbox_policy", + new=mock_exchange_get_mailbox_policy, + ) + def test_get_mailbox_policy(self): + with ( + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + ): + exchange_client = Exchange( + set_mocked_m365_provider( + identity=M365IdentityInfo(tenant_domain=DOMAIN) + ) + ) + mailbox_policy = exchange_client.mailbox_policy + assert mailbox_policy.id == "test" + assert mailbox_policy.additional_storage_enabled is True + exchange_client.powershell.close() From c56bd519bb10a429681cc76321d2a27ee722a27b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Fern=C3=A1ndez=20Poyatos?= Date: Wed, 30 Apr 2025 12:36:25 +0200 Subject: [PATCH 08/31] test(performance): Add base framework for API performance tests (#7632) --- api/tests/performance/__init__.py | 0 api/tests/performance/benchmark.py | 156 +++++++++++++++ api/tests/performance/requirements.txt | 2 + api/tests/performance/scenarios/__init__.py | 0 api/tests/performance/scenarios/findings.py | 202 ++++++++++++++++++++ api/tests/performance/utils/__init__.py | 0 api/tests/performance/utils/config.py | 19 ++ api/tests/performance/utils/helpers.py | 168 ++++++++++++++++ 8 files changed, 547 insertions(+) create mode 100644 api/tests/performance/__init__.py create mode 100644 api/tests/performance/benchmark.py create mode 100644 api/tests/performance/requirements.txt create mode 100644 api/tests/performance/scenarios/__init__.py create mode 100644 api/tests/performance/scenarios/findings.py create mode 100644 api/tests/performance/utils/__init__.py create mode 100644 api/tests/performance/utils/config.py create mode 100644 api/tests/performance/utils/helpers.py diff --git a/api/tests/performance/__init__.py b/api/tests/performance/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/tests/performance/benchmark.py b/api/tests/performance/benchmark.py new file mode 100644 index 0000000000..1df7f81645 --- /dev/null +++ b/api/tests/performance/benchmark.py @@ -0,0 +1,156 @@ +#!/usr/bin/env python3 +import argparse +import re +import subprocess +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import pandas as pd + +plt.style.use("ggplot") + + +def run_locust( + locust_file: str, + host: str, + users: int, + hatch_rate: int, + run_time: str, + csv_prefix: Path, +) -> Path: + artifacts_dir = Path("artifacts") + artifacts_dir.mkdir(parents=True, exist_ok=True) + + cmd = [ + "locust", + "-f", + f"scenarios/{locust_file}", + "--headless", + "-u", + str(users), + "-r", + str(hatch_rate), + "-t", + run_time, + "--host", + host, + "--csv", + str(artifacts_dir / csv_prefix.name), + ] + print(f"Running Locust: {' '.join(cmd)}") + process = subprocess.run(cmd) + if process.returncode: + sys.exit("Locust execution failed") + + stats_file = artifacts_dir / f"{csv_prefix.stem}_stats.csv" + if not stats_file.exists(): + sys.exit(f"Stats CSV not found: {stats_file}") + return stats_file + + +def load_percentiles(csv_path: Path) -> pd.DataFrame: + df = pd.read_csv(csv_path) + mapping = {"50%": "p50", "75%": "p75", "90%": "p90", "95%": "p95"} + available = [col for col in mapping if col in df.columns] + renamed = {col: mapping[col] for col in available} + df = df.rename(columns=renamed).set_index("Name")[renamed.values()] + return df.drop(index=["Aggregated"], errors="ignore") + + +def sanitize_label(label: str) -> str: + text = re.sub(r"[^\w]+", "_", label.strip().lower()) + return text.strip("_") + + +def plot_multi_comparison(metrics: dict[str, pd.DataFrame]) -> None: + common = sorted(set.intersection(*(set(df.index) for df in metrics.values()))) + percentiles = list(next(iter(metrics.values())).columns) + groups = len(metrics) + width = 0.8 / groups + + for endpoint in common: + fig, ax = plt.subplots(figsize=(10, 5), dpi=100) + for idx, (label, df) in enumerate(metrics.items()): + series = df.loc[endpoint] + positions = [ + i + (idx - groups / 2) * width + width / 2 + for i in range(len(percentiles)) + ] + bars = ax.bar(positions, series.values, width, label=label) + for bar in bars: + height = bar.get_height() + ax.annotate( + f"{int(height)}", + xy=(bar.get_x() + bar.get_width() / 2, height), + xytext=(0, 3), + textcoords="offset points", + ha="center", + va="bottom", + fontsize=8, + ) + + ax.set_xticks(range(len(percentiles))) + ax.set_xticklabels(percentiles) + ax.set_ylabel("Latency (ms)") + ax.set_title(endpoint, fontsize=12) + ax.grid(True, axis="y", linestyle="--", alpha=0.7) + + fig.tight_layout() + fig.subplots_adjust(right=0.75) + ax.legend(loc="center left", bbox_to_anchor=(1, 0.5), framealpha=0.9) + + output = Path("artifacts") / f"comparison_{sanitize_label(endpoint)}.png" + plt.savefig(output) + plt.close(fig) + print(f"Saved chart: {output}") + + +def main() -> None: + parser = argparse.ArgumentParser(description="Run Locust and compare metrics") + parser.add_argument("--locustfile", required=True, help="Locust file in scenarios/") + parser.add_argument("--host", required=True, help="Target host URL") + parser.add_argument( + "--users", type=int, default=10, help="Number of simulated users" + ) + parser.add_argument("--rate", type=int, default=1, help="Hatch rate per second") + parser.add_argument("--time", default="1m", help="Test duration (e.g. 30s, 1m)") + parser.add_argument( + "--metrics-dir", default="baselines", help="Directory with CSV baselines" + ) + parser.add_argument("--version", default="current", help="Test version") + args = parser.parse_args() + + metrics_dir = Path(args.metrics_dir) + if not metrics_dir.is_dir(): + sys.exit(f"Metrics directory not found: {metrics_dir}") + + metrics_data: dict[str, pd.DataFrame] = {} + for csv_file in sorted(metrics_dir.glob("*.csv")): + metrics_data[csv_file.stem] = load_percentiles(csv_file) + + current_prefix = Path(args.version) + current_csv = run_locust( + locust_file=args.locustfile, + host=args.host, + users=args.users, + hatch_rate=args.rate, + run_time=args.time, + csv_prefix=current_prefix, + ) + metrics_data[args.version] = load_percentiles(current_csv) + + for endpoint in sorted( + set.intersection(*(set(df.index) for df in metrics_data.values())) + ): + parts = [endpoint] + for label, df in metrics_data.items(): + s = df.loc[endpoint] + parts.append(f"{label}: p50 {s.p50}, p75 {s.p75}, p90 {s.p90}, p95 {s.p95}") + print(" | ".join(parts)) + + plot_multi_comparison(metrics_data) + + +if __name__ == "__main__": + main() diff --git a/api/tests/performance/requirements.txt b/api/tests/performance/requirements.txt new file mode 100644 index 0000000000..139690df29 --- /dev/null +++ b/api/tests/performance/requirements.txt @@ -0,0 +1,2 @@ +locust==2.34.1 +matplotlib==3.10.1 diff --git a/api/tests/performance/scenarios/__init__.py b/api/tests/performance/scenarios/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/tests/performance/scenarios/findings.py b/api/tests/performance/scenarios/findings.py new file mode 100644 index 0000000000..aef484a7ea --- /dev/null +++ b/api/tests/performance/scenarios/findings.py @@ -0,0 +1,202 @@ +from locust import events, task +from utils.config import ( + FINDINGS_UI_SORT_VALUES, + L_PROVIDER_NAME, + M_PROVIDER_NAME, + S_PROVIDER_NAME, + TARGET_INSERTED_AT, +) +from utils.helpers import ( + APIUserBase, + get_api_token, + get_auth_headers, + get_next_resource_filter, + get_resource_filters_pairs, + get_scan_id_from_provider_name, + get_sort_value, +) + +GLOBAL = { + "token": None, + "scan_ids": {}, + "resource_filters": None, + "large_resource_filters": None, +} + + +@events.test_start.add_listener +def on_test_start(environment, **kwargs): + GLOBAL["token"] = get_api_token(environment.host) + + GLOBAL["scan_ids"]["small"] = get_scan_id_from_provider_name( + environment.host, GLOBAL["token"], S_PROVIDER_NAME + ) + GLOBAL["scan_ids"]["medium"] = get_scan_id_from_provider_name( + environment.host, GLOBAL["token"], M_PROVIDER_NAME + ) + GLOBAL["scan_ids"]["large"] = get_scan_id_from_provider_name( + environment.host, GLOBAL["token"], L_PROVIDER_NAME + ) + + GLOBAL["resource_filters"] = get_resource_filters_pairs( + environment.host, GLOBAL["token"] + ) + GLOBAL["large_resource_filters"] = get_resource_filters_pairs( + environment.host, GLOBAL["token"], GLOBAL["scan_ids"]["large"] + ) + + +class APIUser(APIUserBase): + def on_start(self): + self.token = GLOBAL["token"] + self.s_scan_id = GLOBAL["scan_ids"]["small"] + self.m_scan_id = GLOBAL["scan_ids"]["medium"] + self.l_scan_id = GLOBAL["scan_ids"]["large"] + self.available_resource_filters = GLOBAL["resource_filters"] + self.available_resource_filters_large_scan = GLOBAL["large_resource_filters"] + + @task + def findings_default(self): + name = "/findings" + page_number = self._next_page(name) + endpoint = ( + f"/findings?page[number]={page_number}" + f"&{get_sort_value(FINDINGS_UI_SORT_VALUES)}" + f"&filter[inserted_at]={TARGET_INSERTED_AT}" + ) + self.client.get(endpoint, headers=get_auth_headers(self.token), name=name) + + @task(3) + def findings_default_include(self): + name = "/findings?include" + page = self._next_page(name) + endpoint = ( + f"/findings?page[number]={page}" + f"&{get_sort_value(FINDINGS_UI_SORT_VALUES)}" + f"&filter[inserted_at]={TARGET_INSERTED_AT}" + f"&include=scan.provider,resources" + ) + self.client.get(endpoint, headers=get_auth_headers(self.token), name=name) + + @task(3) + def findings_metadata(self): + endpoint = f"/findings/metadata?" f"filter[inserted_at]={TARGET_INSERTED_AT}" + self.client.get( + endpoint, headers=get_auth_headers(self.token), name="/findings/metadata" + ) + + @task + def findings_scan_small(self): + name = "/findings?filter[scan_id] - 50k" + page_number = self._next_page(name) + endpoint = ( + f"/findings?page[number]={page_number}" + f"&{get_sort_value(FINDINGS_UI_SORT_VALUES)}" + f"&filter[scan]={self.s_scan_id}" + ) + self.client.get(endpoint, headers=get_auth_headers(self.token), name=name) + + @task + def findings_metadata_scan_small(self): + endpoint = f"/findings/metadata?" f"&filter[scan]={self.s_scan_id}" + self.client.get( + endpoint, + headers=get_auth_headers(self.token), + name="/findings/metadata?filter[scan_id] - 50k", + ) + + @task(2) + def findings_scan_medium(self): + name = "/findings?filter[scan_id] - 250k" + page_number = self._next_page(name) + endpoint = ( + f"/findings?page[number]={page_number}" + f"&{get_sort_value(FINDINGS_UI_SORT_VALUES)}" + f"&filter[scan]={self.m_scan_id}" + ) + self.client.get(endpoint, headers=get_auth_headers(self.token), name=name) + + @task + def findings_metadata_scan_medium(self): + endpoint = f"/findings/metadata?" f"&filter[scan]={self.m_scan_id}" + self.client.get( + endpoint, + headers=get_auth_headers(self.token), + name="/findings/metadata?filter[scan_id] - 250k", + ) + + @task + def findings_scan_large(self): + name = "/findings?filter[scan_id] - 500k" + page_number = self._next_page(name) + endpoint = ( + f"/findings?page[number]={page_number}" + f"&{get_sort_value(FINDINGS_UI_SORT_VALUES)}" + f"&filter[scan]={self.l_scan_id}" + ) + self.client.get(endpoint, headers=get_auth_headers(self.token), name=name) + + @task + def findings_scan_large_include(self): + name = "/findings?filter[scan_id]&include - 500k" + page_number = self._next_page(name) + endpoint = ( + f"/findings?page[number]={page_number}" + f"&{get_sort_value(FINDINGS_UI_SORT_VALUES)}" + f"&filter[scan]={self.l_scan_id}" + f"&include=scan.provider,resources" + ) + self.client.get(endpoint, headers=get_auth_headers(self.token), name=name) + + @task + def findings_metadata_scan_large(self): + endpoint = f"/findings/metadata?" f"&filter[scan]={self.l_scan_id}" + self.client.get( + endpoint, + headers=get_auth_headers(self.token), + name="/findings/metadata?filter[scan_id] - 500k", + ) + + @task(2) + def findings_resource_filter(self): + name = "/findings?filter[resource_filter]&include" + filter_name, filter_value = get_next_resource_filter( + self.available_resource_filters + ) + + endpoint = ( + f"/findings?filter[{filter_name}]={filter_value}" + f"&filter[inserted_at]={TARGET_INSERTED_AT}" + f"&{get_sort_value(FINDINGS_UI_SORT_VALUES)}" + f"&include=scan.provider,resources" + ) + self.client.get(endpoint, headers=get_auth_headers(self.token), name=name) + + @task(3) + def findings_metadata_resource_filter(self): + name = "/findings/metadata?filter[resource_filter]" + filter_name, filter_value = get_next_resource_filter( + self.available_resource_filters + ) + + endpoint = ( + f"/findings?filter[{filter_name}]={filter_value}" + f"&filter[inserted_at]={TARGET_INSERTED_AT}" + f"&{get_sort_value(FINDINGS_UI_SORT_VALUES)}" + ) + self.client.get(endpoint, headers=get_auth_headers(self.token), name=name) + + @task + def findings_resource_filter_large_scan_include(self): + name = "/findings?filter[resource_filter][scan]&include - 500k" + filter_name, filter_value = get_next_resource_filter( + self.available_resource_filters + ) + + endpoint = ( + f"/findings?filter[{filter_name}]={filter_value}" + f"&{get_sort_value(FINDINGS_UI_SORT_VALUES)}" + f"&filter[scan]={self.l_scan_id}" + f"&include=scan.provider,resources" + ) + self.client.get(endpoint, headers=get_auth_headers(self.token), name=name) diff --git a/api/tests/performance/utils/__init__.py b/api/tests/performance/utils/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/api/tests/performance/utils/config.py b/api/tests/performance/utils/config.py new file mode 100644 index 0000000000..febc5e0a24 --- /dev/null +++ b/api/tests/performance/utils/config.py @@ -0,0 +1,19 @@ +import os + +USER_EMAIL = os.environ.get("USER_EMAIL") +USER_PASSWORD = os.environ.get("USER_PASSWORD") + +BASE_HEADERS = {"Content-Type": "application/vnd.api+json"} + +FINDINGS_UI_SORT_VALUES = ["severity", "status", "-inserted_at"] +TARGET_INSERTED_AT = os.environ.get("TARGET_INSERTED_AT", "2025-04-22") + +FINDINGS_RESOURCE_METADATA = { + "regions": "region", + "resource_types": "resource_type", + "services": "service", +} + +S_PROVIDER_NAME = "provider-50k" +M_PROVIDER_NAME = "provider-250k" +L_PROVIDER_NAME = "provider-500k" diff --git a/api/tests/performance/utils/helpers.py b/api/tests/performance/utils/helpers.py new file mode 100644 index 0000000000..999a2d55c8 --- /dev/null +++ b/api/tests/performance/utils/helpers.py @@ -0,0 +1,168 @@ +import random +from collections import defaultdict +from threading import Lock + +import requests +from locust import HttpUser, between +from utils.config import ( + BASE_HEADERS, + FINDINGS_RESOURCE_METADATA, + TARGET_INSERTED_AT, + USER_EMAIL, + USER_PASSWORD, +) + +_global_page_counters = defaultdict(int) +_page_lock = Lock() + + +class APIUserBase(HttpUser): + """ + Base class for API user simulation in Locust performance tests. + + Attributes: + abstract (bool): Indicates this is an abstract user class. + wait_time: Time between task executions, randomized between 1 and 5 seconds. + """ + + abstract = True + wait_time = between(1, 5) + + def _next_page(self, endpoint_name: str) -> int: + """ + Returns the next page number for a given endpoint. Thread-safe. + + Args: + endpoint_name (str): Name of the API endpoint being paginated. + + Returns: + int: The next page number for the given endpoint. + """ + with _page_lock: + _global_page_counters[endpoint_name] += 1 + return _global_page_counters[endpoint_name] + + +def get_next_resource_filter(available_values: dict) -> tuple: + """ + Randomly selects a filter type and value from available options. + + Args: + available_values (dict): Dictionary with filter types as keys and list of possible values. + + Returns: + tuple: A (filter_type, filter_value) pair randomly selected. + """ + filter_type = random.choice(list(available_values.keys())) + filter_value = random.choice(available_values[filter_type]) + return filter_type, filter_value + + +def get_auth_headers(token: str) -> dict: + """ + Returns the headers for the API requests. + + Args: + token (str): The token to be included in the headers. + + Returns: + dict: The headers for the API requests. + """ + return { + "Authorization": f"Bearer {token}", + **BASE_HEADERS, + } + + +def get_api_token(host: str) -> str: + """ + Authenticates with the API and retrieves a bearer token. + + Args: + host (str): The host URL of the API. + + Returns: + str: The access token for authenticated requests. + + Raises: + AssertionError: If the request fails or does not return a 200 status code. + """ + login_payload = { + "data": { + "type": "tokens", + "attributes": {"email": USER_EMAIL, "password": USER_PASSWORD}, + } + } + response = requests.post(f"{host}/tokens", json=login_payload, headers=BASE_HEADERS) + assert response.status_code == 200, f"Failed to get token: {response.text}" + return response.json()["data"]["attributes"]["access"] + + +def get_scan_id_from_provider_name(host: str, token: str, provider_name: str) -> str: + """ + Retrieves the scan ID associated with a specific provider name. + + Args: + host (str): The host URL of the API. + token (str): Bearer token for authentication. + provider_name (str): Name of the provider to filter scans by. + + Returns: + str: The ID of the scan. + + Raises: + AssertionError: If the request fails or does not return a 200 status code. + """ + response = requests.get( + f"{host}/scans?fields[scans]=id&filter[provider_alias]={provider_name}", + headers=get_auth_headers(token), + ) + assert response.status_code == 200, f"Failed to get scan: {response.text}" + return response.json()["data"][0]["id"] + + +def get_resource_filters_pairs(host: str, token: str, scan_id: str = "") -> dict: + """ + Retrieves and maps resource metadata filter values from the findings endpoint. + + Args: + host (str): The host URL of the API. + token (str): Bearer token for authentication. + scan_id (str, optional): Optional scan ID to filter metadata. Defaults to using inserted_at timestamp. + + Returns: + dict: A dictionary of resource filter metadata. + + Raises: + AssertionError: If the request fails or does not return a 200 status code. + """ + metadata_filters = ( + f"filter[scan]={scan_id}" + if scan_id + else f"filter[inserted_at]={TARGET_INSERTED_AT}" + ) + response = requests.get( + f"{host}/findings/metadata?{metadata_filters}", headers=get_auth_headers(token) + ) + assert ( + response.status_code == 200 + ), f"Failed to get resource filters values: {response.text}" + attributes = response.json()["data"]["attributes"] + return { + FINDINGS_RESOURCE_METADATA[key]: values + for key, values in attributes.items() + if key in FINDINGS_RESOURCE_METADATA.keys() + } + + +def get_sort_value(sort_values: list) -> str: + """ + Constructs a sort query string from a list of sort keys. + + Args: + sort_values (list): The list of sort values to include in the query. + + Returns: + str: A formatted sort query string (e.g., "sort=created_at,-severity"). + """ + return f"sort={','.join(sort_values)}" From fe42bb47f7067917c5ad5cd34ea85a03fc61091e Mon Sep 17 00:00:00 2001 From: Pablo Lara Date: Wed, 30 Apr 2025 13:00:45 +0200 Subject: [PATCH 09/31] fix: set correct default value for session duration (#7639) --- ui/components/providers/workflow/forms/update-via-role-form.tsx | 2 +- ui/components/providers/workflow/forms/via-role-form.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/components/providers/workflow/forms/update-via-role-form.tsx b/ui/components/providers/workflow/forms/update-via-role-form.tsx index 85e00e3cb1..c0d9c24917 100644 --- a/ui/components/providers/workflow/forms/update-via-role-form.tsx +++ b/ui/components/providers/workflow/forms/update-via-role-form.tsx @@ -54,7 +54,7 @@ export const UpdateViaRoleForm = ({ aws_secret_access_key: "", aws_session_token: "", role_session_name: "", - session_duration: 3600, + session_duration: "3600", }), }, }); diff --git a/ui/components/providers/workflow/forms/via-role-form.tsx b/ui/components/providers/workflow/forms/via-role-form.tsx index 917f049c7c..3bed8d3af7 100644 --- a/ui/components/providers/workflow/forms/via-role-form.tsx +++ b/ui/components/providers/workflow/forms/via-role-form.tsx @@ -59,7 +59,7 @@ export const ViaRoleForm = ({ aws_secret_access_key: "", aws_session_token: "", role_session_name: "", - session_duration: 3600, + session_duration: "3600", } : {}), }, From de01087246fe7cca8df2e4b41ff4ac51757bff8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Mart=C3=ADn?= Date: Wed, 30 Apr 2025 16:03:23 +0200 Subject: [PATCH 10/31] fix(s3): add ContentType in upload_file (#7635) Co-authored-by: Pepe Fagoaga --- prowler/CHANGELOG.md | 1 + prowler/providers/aws/lib/s3/s3.py | 14 +++++++++++++- tests/providers/aws/lib/s3/s3_test.py | 10 +++++----- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index 09184ad5c4..34601abebf 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -49,6 +49,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - Improve compliance and dashboard [(#7596)](https://github.com/prowler-cloud/prowler/pull/7596) - Remove invalid parameter `create_file_descriptor` [(#7600)](https://github.com/prowler-cloud/prowler/pull/7600) - Remove first empty line in HTML output [(#7606)](https://github.com/prowler-cloud/prowler/pull/7606) +- Ensure that ContentType in upload_file matches the uploaded file’s format [(#7635)](https://github.com/prowler-cloud/prowler/pull/7635) --- diff --git a/prowler/providers/aws/lib/s3/s3.py b/prowler/providers/aws/lib/s3/s3.py index f399171c98..03308224fe 100644 --- a/prowler/providers/aws/lib/s3/s3.py +++ b/prowler/providers/aws/lib/s3/s3.py @@ -105,6 +105,12 @@ class S3: """ try: uploaded_objects = {"success": {}, "failure": {}} + extension_to_content_type = { + ".html": "text/html", + ".csv": "text/csv", + ".ocsf.json": "application/json", + ".asff.json": "application/json", + } # Keys are regular and/or compliance for key, output_list in outputs.items(): for output in output_list: @@ -115,6 +121,7 @@ class S3: bucket_directory = self.get_object_path(self._output_directory) basename = path.basename(output.file_descriptor.name) + file_extension = output.file_extension if key == "compliance": object_name = f"{bucket_directory}/{key}/{basename}" @@ -128,7 +135,12 @@ class S3: # into the local filesystem because S3 upload file is the recommended way. # https://aws.amazon.com/blogs/developer/uploading-files-to-amazon-s3/ self._session.upload_file( - output.file_descriptor.name, self._bucket_name, object_name + Filename=output.file_descriptor.name, + Bucket=self._bucket_name, + Key=object_name, + ExtraArgs={ + "ContentType": extension_to_content_type[file_extension] + }, ) if output.file_extension in uploaded_objects["success"]: diff --git a/tests/providers/aws/lib/s3/s3_test.py b/tests/providers/aws/lib/s3/s3_test.py index 2cede7364d..34c906d69d 100644 --- a/tests/providers/aws/lib/s3/s3_test.py +++ b/tests/providers/aws/lib/s3/s3_test.py @@ -93,7 +93,7 @@ class TestS3: Bucket=S3_BUCKET_NAME, Key=uploaded_object_name, )["ContentType"] - == "binary/octet-stream" + == "text/csv" ) @mock_aws @@ -132,7 +132,7 @@ class TestS3: Bucket=S3_BUCKET_NAME, Key=uploaded_object_name, )["ContentType"] - == "binary/octet-stream" + == "text/csv" ) remove(f"{CURRENT_DIRECTORY}/{csv_file}") @@ -171,7 +171,7 @@ class TestS3: Bucket=S3_BUCKET_NAME, Key=uploaded_object_name, )["ContentType"] - == "binary/octet-stream" + == "application/json" ) @mock_aws @@ -209,7 +209,7 @@ class TestS3: Bucket=S3_BUCKET_NAME, Key=uploaded_object_name, )["ContentType"] - == "binary/octet-stream" + == "text/html" ) @mock_aws @@ -290,7 +290,7 @@ class TestS3: Bucket=S3_BUCKET_NAME, Key=uploaded_object_name, )["ContentType"] - == "binary/octet-stream" + == "text/csv" ) def test_get_get_object_path_with_prowler(self): From 3fd9c510863de770fae6d93b48f008cd983cc087 Mon Sep 17 00:00:00 2001 From: Hugo Pereira Brito <101209179+HugoPBrito@users.noreply.github.com> Date: Wed, 30 Apr 2025 16:41:59 +0200 Subject: [PATCH 11/31] feat(m365): automate `PowerShell` modules installation (#7618) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Andoni A <14891798+andoniaf@users.noreply.github.com> Co-authored-by: Adrián Jesús Peña Rodríguez --- Dockerfile | 41 ++- api/Dockerfile | 41 ++- prowler/lib/powershell/powershell.py | 7 +- prowler/providers/common/provider.py | 1 + .../providers/m365/lib/arguments/arguments.py | 13 +- .../m365/lib/powershell/m365_powershell.py | 92 +++++-- prowler/providers/m365/m365_provider.py | 14 +- .../lib/powershell/m365_powershell_test.py | 233 +++++++++++++++++- tests/providers/m365/m365_provider_test.py | 92 ++++++- 9 files changed, 479 insertions(+), 55 deletions(-) diff --git a/Dockerfile b/Dockerfile index eb79e31cce..0e9fb89a03 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,25 +1,43 @@ -FROM python:3.12.10-alpine3.20 +FROM python:3.12.10-slim-bookworm AS build LABEL maintainer="https://github.com/prowler-cloud/prowler" LABEL org.opencontainers.image.source="https://github.com/prowler-cloud/prowler" -# Update system dependencies and install essential tools -#hadolint ignore=DL3018 -RUN apk --no-cache upgrade && apk --no-cache add curl git gcc python3-dev musl-dev linux-headers +ARG POWERSHELL_VERSION=7.5.0 + +# hadolint ignore=DL3008 +RUN apt-get update && apt-get install -y --no-install-recommends wget libicu72 \ + && rm -rf /var/lib/apt/lists/* + +# Install PowerShell +RUN ARCH=$(uname -m) && \ + if [ "$ARCH" = "x86_64" ]; then \ + wget --progress=dot:giga https://github.com/PowerShell/PowerShell/releases/download/v${POWERSHELL_VERSION}/powershell-${POWERSHELL_VERSION}-linux-x64.tar.gz -O /tmp/powershell.tar.gz ; \ + elif [ "$ARCH" = "aarch64" ]; then \ + wget --progress=dot:giga https://github.com/PowerShell/PowerShell/releases/download/v${POWERSHELL_VERSION}/powershell-${POWERSHELL_VERSION}-linux-arm64.tar.gz -O /tmp/powershell.tar.gz ; \ + else \ + echo "Unsupported architecture: $ARCH" && exit 1 ; \ + fi && \ + mkdir -p /opt/microsoft/powershell/7 && \ + tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 && \ + chmod +x /opt/microsoft/powershell/7/pwsh && \ + ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh && \ + rm /tmp/powershell.tar.gz + +# Add prowler user +RUN addgroup --gid 1000 prowler && \ + adduser --uid 1000 --gid 1000 --disabled-password --gecos "" prowler -# Create non-root user -RUN mkdir -p /home/prowler && \ - echo 'prowler:x:1000:1000:prowler:/home/prowler:' > /etc/passwd && \ - echo 'prowler:x:1000:' > /etc/group && \ - chown -R prowler:prowler /home/prowler USER prowler -# Copy necessary files WORKDIR /home/prowler + +# Copy necessary files COPY prowler/ /home/prowler/prowler/ COPY dashboard/ /home/prowler/dashboard/ COPY pyproject.toml /home/prowler COPY README.md /home/prowler/ +COPY prowler/providers/m365/lib/powershell/m365_powershell.py /home/prowler/prowler/providers/m365/lib/powershell/m365_powershell.py # Install Python dependencies ENV HOME='/home/prowler' @@ -35,6 +53,9 @@ RUN pip install --no-cache-dir --upgrade pip && \ RUN poetry install --compile && \ rm -rf ~/.cache/pip +# Install PowerShell modules +RUN poetry run python prowler/providers/m365/lib/powershell/m365_powershell.py + # Remove deprecated dash dependencies RUN pip uninstall dash-html-components -y && \ pip uninstall dash-core-components -y diff --git a/api/Dockerfile b/api/Dockerfile index 3569d003e7..cf0fb37556 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -1,13 +1,33 @@ -FROM python:3.12.8-alpine3.20 AS build +FROM python:3.12.10-slim-bookworm AS build LABEL maintainer="https://github.com/prowler-cloud/api" -# hadolint ignore=DL3018 -RUN apk --no-cache add gcc python3-dev musl-dev linux-headers curl-dev +ARG POWERSHELL_VERSION=7.5.0 +ENV POWERSHELL_VERSION=${POWERSHELL_VERSION} + +# hadolint ignore=DL3008 +RUN apt-get update && apt-get install -y --no-install-recommends wget libicu72 \ + && rm -rf /var/lib/apt/lists/* + +# Install PowerShell +RUN ARCH=$(uname -m) && \ + if [ "$ARCH" = "x86_64" ]; then \ + wget --progress=dot:giga https://github.com/PowerShell/PowerShell/releases/download/v${POWERSHELL_VERSION}/powershell-${POWERSHELL_VERSION}-linux-x64.tar.gz -O /tmp/powershell.tar.gz ; \ + elif [ "$ARCH" = "aarch64" ]; then \ + wget --progress=dot:giga https://github.com/PowerShell/PowerShell/releases/download/v${POWERSHELL_VERSION}/powershell-${POWERSHELL_VERSION}-linux-arm64.tar.gz -O /tmp/powershell.tar.gz ; \ + else \ + echo "Unsupported architecture: $ARCH" && exit 1 ; \ + fi && \ + mkdir -p /opt/microsoft/powershell/7 && \ + tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 && \ + chmod +x /opt/microsoft/powershell/7/pwsh && \ + ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh && \ + rm /tmp/powershell.tar.gz + +# Add prowler user +RUN addgroup --gid 1000 prowler && \ + adduser --uid 1000 --gid 1000 --disabled-password --gecos "" prowler -RUN apk --no-cache upgrade && \ - addgroup -g 1000 prowler && \ - adduser -D -u 1000 -G prowler prowler USER prowler WORKDIR /home/prowler @@ -27,18 +47,13 @@ RUN poetry install --no-root && \ COPY docker-entrypoint.sh ./docker-entrypoint.sh +RUN poetry run python "$(poetry env info --path)/src/prowler/prowler/providers/m365/lib/powershell/m365_powershell.py" + WORKDIR /home/prowler/backend # Development image -# hadolint ignore=DL3006 FROM build AS dev -USER 0 -# hadolint ignore=DL3018 -RUN apk --no-cache add curl vim - -USER prowler - ENTRYPOINT ["../docker-entrypoint.sh", "dev"] # Production image diff --git a/prowler/lib/powershell/powershell.py b/prowler/lib/powershell/powershell.py index 26cd2fe952..1e13a74306 100644 --- a/prowler/lib/powershell/powershell.py +++ b/prowler/lib/powershell/powershell.py @@ -191,8 +191,11 @@ class PowerShellSession: error_thread.daemon = True error_thread.start() - result = result_queue.get(timeout=timeout) or default - error_result = error_queue.get(timeout=1) + try: + result = result_queue.get(timeout=timeout) or default + error_result = error_queue.get(timeout=1) or None + except queue.Empty: + result = default if error_result: logger.error(f"PowerShell error output: {error_result}") diff --git a/prowler/providers/common/provider.py b/prowler/providers/common/provider.py index 0efde909ef..aaa94b21d1 100644 --- a/prowler/providers/common/provider.py +++ b/prowler/providers/common/provider.py @@ -221,6 +221,7 @@ class Provider(ABC): az_cli_auth=arguments.az_cli_auth, browser_auth=arguments.browser_auth, tenant_id=arguments.tenant_id, + init_modules=arguments.init_modules, fixer_config=fixer_config, ) elif "nhn" in provider_class_name.lower(): diff --git a/prowler/providers/m365/lib/arguments/arguments.py b/prowler/providers/m365/lib/arguments/arguments.py index a1980c4bd9..e88ef7982b 100644 --- a/prowler/providers/m365/lib/arguments/arguments.py +++ b/prowler/providers/m365/lib/arguments/arguments.py @@ -35,16 +35,9 @@ def init_parser(self): help="Microsoft 365 Tenant ID to be used with --browser-auth option", ) m365_parser.add_argument( - "--user", - nargs="?", - default=None, - help="Microsoft 365 user email", - ) - m365_parser.add_argument( - "--encypted-password", - nargs="?", - default=None, - help="Microsoft 365 encrypted password", + "--init-modules", + action="store_true", + help="Initialize Microsoft 365 PowerShell modules", ) # Regions m365_regions_subparser = m365_parser.add_argument_group("Regions") diff --git a/prowler/providers/m365/lib/powershell/m365_powershell.py b/prowler/providers/m365/lib/powershell/m365_powershell.py index 91974a0b15..df4a26dfd8 100644 --- a/prowler/providers/m365/lib/powershell/m365_powershell.py +++ b/prowler/providers/m365/lib/powershell/m365_powershell.py @@ -2,6 +2,7 @@ import os import msal +from prowler.lib.logger import logger from prowler.lib.powershell.powershell import PowerShellSession from prowler.providers.m365.exceptions.exceptions import ( M365UserNotBelongingToTenantError, @@ -26,6 +27,7 @@ class M365PowerShell(PowerShellSession): Attributes: credentials (M365Credentials): The Microsoft 365 credentials used for authentication. + required_modules (list): List of required PowerShell modules for M365 operations. Note: This class requires the Microsoft Teams and Exchange Online PowerShell modules @@ -371,6 +373,24 @@ class M365PowerShell(PowerShellSession): "Get-MailboxAuditBypassAssociation | ConvertTo-Json", json_parse=True ) + def get_mailbox_policy(self) -> dict: + """ + Get Mailbox Policy. + + Retrieves the current mailbox policy settings for Exchange Online. + + Returns: + dict: Mailbox policy settings in JSON format. + + Example: + >>> get_mailbox_policy() + { + "Id": "OwaMailboxPolicy-Default", + "AdditionalStorageProvidersAvailable": True + } + """ + return self.execute("Get-OwaMailboxPolicy | ConvertTo-Json", json_parse=True) + def get_external_mail_config(self) -> dict: """ Get Exchange Online External Mail Configuration. @@ -467,20 +487,64 @@ class M365PowerShell(PowerShellSession): "Get-HostedContentFilterPolicy | ConvertTo-Json", json_parse=True ) - def get_mailbox_policy(self) -> dict: - """ - Get Mailbox Policy. - Retrieves the current mailbox policy settings for Exchange Online. +# This function is used to install the required M365 PowerShell modules in Docker containers +def initialize_m365_powershell_modules(): + """ + Initialize required PowerShell modules. - Returns: - dict: Mailbox policy settings in JSON format. + Checks if the required PowerShell modules are installed and installs them if necessary. + This method ensures that all required modules for M365 operations are available. - Example: - >>> get_mailbox_policy() - { - "Id": "OwaMailboxPolicy-Default", - "AdditionalStorageProvidersAvailable": True - } - """ - return self.execute("Get-OwaMailboxPolicy | ConvertTo-Json", json_parse=True) + Returns: + bool: True if all modules were successfully initialized, False otherwise + """ + + REQUIRED_MODULES = [ + "ExchangeOnlineManagement", + "MicrosoftTeams", + ] + + pwsh = PowerShellSession() + try: + for module in REQUIRED_MODULES: + try: + # Check if module is already installed + result = pwsh.execute( + f"Get-Module -ListAvailable -Name {module}", timeout=5 + ) + + # Install module if not installed + if not result: + install_result = pwsh.execute( + f'Install-Module -Name "{module}" -Force -AllowClobber -Scope CurrentUser', + timeout=30, + ) + if install_result: + logger.warning( + f"Unexpected output while installing module {module}: {install_result}" + ) + else: + logger.info(f"Successfully installed module {module}") + + # Import module + pwsh.execute(f'Import-Module -Name "{module}" -Force', timeout=1) + + except Exception as error: + logger.error(f"Failed to initialize module {module}: {str(error)}") + return False + + return True + finally: + pwsh.close() + + +def main(): + if initialize_m365_powershell_modules(): + logger.info("M365 PowerShell modules initialized successfully") + else: + logger.error("Failed to initialize M365 PowerShell modules") + + +if __name__ == "__main__": + main() diff --git a/prowler/providers/m365/m365_provider.py b/prowler/providers/m365/m365_provider.py index 4898b5c311..81b359728c 100644 --- a/prowler/providers/m365/m365_provider.py +++ b/prowler/providers/m365/m365_provider.py @@ -53,7 +53,10 @@ from prowler.providers.m365.exceptions.exceptions import ( M365TenantIdAndClientSecretNotBelongingToClientIdError, ) from prowler.providers.m365.lib.mutelist.mutelist import M365Mutelist -from prowler.providers.m365.lib.powershell.m365_powershell import M365PowerShell +from prowler.providers.m365.lib.powershell.m365_powershell import ( + M365PowerShell, + initialize_m365_powershell_modules, +) from prowler.providers.m365.lib.regions.regions import get_regions_config from prowler.providers.m365.models import ( M365Credentials, @@ -115,6 +118,7 @@ class M365Provider(Provider): client_secret: str = None, user: str = None, encrypted_password: str = None, + init_modules: bool = False, region: str = "M365Global", config_content: dict = None, config_path: str = None, @@ -202,6 +206,7 @@ class M365Provider(Provider): env_auth=env_auth, m365_credentials=m365_credentials, provider_id=self.identity.tenant_domain, + init_modules=init_modules, ) # Audit Config @@ -373,7 +378,10 @@ class M365Provider(Provider): @staticmethod def setup_powershell( - env_auth: bool = False, m365_credentials: dict = {}, provider_id: str = None + env_auth: bool = False, + m365_credentials: dict = {}, + provider_id: str = None, + init_modules: bool = False, ) -> M365Credentials: """Gets the M365 credentials. @@ -423,6 +431,8 @@ class M365Provider(Provider): test_session = M365PowerShell(credentials) try: if test_session.test_credentials(credentials): + if init_modules: + initialize_m365_powershell_modules() return credentials raise M365EnvironmentUserCredentialsError( file=os.path.basename(__file__), diff --git a/tests/providers/m365/lib/powershell/m365_powershell_test.py b/tests/providers/m365/lib/powershell/m365_powershell_test.py index 72f5e72810..66094aa581 100644 --- a/tests/providers/m365/lib/powershell/m365_powershell_test.py +++ b/tests/providers/m365/lib/powershell/m365_powershell_test.py @@ -1,7 +1,8 @@ -from unittest.mock import MagicMock, patch +from unittest.mock import MagicMock, call, patch import pytest +from prowler.lib.powershell.powershell import PowerShellSession from prowler.providers.m365.exceptions.exceptions import ( M365UserNotBelongingToTenantError, ) @@ -265,6 +266,7 @@ class Testm365PowerShell: - Error in stderr - Timeout in stdout - Empty output + - Empty queue handling """ # Setup mock_process = MagicMock() @@ -308,6 +310,89 @@ class Testm365PowerShell: result = session.read_output() assert result == "" + # Test 5: Empty queue handling + mock_process.stdout.readline.side_effect = [] # No output at all + mock_process.stderr.readline.return_value = f"Write-Error: {session.END}\n" + result = session.read_output(timeout=0.1, default="empty_queue") + assert result == "empty_queue" + + # Test 6: Empty error queue handling + mock_process.stdout.readline.side_effect = ["test output\n", f"{session.END}\n"] + mock_process.stderr.readline.side_effect = [] # No error output + with patch("prowler.lib.logger.logger.error") as mock_error: + result = session.read_output() + assert result == "test output" + mock_error.assert_not_called() + + # Test 7: Both queues empty + mock_process.stdout.readline.side_effect = [] # No output + mock_process.stderr.readline.side_effect = [] # No error output + result = session.read_output(timeout=0.1, default="both_empty") + assert result == "both_empty" + + session.close() + + @patch("subprocess.Popen") + def test_read_output_queue_empty(self, mock_popen): + """Test read_output when both queues are empty""" + mock_process = MagicMock() + mock_popen.return_value = mock_process + credentials = M365Credentials(user="test@example.com", passwd="test_password") + session = M365PowerShell(credentials) + + # Mock process to return empty queues + mock_process.stdout.readline.side_effect = [] # No output + mock_process.stderr.readline.side_effect = [] # No error output + + # Test with default value + result = session.read_output(timeout=0.1, default="empty_queue") + assert result == "empty_queue" + + # Test without default value + result = session.read_output(timeout=0.1) + assert result == "" + + session.close() + + @patch("subprocess.Popen") + def test_read_output_error_queue_empty(self, mock_popen): + """Test read_output when error queue is empty but stdout has content""" + mock_process = MagicMock() + mock_popen.return_value = mock_process + credentials = M365Credentials(user="test@example.com", passwd="test_password") + session = M365PowerShell(credentials) + + # Mock process to return content in stdout but empty stderr + mock_process.stdout.readline.side_effect = ["test output\n", f"{session.END}\n"] + mock_process.stderr.readline.side_effect = [] # No error output + + with patch("prowler.lib.logger.logger.error") as mock_error: + result = session.read_output() + assert result == "test output" + mock_error.assert_not_called() + + session.close() + + @patch("subprocess.Popen") + def test_read_output_result_queue_empty(self, mock_popen): + """Test read_output when result queue is empty but stderr has content""" + mock_process = MagicMock() + mock_popen.return_value = mock_process + credentials = M365Credentials(user="test@example.com", passwd="test_password") + session = M365PowerShell(credentials) + + # Mock process to return empty stdout but content in stderr + mock_process.stdout.readline.side_effect = [] # No output + mock_process.stderr.readline.side_effect = [ + "Error message\n", + f"Write-Error: {session.END}\n", + ] + + with patch("prowler.lib.logger.logger.error") as mock_error: + result = session.read_output(timeout=0.1, default="default") + assert result == "default" + mock_error.assert_called_once_with("PowerShell error output: Error message") + session.close() @patch("subprocess.Popen") @@ -346,3 +431,149 @@ class Testm365PowerShell: mock_process.stdin.flush.assert_called_once() mock_process.terminate.assert_called_once() + + @patch("subprocess.Popen") + def test_initialize_m365_powershell_modules_success(self, mock_popen): + """Test initialize_m365_powershell_modules when all modules are successfully initialized""" + mock_process = MagicMock() + mock_popen.return_value = mock_process + + # Mock the execute method to simulate successful module installation + def mock_execute(command, *args, **kwargs): + if "Get-Module" in command: + return None # Module not installed + elif "Install-Module" in command: + return None # Installation successful + elif "Import-Module" in command: + return None # Import successful + return None + + with ( + patch.object( + PowerShellSession, "execute", side_effect=mock_execute + ) as mock_execute_obj, + patch("prowler.lib.logger.logger.info") as mock_info, + ): + from prowler.providers.m365.lib.powershell.m365_powershell import ( + initialize_m365_powershell_modules, + ) + + result = initialize_m365_powershell_modules() + + # Verify successful initialization + assert result is True + # Verify that execute was called for each module + assert mock_execute_obj.call_count == 6 # 2 modules * 3 commands each + # Verify success messages were logged + mock_info.assert_any_call( + "Successfully installed module ExchangeOnlineManagement" + ) + mock_info.assert_any_call("Successfully installed module MicrosoftTeams") + + @patch("subprocess.Popen") + def test_initialize_m365_powershell_modules_failure(self, mock_popen): + """Test initialize_m365_powershell_modules when module initialization fails""" + mock_process = MagicMock() + mock_popen.return_value = mock_process + + # Mock the execute method to simulate installation failure + def mock_execute(command, *args, **kwargs): + if "Get-Module" in command: + return None # Module not installed + elif "Install-Module" in command: + raise Exception("Installation failed") + return None + + with ( + patch.object( + PowerShellSession, "execute", side_effect=mock_execute + ) as mock_execute_obj, + patch("prowler.lib.logger.logger.error") as mock_error, + ): + from prowler.providers.m365.lib.powershell.m365_powershell import ( + initialize_m365_powershell_modules, + ) + + result = initialize_m365_powershell_modules() + + # Verify failed initialization + assert result is False + # Verify that execute was called at least twice + assert mock_execute_obj.call_count >= 2 + # Verify error was logged + mock_error.assert_called_with( + "Failed to initialize module ExchangeOnlineManagement: Installation failed" + ) + + @patch("subprocess.Popen") + def test_main_success(self, mock_popen): + """Test main() function when module initialization is successful""" + mock_process = MagicMock() + mock_popen.return_value = mock_process + + # Mock the execute method to simulate successful module installation + def mock_execute(command, *args, **kwargs): + if "Get-Module" in command: + return None # Module not installed + elif "Install-Module" in command: + return None # Installation successful + elif "Import-Module" in command: + return None # Import successful + return None + + with ( + patch.object(PowerShellSession, "execute", side_effect=mock_execute), + patch("prowler.lib.logger.logger.info") as mock_info, + patch("prowler.lib.logger.logger.error") as mock_error, + ): + from prowler.providers.m365.lib.powershell.m365_powershell import main + + main() + + # Verify all info messages were logged in the correct order + assert mock_info.call_count == 3 + mock_info.assert_has_calls( + [ + call("Successfully installed module ExchangeOnlineManagement"), + call("Successfully installed module MicrosoftTeams"), + call("M365 PowerShell modules initialized successfully"), + ] + ) + # Verify no error was logged + mock_error.assert_not_called() + + @patch("subprocess.Popen") + def test_main_failure(self, mock_popen): + """Test main() function when module initialization fails""" + mock_process = MagicMock() + mock_popen.return_value = mock_process + + # Mock the execute method to simulate installation failure + def mock_execute(command, *args, **kwargs): + if "Get-Module" in command: + return None # Module not installed + elif "Install-Module" in command: + raise Exception("Installation failed") + return None + + with ( + patch.object(PowerShellSession, "execute", side_effect=mock_execute), + patch("prowler.lib.logger.logger.info") as mock_info, + patch("prowler.lib.logger.logger.error") as mock_error, + ): + from prowler.providers.m365.lib.powershell.m365_powershell import main + + main() + + # Verify all error messages were logged in the correct order + assert mock_error.call_count == 2 + mock_error.assert_has_calls( + [ + call( + "Failed to initialize module ExchangeOnlineManagement: Installation failed" + ), + call("Failed to initialize M365 PowerShell modules"), + ] + ) + # Verify no info messages were logged + mock_info.assert_not_called() diff --git a/tests/providers/m365/m365_provider_test.py b/tests/providers/m365/m365_provider_test.py index 9fc991b60f..c891ab2d45 100644 --- a/tests/providers/m365/m365_provider_test.py +++ b/tests/providers/m365/m365_provider_test.py @@ -449,9 +449,11 @@ class TestM365Provider: "client_secret": "test_client_secret", } - with patch( - "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.test_credentials", - return_value=True, + with ( + patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.test_credentials", + return_value=True, + ), ): result = M365Provider.setup_powershell( env_auth=False, @@ -622,3 +624,87 @@ class TestM365Provider: f"Provider ID {provider_id} does not match Application tenant domain {user_domain}" in str(exception.value) ) + + def test_provider_init_modules_false(self): + """Test that initialize_m365_powershell_modules is not called when init_modules is False""" + credentials_dict = { + "user": "test@example.com", + "encrypted_password": "test_password", + "client_id": "test_client_id", + "tenant_id": "test_tenant_id", + "client_secret": "test_client_secret", + } + + with ( + patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.test_credentials", + return_value=True, + ), + patch( + "prowler.providers.m365.m365_provider.initialize_m365_powershell_modules" + ) as mock_init_modules, + ): + M365Provider.setup_powershell( + env_auth=False, + m365_credentials=credentials_dict, + provider_id="test_provider_id", + init_modules=False, + ) + mock_init_modules.assert_not_called() + + def test_provider_init_modules_true(self): + """Test that initialize_m365_powershell_modules is called when init_modules is True""" + credentials_dict = { + "user": "test@example.com", + "encrypted_password": "test_password", + "client_id": "test_client_id", + "tenant_id": "test_tenant_id", + "client_secret": "test_client_secret", + } + + with ( + patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.test_credentials", + return_value=True, + ), + patch( + "prowler.providers.m365.m365_provider.initialize_m365_powershell_modules" + ) as mock_init_modules, + ): + M365Provider.setup_powershell( + env_auth=False, + m365_credentials=credentials_dict, + provider_id="test_provider_id", + init_modules=True, + ) + mock_init_modules.assert_called_once() + + def test_setup_powershell_init_modules_failure(self): + """Test that setup_powershell handles initialization failures correctly""" + credentials_dict = { + "user": "test@example.com", + "encrypted_password": "test_password", + "client_id": "test_client_id", + "tenant_id": "test_tenant_id", + "client_secret": "test_client_secret", + } + + with ( + patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.test_credentials", + return_value=True, + ), + patch( + "prowler.providers.m365.m365_provider.initialize_m365_powershell_modules", + side_effect=Exception("Module initialization failed"), + ), + ): + with pytest.raises(Exception) as exc_info: + M365Provider.setup_powershell( + env_auth=False, + m365_credentials=credentials_dict, + provider_id="test_provider_id", + init_modules=True, + ) + + assert str(exc_info.value) == "Module initialization failed" From c289ddacf2f1583b1b535fa0263f5c8607741946 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adri=C3=A1n=20Jes=C3=BAs=20Pe=C3=B1a=20Rodr=C3=ADguez?= Date: Wed, 30 Apr 2025 17:09:47 +0200 Subject: [PATCH 12/31] feat: add m365 to API (#7563) Co-authored-by: Andoni A <14891798+andoniaf@users.noreply.github.com> --- .github/workflows/api-pull-request.yml | 2 +- .pre-commit-config.yaml | 2 +- api/.pre-commit-config.yaml | 2 +- api/CHANGELOG.md | 8 + api/Dockerfile | 2 +- api/poetry.lock | 1877 +++++++++-------- api/pyproject.toml | 3 +- .../api/migrations/0017_m365_provider.py | 32 + api/src/backend/api/models.py | 10 + api/src/backend/api/specs/v1.yaml | 154 +- api/src/backend/api/tests/test_utils.py | 6 + api/src/backend/api/utils.py | 15 +- .../api/v1/serializer_utils/providers.py | 172 ++ api/src/backend/api/v1/serializers.py | 149 +- api/src/backend/api/v1/views.py | 2 +- poetry.lock | 1859 ++++++++-------- prowler/lib/powershell/powershell.py | 3 +- prowler/providers/m365/m365_provider.py | 12 +- pyproject.toml | 1 + 19 files changed, 2351 insertions(+), 1960 deletions(-) create mode 100644 api/src/backend/api/migrations/0017_m365_provider.py create mode 100644 api/src/backend/api/v1/serializer_utils/providers.py diff --git a/.github/workflows/api-pull-request.yml b/.github/workflows/api-pull-request.yml index 1d4733d10a..49df46c8e5 100644 --- a/.github/workflows/api-pull-request.yml +++ b/.github/workflows/api-pull-request.yml @@ -145,7 +145,7 @@ jobs: working-directory: ./api if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true' run: | - poetry run safety check --ignore 70612,66963 + poetry run safety check --ignore 70612,66963,74429 - name: Vulture working-directory: ./api diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a5d011e23d..0382dd901d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -115,7 +115,7 @@ repos: - id: safety name: safety description: "Safety is a tool that checks your installed dependencies for known security vulnerabilities" - entry: bash -c 'safety check --ignore 70612,66963' + entry: bash -c 'safety check --ignore 70612,66963,74429' language: system - id: vulture diff --git a/api/.pre-commit-config.yaml b/api/.pre-commit-config.yaml index 6859567eb5..1cd04529c3 100644 --- a/api/.pre-commit-config.yaml +++ b/api/.pre-commit-config.yaml @@ -80,7 +80,7 @@ repos: - id: safety name: safety description: "Safety is a tool that checks your installed dependencies for known security vulnerabilities" - entry: bash -c 'poetry run safety check --ignore 70612,66963' + entry: bash -c 'poetry run safety check --ignore 70612,66963,74429' language: system - id: vulture diff --git a/api/CHANGELOG.md b/api/CHANGELOG.md index 44879c662a..84aedf43f7 100644 --- a/api/CHANGELOG.md +++ b/api/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to the **Prowler API** are documented in this file. +## [v1.7.0] (UNRELEASED) + +### Added + +- Added M365 as a new provider [(#7563)](https://github.com/prowler-cloud/prowler/pull/7563). + +--- + ## [v1.6.0] (Prowler v5.5.0) ### Added diff --git a/api/Dockerfile b/api/Dockerfile index cf0fb37556..8291b14295 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -37,7 +37,7 @@ COPY pyproject.toml ./ RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir poetry -COPY src/backend/ ./backend/ +COPY src/backend/ ./backend/ ENV PATH="/home/prowler/.local/bin:$PATH" diff --git a/api/poetry.lock b/api/poetry.lock index 0e9af82b8c..975d527172 100644 --- a/api/poetry.lock +++ b/api/poetry.lock @@ -14,105 +14,105 @@ files = [ [[package]] name = "aiohappyeyeballs" -version = "2.4.6" +version = "2.6.1" description = "Happy Eyeballs for asyncio" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "aiohappyeyeballs-2.4.6-py3-none-any.whl", hash = "sha256:147ec992cf873d74f5062644332c539fcd42956dc69453fe5204195e560517e1"}, - {file = "aiohappyeyeballs-2.4.6.tar.gz", hash = "sha256:9b05052f9042985d32ecbe4b59a77ae19c006a78f1344d7fdad69d28ded3d0b0"}, + {file = "aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8"}, + {file = "aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558"}, ] [[package]] name = "aiohttp" -version = "3.11.12" +version = "3.11.18" description = "Async http client/server framework (asyncio)" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "aiohttp-3.11.12-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:aa8a8caca81c0a3e765f19c6953416c58e2f4cc1b84829af01dd1c771bb2f91f"}, - {file = "aiohttp-3.11.12-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:84ede78acde96ca57f6cf8ccb8a13fbaf569f6011b9a52f870c662d4dc8cd854"}, - {file = "aiohttp-3.11.12-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:584096938a001378484aa4ee54e05dc79c7b9dd933e271c744a97b3b6f644957"}, - {file = "aiohttp-3.11.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:392432a2dde22b86f70dd4a0e9671a349446c93965f261dbaecfaf28813e5c42"}, - {file = "aiohttp-3.11.12-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:88d385b8e7f3a870146bf5ea31786ef7463e99eb59e31db56e2315535d811f55"}, - {file = "aiohttp-3.11.12-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b10a47e5390c4b30a0d58ee12581003be52eedd506862ab7f97da7a66805befb"}, - {file = "aiohttp-3.11.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b5263dcede17b6b0c41ef0c3ccce847d82a7da98709e75cf7efde3e9e3b5cae"}, - {file = "aiohttp-3.11.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50c5c7b8aa5443304c55c262c5693b108c35a3b61ef961f1e782dd52a2f559c7"}, - {file = "aiohttp-3.11.12-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d1c031a7572f62f66f1257db37ddab4cb98bfaf9b9434a3b4840bf3560f5e788"}, - {file = "aiohttp-3.11.12-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:7e44eba534381dd2687be50cbd5f2daded21575242ecfdaf86bbeecbc38dae8e"}, - {file = "aiohttp-3.11.12-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:145a73850926018ec1681e734cedcf2716d6a8697d90da11284043b745c286d5"}, - {file = "aiohttp-3.11.12-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:2c311e2f63e42c1bf86361d11e2c4a59f25d9e7aabdbdf53dc38b885c5435cdb"}, - {file = "aiohttp-3.11.12-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:ea756b5a7bac046d202a9a3889b9a92219f885481d78cd318db85b15cc0b7bcf"}, - {file = "aiohttp-3.11.12-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:526c900397f3bbc2db9cb360ce9c35134c908961cdd0ac25b1ae6ffcaa2507ff"}, - {file = "aiohttp-3.11.12-cp310-cp310-win32.whl", hash = "sha256:b8d3bb96c147b39c02d3db086899679f31958c5d81c494ef0fc9ef5bb1359b3d"}, - {file = "aiohttp-3.11.12-cp310-cp310-win_amd64.whl", hash = "sha256:7fe3d65279bfbee8de0fb4f8c17fc4e893eed2dba21b2f680e930cc2b09075c5"}, - {file = "aiohttp-3.11.12-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:87a2e00bf17da098d90d4145375f1d985a81605267e7f9377ff94e55c5d769eb"}, - {file = "aiohttp-3.11.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b34508f1cd928ce915ed09682d11307ba4b37d0708d1f28e5774c07a7674cac9"}, - {file = "aiohttp-3.11.12-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:936d8a4f0f7081327014742cd51d320296b56aa6d324461a13724ab05f4b2933"}, - {file = "aiohttp-3.11.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2de1378f72def7dfb5dbd73d86c19eda0ea7b0a6873910cc37d57e80f10d64e1"}, - {file = "aiohttp-3.11.12-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b9d45dbb3aaec05cf01525ee1a7ac72de46a8c425cb75c003acd29f76b1ffe94"}, - {file = "aiohttp-3.11.12-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:930ffa1925393381e1e0a9b82137fa7b34c92a019b521cf9f41263976666a0d6"}, - {file = "aiohttp-3.11.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8340def6737118f5429a5df4e88f440746b791f8f1c4ce4ad8a595f42c980bd5"}, - {file = "aiohttp-3.11.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4016e383f91f2814e48ed61e6bda7d24c4d7f2402c75dd28f7e1027ae44ea204"}, - {file = "aiohttp-3.11.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3c0600bcc1adfaaac321422d615939ef300df81e165f6522ad096b73439c0f58"}, - {file = "aiohttp-3.11.12-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:0450ada317a65383b7cce9576096150fdb97396dcfe559109b403c7242faffef"}, - {file = "aiohttp-3.11.12-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:850ff6155371fd802a280f8d369d4e15d69434651b844bde566ce97ee2277420"}, - {file = "aiohttp-3.11.12-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:8fd12d0f989c6099e7b0f30dc6e0d1e05499f3337461f0b2b0dadea6c64b89df"}, - {file = "aiohttp-3.11.12-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:76719dd521c20a58a6c256d058547b3a9595d1d885b830013366e27011ffe804"}, - {file = "aiohttp-3.11.12-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:97fe431f2ed646a3b56142fc81d238abcbaff08548d6912acb0b19a0cadc146b"}, - {file = "aiohttp-3.11.12-cp311-cp311-win32.whl", hash = "sha256:e10c440d142fa8b32cfdb194caf60ceeceb3e49807072e0dc3a8887ea80e8c16"}, - {file = "aiohttp-3.11.12-cp311-cp311-win_amd64.whl", hash = "sha256:246067ba0cf5560cf42e775069c5d80a8989d14a7ded21af529a4e10e3e0f0e6"}, - {file = "aiohttp-3.11.12-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e392804a38353900c3fd8b7cacbea5132888f7129f8e241915e90b85f00e3250"}, - {file = "aiohttp-3.11.12-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8fa1510b96c08aaad49303ab11f8803787c99222288f310a62f493faf883ede1"}, - {file = "aiohttp-3.11.12-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dc065a4285307607df3f3686363e7f8bdd0d8ab35f12226362a847731516e42c"}, - {file = "aiohttp-3.11.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddb31f8474695cd61fc9455c644fc1606c164b93bff2490390d90464b4655df"}, - {file = "aiohttp-3.11.12-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dec0000d2d8621d8015c293e24589d46fa218637d820894cb7356c77eca3259"}, - {file = "aiohttp-3.11.12-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3552fe98e90fdf5918c04769f338a87fa4f00f3b28830ea9b78b1bdc6140e0d"}, - {file = "aiohttp-3.11.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dfe7f984f28a8ae94ff3a7953cd9678550dbd2a1f9bda5dd9c5ae627744c78e"}, - {file = "aiohttp-3.11.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a481a574af914b6e84624412666cbfbe531a05667ca197804ecc19c97b8ab1b0"}, - {file = "aiohttp-3.11.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1987770fb4887560363b0e1a9b75aa303e447433c41284d3af2840a2f226d6e0"}, - {file = "aiohttp-3.11.12-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:a4ac6a0f0f6402854adca4e3259a623f5c82ec3f0c049374133bcb243132baf9"}, - {file = "aiohttp-3.11.12-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c96a43822f1f9f69cc5c3706af33239489a6294be486a0447fb71380070d4d5f"}, - {file = "aiohttp-3.11.12-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a5e69046f83c0d3cb8f0d5bd9b8838271b1bc898e01562a04398e160953e8eb9"}, - {file = "aiohttp-3.11.12-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:68d54234c8d76d8ef74744f9f9fc6324f1508129e23da8883771cdbb5818cbef"}, - {file = "aiohttp-3.11.12-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c9fd9dcf9c91affe71654ef77426f5cf8489305e1c66ed4816f5a21874b094b9"}, - {file = "aiohttp-3.11.12-cp312-cp312-win32.whl", hash = "sha256:0ed49efcd0dc1611378beadbd97beb5d9ca8fe48579fc04a6ed0844072261b6a"}, - {file = "aiohttp-3.11.12-cp312-cp312-win_amd64.whl", hash = "sha256:54775858c7f2f214476773ce785a19ee81d1294a6bedc5cc17225355aab74802"}, - {file = "aiohttp-3.11.12-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:413ad794dccb19453e2b97c2375f2ca3cdf34dc50d18cc2693bd5aed7d16f4b9"}, - {file = "aiohttp-3.11.12-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4a93d28ed4b4b39e6f46fd240896c29b686b75e39cc6992692e3922ff6982b4c"}, - {file = "aiohttp-3.11.12-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d589264dbba3b16e8951b6f145d1e6b883094075283dafcab4cdd564a9e353a0"}, - {file = "aiohttp-3.11.12-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5148ca8955affdfeb864aca158ecae11030e952b25b3ae15d4e2b5ba299bad2"}, - {file = "aiohttp-3.11.12-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:525410e0790aab036492eeea913858989c4cb070ff373ec3bc322d700bdf47c1"}, - {file = "aiohttp-3.11.12-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bd8695be2c80b665ae3f05cb584093a1e59c35ecb7d794d1edd96e8cc9201d7"}, - {file = "aiohttp-3.11.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0203433121484b32646a5f5ea93ae86f3d9559d7243f07e8c0eab5ff8e3f70e"}, - {file = "aiohttp-3.11.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40cd36749a1035c34ba8d8aaf221b91ca3d111532e5ccb5fa8c3703ab1b967ed"}, - {file = "aiohttp-3.11.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a7442662afebbf7b4c6d28cb7aab9e9ce3a5df055fc4116cc7228192ad6cb484"}, - {file = "aiohttp-3.11.12-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:8a2fb742ef378284a50766e985804bd6adb5adb5aa781100b09befdbfa757b65"}, - {file = "aiohttp-3.11.12-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2cee3b117a8d13ab98b38d5b6bdcd040cfb4181068d05ce0c474ec9db5f3c5bb"}, - {file = "aiohttp-3.11.12-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f6a19bcab7fbd8f8649d6595624856635159a6527861b9cdc3447af288a00c00"}, - {file = "aiohttp-3.11.12-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e4cecdb52aaa9994fbed6b81d4568427b6002f0a91c322697a4bfcc2b2363f5a"}, - {file = "aiohttp-3.11.12-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:30f546358dfa0953db92ba620101fefc81574f87b2346556b90b5f3ef16e55ce"}, - {file = "aiohttp-3.11.12-cp313-cp313-win32.whl", hash = "sha256:ce1bb21fc7d753b5f8a5d5a4bae99566386b15e716ebdb410154c16c91494d7f"}, - {file = "aiohttp-3.11.12-cp313-cp313-win_amd64.whl", hash = "sha256:f7914ab70d2ee8ab91c13e5402122edbc77821c66d2758abb53aabe87f013287"}, - {file = "aiohttp-3.11.12-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7c3623053b85b4296cd3925eeb725e386644fd5bc67250b3bb08b0f144803e7b"}, - {file = "aiohttp-3.11.12-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:67453e603cea8e85ed566b2700efa1f6916aefbc0c9fcb2e86aaffc08ec38e78"}, - {file = "aiohttp-3.11.12-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6130459189e61baac5a88c10019b21e1f0c6d00ebc770e9ce269475650ff7f73"}, - {file = "aiohttp-3.11.12-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9060addfa4ff753b09392efe41e6af06ea5dd257829199747b9f15bfad819460"}, - {file = "aiohttp-3.11.12-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:34245498eeb9ae54c687a07ad7f160053911b5745e186afe2d0c0f2898a1ab8a"}, - {file = "aiohttp-3.11.12-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8dc0fba9a74b471c45ca1a3cb6e6913ebfae416678d90529d188886278e7f3f6"}, - {file = "aiohttp-3.11.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a478aa11b328983c4444dacb947d4513cb371cd323f3845e53caeda6be5589d5"}, - {file = "aiohttp-3.11.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c160a04283c8c6f55b5bf6d4cad59bb9c5b9c9cd08903841b25f1f7109ef1259"}, - {file = "aiohttp-3.11.12-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:edb69b9589324bdc40961cdf0657815df674f1743a8d5ad9ab56a99e4833cfdd"}, - {file = "aiohttp-3.11.12-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:4ee84c2a22a809c4f868153b178fe59e71423e1f3d6a8cd416134bb231fbf6d3"}, - {file = "aiohttp-3.11.12-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:bf4480a5438f80e0f1539e15a7eb8b5f97a26fe087e9828e2c0ec2be119a9f72"}, - {file = "aiohttp-3.11.12-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:e6b2732ef3bafc759f653a98881b5b9cdef0716d98f013d376ee8dfd7285abf1"}, - {file = "aiohttp-3.11.12-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:f752e80606b132140883bb262a457c475d219d7163d996dc9072434ffb0784c4"}, - {file = "aiohttp-3.11.12-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ab3247d58b393bda5b1c8f31c9edece7162fc13265334217785518dd770792b8"}, - {file = "aiohttp-3.11.12-cp39-cp39-win32.whl", hash = "sha256:0d5176f310a7fe6f65608213cc74f4228e4f4ce9fd10bcb2bb6da8fc66991462"}, - {file = "aiohttp-3.11.12-cp39-cp39-win_amd64.whl", hash = "sha256:74bd573dde27e58c760d9ca8615c41a57e719bff315c9adb6f2a4281a28e8798"}, - {file = "aiohttp-3.11.12.tar.gz", hash = "sha256:7603ca26d75b1b86160ce1bbe2787a0b706e592af5b2504e12caa88a217767b0"}, + {file = "aiohttp-3.11.18-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:96264854fedbea933a9ca4b7e0c745728f01380691687b7365d18d9e977179c4"}, + {file = "aiohttp-3.11.18-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9602044ff047043430452bc3a2089743fa85da829e6fc9ee0025351d66c332b6"}, + {file = "aiohttp-3.11.18-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5691dc38750fcb96a33ceef89642f139aa315c8a193bbd42a0c33476fd4a1609"}, + {file = "aiohttp-3.11.18-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:554c918ec43f8480b47a5ca758e10e793bd7410b83701676a4782672d670da55"}, + {file = "aiohttp-3.11.18-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a4076a2b3ba5b004b8cffca6afe18a3b2c5c9ef679b4d1e9859cf76295f8d4f"}, + {file = "aiohttp-3.11.18-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:767a97e6900edd11c762be96d82d13a1d7c4fc4b329f054e88b57cdc21fded94"}, + {file = "aiohttp-3.11.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ddc9337a0fb0e727785ad4f41163cc314376e82b31846d3835673786420ef1"}, + {file = "aiohttp-3.11.18-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f414f37b244f2a97e79b98d48c5ff0789a0b4b4609b17d64fa81771ad780e415"}, + {file = "aiohttp-3.11.18-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fdb239f47328581e2ec7744ab5911f97afb10752332a6dd3d98e14e429e1a9e7"}, + {file = "aiohttp-3.11.18-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f2c50bad73ed629cc326cc0f75aed8ecfb013f88c5af116f33df556ed47143eb"}, + {file = "aiohttp-3.11.18-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0a8d8f20c39d3fa84d1c28cdb97f3111387e48209e224408e75f29c6f8e0861d"}, + {file = "aiohttp-3.11.18-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:106032eaf9e62fd6bc6578c8b9e6dc4f5ed9a5c1c7fb2231010a1b4304393421"}, + {file = "aiohttp-3.11.18-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:b491e42183e8fcc9901d8dcd8ae644ff785590f1727f76ca86e731c61bfe6643"}, + {file = "aiohttp-3.11.18-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ad8c745ff9460a16b710e58e06a9dec11ebc0d8f4dd82091cefb579844d69868"}, + {file = "aiohttp-3.11.18-cp310-cp310-win32.whl", hash = "sha256:8e57da93e24303a883146510a434f0faf2f1e7e659f3041abc4e3fb3f6702a9f"}, + {file = "aiohttp-3.11.18-cp310-cp310-win_amd64.whl", hash = "sha256:cc93a4121d87d9f12739fc8fab0a95f78444e571ed63e40bfc78cd5abe700ac9"}, + {file = "aiohttp-3.11.18-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:427fdc56ccb6901ff8088544bde47084845ea81591deb16f957897f0f0ba1be9"}, + {file = "aiohttp-3.11.18-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c828b6d23b984255b85b9b04a5b963a74278b7356a7de84fda5e3b76866597b"}, + {file = "aiohttp-3.11.18-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5c2eaa145bb36b33af1ff2860820ba0589e165be4ab63a49aebfd0981c173b66"}, + {file = "aiohttp-3.11.18-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d518ce32179f7e2096bf4e3e8438cf445f05fedd597f252de9f54c728574756"}, + {file = "aiohttp-3.11.18-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0700055a6e05c2f4711011a44364020d7a10fbbcd02fbf3e30e8f7e7fddc8717"}, + {file = "aiohttp-3.11.18-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8bd1cde83e4684324e6ee19adfc25fd649d04078179890be7b29f76b501de8e4"}, + {file = "aiohttp-3.11.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73b8870fe1c9a201b8c0d12c94fe781b918664766728783241a79e0468427e4f"}, + {file = "aiohttp-3.11.18-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:25557982dd36b9e32c0a3357f30804e80790ec2c4d20ac6bcc598533e04c6361"}, + {file = "aiohttp-3.11.18-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7e889c9df381a2433802991288a61e5a19ceb4f61bd14f5c9fa165655dcb1fd1"}, + {file = "aiohttp-3.11.18-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:9ea345fda05bae217b6cce2acf3682ce3b13d0d16dd47d0de7080e5e21362421"}, + {file = "aiohttp-3.11.18-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9f26545b9940c4b46f0a9388fd04ee3ad7064c4017b5a334dd450f616396590e"}, + {file = "aiohttp-3.11.18-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:3a621d85e85dccabd700294494d7179ed1590b6d07a35709bb9bd608c7f5dd1d"}, + {file = "aiohttp-3.11.18-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9c23fd8d08eb9c2af3faeedc8c56e134acdaf36e2117ee059d7defa655130e5f"}, + {file = "aiohttp-3.11.18-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d9e6b0e519067caa4fd7fb72e3e8002d16a68e84e62e7291092a5433763dc0dd"}, + {file = "aiohttp-3.11.18-cp311-cp311-win32.whl", hash = "sha256:122f3e739f6607e5e4c6a2f8562a6f476192a682a52bda8b4c6d4254e1138f4d"}, + {file = "aiohttp-3.11.18-cp311-cp311-win_amd64.whl", hash = "sha256:e6f3c0a3a1e73e88af384b2e8a0b9f4fb73245afd47589df2afcab6b638fa0e6"}, + {file = "aiohttp-3.11.18-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:63d71eceb9cad35d47d71f78edac41fcd01ff10cacaa64e473d1aec13fa02df2"}, + {file = "aiohttp-3.11.18-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d1929da615840969929e8878d7951b31afe0bac883d84418f92e5755d7b49508"}, + {file = "aiohttp-3.11.18-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7d0aebeb2392f19b184e3fdd9e651b0e39cd0f195cdb93328bd124a1d455cd0e"}, + {file = "aiohttp-3.11.18-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3849ead845e8444f7331c284132ab314b4dac43bfae1e3cf350906d4fff4620f"}, + {file = "aiohttp-3.11.18-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e8452ad6b2863709f8b3d615955aa0807bc093c34b8e25b3b52097fe421cb7f"}, + {file = "aiohttp-3.11.18-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b8d2b42073611c860a37f718b3d61ae8b4c2b124b2e776e2c10619d920350ec"}, + {file = "aiohttp-3.11.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fbf91f6a0ac317c0a07eb328a1384941872f6761f2e6f7208b63c4cc0a7ff6"}, + {file = "aiohttp-3.11.18-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ff5625413fec55216da5eaa011cf6b0a2ed67a565914a212a51aa3755b0009"}, + {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7f33a92a2fde08e8c6b0c61815521324fc1612f397abf96eed86b8e31618fdb4"}, + {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:11d5391946605f445ddafda5eab11caf310f90cdda1fd99865564e3164f5cff9"}, + {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3cc314245deb311364884e44242e00c18b5896e4fe6d5f942e7ad7e4cb640adb"}, + {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0f421843b0f70740772228b9e8093289924359d306530bcd3926f39acbe1adda"}, + {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e220e7562467dc8d589e31c1acd13438d82c03d7f385c9cd41a3f6d1d15807c1"}, + {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ab2ef72f8605046115bc9aa8e9d14fd49086d405855f40b79ed9e5c1f9f4faea"}, + {file = "aiohttp-3.11.18-cp312-cp312-win32.whl", hash = "sha256:12a62691eb5aac58d65200c7ae94d73e8a65c331c3a86a2e9670927e94339ee8"}, + {file = "aiohttp-3.11.18-cp312-cp312-win_amd64.whl", hash = "sha256:364329f319c499128fd5cd2d1c31c44f234c58f9b96cc57f743d16ec4f3238c8"}, + {file = "aiohttp-3.11.18-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:474215ec618974054cf5dc465497ae9708543cbfc312c65212325d4212525811"}, + {file = "aiohttp-3.11.18-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6ced70adf03920d4e67c373fd692123e34d3ac81dfa1c27e45904a628567d804"}, + {file = "aiohttp-3.11.18-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2d9f6c0152f8d71361905aaf9ed979259537981f47ad099c8b3d81e0319814bd"}, + {file = "aiohttp-3.11.18-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a35197013ed929c0aed5c9096de1fc5a9d336914d73ab3f9df14741668c0616c"}, + {file = "aiohttp-3.11.18-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:540b8a1f3a424f1af63e0af2d2853a759242a1769f9f1ab053996a392bd70118"}, + {file = "aiohttp-3.11.18-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9e6710ebebfce2ba21cee6d91e7452d1125100f41b906fb5af3da8c78b764c1"}, + {file = "aiohttp-3.11.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8af2ef3b4b652ff109f98087242e2ab974b2b2b496304063585e3d78de0b000"}, + {file = "aiohttp-3.11.18-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:28c3f975e5ae3dbcbe95b7e3dcd30e51da561a0a0f2cfbcdea30fc1308d72137"}, + {file = "aiohttp-3.11.18-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c28875e316c7b4c3e745172d882d8a5c835b11018e33432d281211af35794a93"}, + {file = "aiohttp-3.11.18-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:13cd38515568ae230e1ef6919e2e33da5d0f46862943fcda74e7e915096815f3"}, + {file = "aiohttp-3.11.18-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0e2a92101efb9f4c2942252c69c63ddb26d20f46f540c239ccfa5af865197bb8"}, + {file = "aiohttp-3.11.18-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:e6d3e32b8753c8d45ac550b11a1090dd66d110d4ef805ffe60fa61495360b3b2"}, + {file = "aiohttp-3.11.18-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ea4cf2488156e0f281f93cc2fd365025efcba3e2d217cbe3df2840f8c73db261"}, + {file = "aiohttp-3.11.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d4df95ad522c53f2b9ebc07f12ccd2cb15550941e11a5bbc5ddca2ca56316d7"}, + {file = "aiohttp-3.11.18-cp313-cp313-win32.whl", hash = "sha256:cdd1bbaf1e61f0d94aced116d6e95fe25942f7a5f42382195fd9501089db5d78"}, + {file = "aiohttp-3.11.18-cp313-cp313-win_amd64.whl", hash = "sha256:bdd619c27e44382cf642223f11cfd4d795161362a5a1fc1fa3940397bc89db01"}, + {file = "aiohttp-3.11.18-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:469ac32375d9a716da49817cd26f1916ec787fc82b151c1c832f58420e6d3533"}, + {file = "aiohttp-3.11.18-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3cec21dd68924179258ae14af9f5418c1ebdbba60b98c667815891293902e5e0"}, + {file = "aiohttp-3.11.18-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b426495fb9140e75719b3ae70a5e8dd3a79def0ae3c6c27e012fc59f16544a4a"}, + {file = "aiohttp-3.11.18-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad2f41203e2808616292db5d7170cccf0c9f9c982d02544443c7eb0296e8b0c7"}, + {file = "aiohttp-3.11.18-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5bc0ae0a5e9939e423e065a3e5b00b24b8379f1db46046d7ab71753dfc7dd0e1"}, + {file = "aiohttp-3.11.18-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe7cdd3f7d1df43200e1c80f1aed86bb36033bf65e3c7cf46a2b97a253ef8798"}, + {file = "aiohttp-3.11.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5199be2a2f01ffdfa8c3a6f5981205242986b9e63eb8ae03fd18f736e4840721"}, + {file = "aiohttp-3.11.18-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ccec9e72660b10f8e283e91aa0295975c7bd85c204011d9f5eb69310555cf30"}, + {file = "aiohttp-3.11.18-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1596ebf17e42e293cbacc7a24c3e0dc0f8f755b40aff0402cb74c1ff6baec1d3"}, + {file = "aiohttp-3.11.18-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:eab7b040a8a873020113ba814b7db7fa935235e4cbaf8f3da17671baa1024863"}, + {file = "aiohttp-3.11.18-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:5d61df4a05476ff891cff0030329fee4088d40e4dc9b013fac01bc3c745542c2"}, + {file = "aiohttp-3.11.18-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:46533e6792e1410f9801d09fd40cbbff3f3518d1b501d6c3c5b218f427f6ff08"}, + {file = "aiohttp-3.11.18-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c1b90407ced992331dd6d4f1355819ea1c274cc1ee4d5b7046c6761f9ec11829"}, + {file = "aiohttp-3.11.18-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a2fd04ae4971b914e54fe459dd7edbbd3f2ba875d69e057d5e3c8e8cac094935"}, + {file = "aiohttp-3.11.18-cp39-cp39-win32.whl", hash = "sha256:b2f317d1678002eee6fe85670039fb34a757972284614638f82b903a03feacdc"}, + {file = "aiohttp-3.11.18-cp39-cp39-win_amd64.whl", hash = "sha256:5e7007b8d1d09bce37b54111f593d173691c530b80f27c6493b928dabed9e6ef"}, + {file = "aiohttp-3.11.18.tar.gz", hash = "sha256:ae856e1138612b7e412db63b7708735cff4d38d0399f6a5435d3dac2669f558a"}, ] [package.dependencies] @@ -175,14 +175,14 @@ vine = ">=5.0.0,<6.0.0" [[package]] name = "anyio" -version = "4.8.0" +version = "4.9.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a"}, - {file = "anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a"}, + {file = "anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c"}, + {file = "anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028"}, ] [package.dependencies] @@ -191,8 +191,8 @@ sniffio = ">=1.1" typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""} [package.extras] -doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "trustme", "truststore (>=0.9.1) ; python_version >= \"3.10\"", "uvloop (>=0.21) ; platform_python_implementation == \"CPython\" and platform_system != \"Windows\" and python_version < \"3.14\""] +doc = ["Sphinx (>=8.2,<9.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"] +test = ["anyio[trio]", "blockbuster (>=1.5.23)", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "trustme", "truststore (>=0.9.1) ; python_version >= \"3.10\"", "uvloop (>=0.21) ; platform_python_implementation == \"CPython\" and platform_system != \"Windows\" and python_version < \"3.14\""] trio = ["trio (>=0.26.1)"] [[package]] @@ -237,34 +237,34 @@ files = [ [[package]] name = "attrs" -version = "25.1.0" +version = "25.3.0" description = "Classes Without Boilerplate" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a"}, - {file = "attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e"}, + {file = "attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3"}, + {file = "attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b"}, ] [package.extras] benchmark = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] cov = ["cloudpickle ; platform_python_implementation == \"CPython\"", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] dev = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] -docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier"] tests = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] tests-mypy = ["mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\""] [[package]] name = "authlib" -version = "1.4.1" +version = "1.5.2" description = "The ultimate Python library in building OAuth and OpenID Connect servers and clients." optional = false python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "Authlib-1.4.1-py2.py3-none-any.whl", hash = "sha256:edc29c3f6a3e72cd9e9f45fff67fc663a2c364022eb0371c003f22d5405915c1"}, - {file = "authlib-1.4.1.tar.gz", hash = "sha256:30ead9ea4993cdbab821dc6e01e818362f92da290c04c7f6a1940f86507a790d"}, + {file = "authlib-1.5.2-py2.py3-none-any.whl", hash = "sha256:8804dd4402ac5e4a0435ac49e0b6e19e395357cfa632a3f624dcb4f6df13b4b1"}, + {file = "authlib-1.5.2.tar.gz", hash = "sha256:fe85ec7e50c5f86f1e2603518bb3b4f632985eb4a355e52256530790e326c512"}, ] [package.dependencies] @@ -311,14 +311,14 @@ files = [ [[package]] name = "azure-core" -version = "1.32.0" +version = "1.33.0" description = "Microsoft Azure Core Library for Python" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "azure_core-1.32.0-py3-none-any.whl", hash = "sha256:eac191a0efb23bfa83fddf321b27b122b4ec847befa3091fa736a5c32c50d7b4"}, - {file = "azure_core-1.32.0.tar.gz", hash = "sha256:22b3c35d6b2dae14990f6c1be2912bf23ffe50b220e708a28ab1bb92b1c730e5"}, + {file = "azure_core-1.33.0-py3-none-any.whl", hash = "sha256:9b5b6d0223a1d38c37500e6971118c1e0f13f54951e6893968b38910bc9cda8f"}, + {file = "azure_core-1.33.0.tar.gz", hash = "sha256:f367aa07b5e3005fec2c1e184b882b0b039910733907d001c20fb08ebb8c0eb9"}, ] [package.dependencies] @@ -328,17 +328,18 @@ typing-extensions = ">=4.6.0" [package.extras] aio = ["aiohttp (>=3.0)"] +tracing = ["opentelemetry-api (>=1.26,<2.0)"] [[package]] name = "azure-identity" -version = "1.19.0" +version = "1.21.0" description = "Microsoft Azure Identity Library for Python" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "azure_identity-1.19.0-py3-none-any.whl", hash = "sha256:e3f6558c181692d7509f09de10cca527c7dce426776454fb97df512a46527e81"}, - {file = "azure_identity-1.19.0.tar.gz", hash = "sha256:500144dc18197d7019b81501165d4fa92225f03778f17d7ca8a2a180129a9c83"}, + {file = "azure_identity-1.21.0-py3-none-any.whl", hash = "sha256:258ea6325537352440f71b35c3dffe9d240eae4a5126c1b7ce5efd5766bd9fd9"}, + {file = "azure_identity-1.21.0.tar.gz", hash = "sha256:ea22ce6e6b0f429bc1b8d9212d5b9f9877bd4c82f1724bfa910760612c07a9a6"}, ] [package.dependencies] @@ -368,20 +369,21 @@ typing-extensions = ">=4.0.1" [[package]] name = "azure-mgmt-applicationinsights" -version = "4.0.0" +version = "4.1.0" description = "Microsoft Azure Application Insights Management Client Library for Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" groups = ["main"] files = [ - {file = "azure-mgmt-applicationinsights-4.0.0.zip", hash = "sha256:50c3db05573e0cc2d56314a0556fb346ef05ec489ac000f4d720d92c6b647e06"}, - {file = "azure_mgmt_applicationinsights-4.0.0-py3-none-any.whl", hash = "sha256:2b1ffd9a0114974455795c73a3a5d17c849e32b961d707d2db393b99254b576f"}, + {file = "azure_mgmt_applicationinsights-4.1.0-py3-none-any.whl", hash = "sha256:9e71f29b01e505a773501451d12fd6a10482cf4b13e9ac2bff72f5380496d979"}, + {file = "azure_mgmt_applicationinsights-4.1.0.tar.gz", hash = "sha256:15531390f12ce3d767cd3f1949af36aa39077c145c952fec4d80303c86ec7b6c"}, ] [package.dependencies] -azure-common = ">=1.1,<2.0" -azure-mgmt-core = ">=1.3.2,<2.0.0" -isodate = ">=0.6.1,<1.0.0" +azure-common = ">=1.1" +azure-mgmt-core = ">=1.3.2" +isodate = ">=0.6.1" +typing-extensions = ">=4.6.0" [[package]] name = "azure-mgmt-authorization" @@ -420,31 +422,32 @@ typing-extensions = ">=4.6.0" [[package]] name = "azure-mgmt-containerregistry" -version = "10.3.0" +version = "12.0.0" description = "Microsoft Azure Container Registry Client Library for Python" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" groups = ["main"] files = [ - {file = "azure-mgmt-containerregistry-10.3.0.tar.gz", hash = "sha256:ae21651855dfb19c42d91d6b3a965c6c611e23f8bc4bf7138835e652d2f918e3"}, - {file = "azure_mgmt_containerregistry-10.3.0-py3-none-any.whl", hash = "sha256:851e1c57f9bc4a3589c6b21fb627c11fd6cbb57a0388b7dfccd530ba3160805f"}, + {file = "azure_mgmt_containerregistry-12.0.0-py3-none-any.whl", hash = "sha256:464abd4d3d9ecc0456ed8f63a6b9b93afc2e3e194f2d34f26a758afb67ad3b5c"}, + {file = "azure_mgmt_containerregistry-12.0.0.tar.gz", hash = "sha256:f19f8faa7881deaf2b5015c0eb050a92e2380cd9d18dee33cdb5f27d44a06c03"}, ] [package.dependencies] -azure-common = ">=1.1,<2.0" -azure-mgmt-core = ">=1.3.2,<2.0.0" -isodate = ">=0.6.1,<1.0.0" +azure-common = ">=1.1" +azure-mgmt-core = ">=1.3.2" +isodate = ">=0.6.1" +typing-extensions = ">=4.6.0" [[package]] name = "azure-mgmt-containerservice" -version = "34.0.0" +version = "34.1.0" description = "Microsoft Azure Container Service Management Client Library for Python" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "azure_mgmt_containerservice-34.0.0-py3-none-any.whl", hash = "sha256:34be8172241e3c2c444682407970a938f60e3b2bd06304eaae0a1ba641f2262d"}, - {file = "azure_mgmt_containerservice-34.0.0.tar.gz", hash = "sha256:822d07828b746a5ea5408a8b3770f41dc424d6c4c28de53c29611b62bef8aea3"}, + {file = "azure_mgmt_containerservice-34.1.0-py3-none-any.whl", hash = "sha256:1faa1714e0100c6ee4cfb8d2eadb1c270b548a84b0070c74e9fe646056a5cb12"}, + {file = "azure_mgmt_containerservice-34.1.0.tar.gz", hash = "sha256:637a6cf8f06636c016ad151d76f9c7ba75bd05d4334b3dd7837eb8b517f30dbe"}, ] [package.dependencies] @@ -558,14 +561,14 @@ msrest = ">=0.6.21" [[package]] name = "azure-mgmt-resource" -version = "23.2.0" +version = "23.3.0" description = "Microsoft Azure Resource Management Client Library for Python" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "azure_mgmt_resource-23.2.0-py3-none-any.whl", hash = "sha256:7af2bca928ecd58e57ea7f7731d245f45e9d927036d82f1d30b96baa0c26b569"}, - {file = "azure_mgmt_resource-23.2.0.tar.gz", hash = "sha256:747b750df7af23ab30e53d3f36247ab0c16de1e267d666b1a5077c39a4292529"}, + {file = "azure_mgmt_resource-23.3.0-py3-none-any.whl", hash = "sha256:ab216ee28e29db6654b989746e0c85a1181f66653929d2cb6e48fba66d9af323"}, + {file = "azure_mgmt_resource-23.3.0.tar.gz", hash = "sha256:fc4f1fd8b6aad23f8af4ed1f913df5f5c92df117449dc354fea6802a2829fea4"}, ] [package.dependencies] @@ -627,20 +630,21 @@ msrest = ">=0.6.21" [[package]] name = "azure-mgmt-storage" -version = "21.2.1" +version = "22.1.1" description = "Microsoft Azure Storage Management Client Library for Python" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "azure-mgmt-storage-21.2.1.tar.gz", hash = "sha256:503a7ff9c31254092b0656445f5728bfdfda2d09d46a82e97019eaa9a1ecec64"}, - {file = "azure_mgmt_storage-21.2.1-py3-none-any.whl", hash = "sha256:f97df1fa39cde9dbacf2cd96c9cba1fc196932185e24853e276f74b18a0bd031"}, + {file = "azure_mgmt_storage-22.1.1-py3-none-any.whl", hash = "sha256:a4a4064918dcfa4f1cbebada5bf064935d66f2a3647a2f46a1f1c9348736f5d9"}, + {file = "azure_mgmt_storage-22.1.1.tar.gz", hash = "sha256:25aaa5ae8c40c30e2f91f8aae6f52906b0557e947d5c1b9817d4ff9decc11340"}, ] [package.dependencies] azure-common = ">=1.1" azure-mgmt-core = ">=1.3.2" isodate = ">=0.6.1" +typing-extensions = ">=4.6.0" [[package]] name = "azure-mgmt-subscription" @@ -789,14 +793,14 @@ crt = ["awscrt (==0.22.0)"] [[package]] name = "cachetools" -version = "5.5.1" +version = "5.5.2" description = "Extensible memoizing collections and decorators" optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "cachetools-5.5.1-py3-none-any.whl", hash = "sha256:b76651fdc3b24ead3c648bbdeeb940c1b04d365b38b4af66788f9ec4a81d42bb"}, - {file = "cachetools-5.5.1.tar.gz", hash = "sha256:70f238fbba50383ef62e55c6aff6d9673175fe59f7c6782c7a0b9e38f4a9df95"}, + {file = "cachetools-5.5.2-py3-none-any.whl", hash = "sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a"}, + {file = "cachetools-5.5.2.tar.gz", hash = "sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4"}, ] [[package]] @@ -1356,38 +1360,38 @@ files = [ [[package]] name = "debugpy" -version = "1.8.12" +version = "1.8.14" description = "An implementation of the Debug Adapter Protocol for Python" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "debugpy-1.8.12-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:a2ba7ffe58efeae5b8fad1165357edfe01464f9aef25e814e891ec690e7dd82a"}, - {file = "debugpy-1.8.12-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbbd4149c4fc5e7d508ece083e78c17442ee13b0e69bfa6bd63003e486770f45"}, - {file = "debugpy-1.8.12-cp310-cp310-win32.whl", hash = "sha256:b202f591204023b3ce62ff9a47baa555dc00bb092219abf5caf0e3718ac20e7c"}, - {file = "debugpy-1.8.12-cp310-cp310-win_amd64.whl", hash = "sha256:9649eced17a98ce816756ce50433b2dd85dfa7bc92ceb60579d68c053f98dff9"}, - {file = "debugpy-1.8.12-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:36f4829839ef0afdfdd208bb54f4c3d0eea86106d719811681a8627ae2e53dd5"}, - {file = "debugpy-1.8.12-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a28ed481d530e3138553be60991d2d61103ce6da254e51547b79549675f539b7"}, - {file = "debugpy-1.8.12-cp311-cp311-win32.whl", hash = "sha256:4ad9a94d8f5c9b954e0e3b137cc64ef3f579d0df3c3698fe9c3734ee397e4abb"}, - {file = "debugpy-1.8.12-cp311-cp311-win_amd64.whl", hash = "sha256:4703575b78dd697b294f8c65588dc86874ed787b7348c65da70cfc885efdf1e1"}, - {file = "debugpy-1.8.12-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:7e94b643b19e8feb5215fa508aee531387494bf668b2eca27fa769ea11d9f498"}, - {file = "debugpy-1.8.12-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:086b32e233e89a2740c1615c2f775c34ae951508b28b308681dbbb87bba97d06"}, - {file = "debugpy-1.8.12-cp312-cp312-win32.whl", hash = "sha256:2ae5df899732a6051b49ea2632a9ea67f929604fd2b036613a9f12bc3163b92d"}, - {file = "debugpy-1.8.12-cp312-cp312-win_amd64.whl", hash = "sha256:39dfbb6fa09f12fae32639e3286112fc35ae976114f1f3d37375f3130a820969"}, - {file = "debugpy-1.8.12-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:696d8ae4dff4cbd06bf6b10d671e088b66669f110c7c4e18a44c43cf75ce966f"}, - {file = "debugpy-1.8.12-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:898fba72b81a654e74412a67c7e0a81e89723cfe2a3ea6fcd3feaa3395138ca9"}, - {file = "debugpy-1.8.12-cp313-cp313-win32.whl", hash = "sha256:22a11c493c70413a01ed03f01c3c3a2fc4478fc6ee186e340487b2edcd6f4180"}, - {file = "debugpy-1.8.12-cp313-cp313-win_amd64.whl", hash = "sha256:fdb3c6d342825ea10b90e43d7f20f01535a72b3a1997850c0c3cefa5c27a4a2c"}, - {file = "debugpy-1.8.12-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:b0232cd42506d0c94f9328aaf0d1d0785f90f87ae72d9759df7e5051be039738"}, - {file = "debugpy-1.8.12-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9af40506a59450f1315168d47a970db1a65aaab5df3833ac389d2899a5d63b3f"}, - {file = "debugpy-1.8.12-cp38-cp38-win32.whl", hash = "sha256:5cc45235fefac57f52680902b7d197fb2f3650112379a6fa9aa1b1c1d3ed3f02"}, - {file = "debugpy-1.8.12-cp38-cp38-win_amd64.whl", hash = "sha256:557cc55b51ab2f3371e238804ffc8510b6ef087673303890f57a24195d096e61"}, - {file = "debugpy-1.8.12-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:b5c6c967d02fee30e157ab5227706f965d5c37679c687b1e7bbc5d9e7128bd41"}, - {file = "debugpy-1.8.12-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88a77f422f31f170c4b7e9ca58eae2a6c8e04da54121900651dfa8e66c29901a"}, - {file = "debugpy-1.8.12-cp39-cp39-win32.whl", hash = "sha256:a4042edef80364239f5b7b5764e55fd3ffd40c32cf6753da9bda4ff0ac466018"}, - {file = "debugpy-1.8.12-cp39-cp39-win_amd64.whl", hash = "sha256:f30b03b0f27608a0b26c75f0bb8a880c752c0e0b01090551b9d87c7d783e2069"}, - {file = "debugpy-1.8.12-py2.py3-none-any.whl", hash = "sha256:274b6a2040349b5c9864e475284bce5bb062e63dce368a394b8cc865ae3b00c6"}, - {file = "debugpy-1.8.12.tar.gz", hash = "sha256:646530b04f45c830ceae8e491ca1c9320a2d2f0efea3141487c82130aba70dce"}, + {file = "debugpy-1.8.14-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:93fee753097e85623cab1c0e6a68c76308cd9f13ffdf44127e6fab4fbf024339"}, + {file = "debugpy-1.8.14-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d937d93ae4fa51cdc94d3e865f535f185d5f9748efb41d0d49e33bf3365bd79"}, + {file = "debugpy-1.8.14-cp310-cp310-win32.whl", hash = "sha256:c442f20577b38cc7a9aafecffe1094f78f07fb8423c3dddb384e6b8f49fd2987"}, + {file = "debugpy-1.8.14-cp310-cp310-win_amd64.whl", hash = "sha256:f117dedda6d969c5c9483e23f573b38f4e39412845c7bc487b6f2648df30fe84"}, + {file = "debugpy-1.8.14-cp311-cp311-macosx_14_0_universal2.whl", hash = "sha256:1b2ac8c13b2645e0b1eaf30e816404990fbdb168e193322be8f545e8c01644a9"}, + {file = "debugpy-1.8.14-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf431c343a99384ac7eab2f763980724834f933a271e90496944195318c619e2"}, + {file = "debugpy-1.8.14-cp311-cp311-win32.whl", hash = "sha256:c99295c76161ad8d507b413cd33422d7c542889fbb73035889420ac1fad354f2"}, + {file = "debugpy-1.8.14-cp311-cp311-win_amd64.whl", hash = "sha256:7816acea4a46d7e4e50ad8d09d963a680ecc814ae31cdef3622eb05ccacf7b01"}, + {file = "debugpy-1.8.14-cp312-cp312-macosx_14_0_universal2.whl", hash = "sha256:8899c17920d089cfa23e6005ad9f22582fd86f144b23acb9feeda59e84405b84"}, + {file = "debugpy-1.8.14-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6bb5c0dcf80ad5dbc7b7d6eac484e2af34bdacdf81df09b6a3e62792b722826"}, + {file = "debugpy-1.8.14-cp312-cp312-win32.whl", hash = "sha256:281d44d248a0e1791ad0eafdbbd2912ff0de9eec48022a5bfbc332957487ed3f"}, + {file = "debugpy-1.8.14-cp312-cp312-win_amd64.whl", hash = "sha256:5aa56ef8538893e4502a7d79047fe39b1dae08d9ae257074c6464a7b290b806f"}, + {file = "debugpy-1.8.14-cp313-cp313-macosx_14_0_universal2.whl", hash = "sha256:329a15d0660ee09fec6786acdb6e0443d595f64f5d096fc3e3ccf09a4259033f"}, + {file = "debugpy-1.8.14-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f920c7f9af409d90f5fd26e313e119d908b0dd2952c2393cd3247a462331f15"}, + {file = "debugpy-1.8.14-cp313-cp313-win32.whl", hash = "sha256:3784ec6e8600c66cbdd4ca2726c72d8ca781e94bce2f396cc606d458146f8f4e"}, + {file = "debugpy-1.8.14-cp313-cp313-win_amd64.whl", hash = "sha256:684eaf43c95a3ec39a96f1f5195a7ff3d4144e4a18d69bb66beeb1a6de605d6e"}, + {file = "debugpy-1.8.14-cp38-cp38-macosx_14_0_x86_64.whl", hash = "sha256:d5582bcbe42917bc6bbe5c12db1bffdf21f6bfc28d4554b738bf08d50dc0c8c3"}, + {file = "debugpy-1.8.14-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5349b7c3735b766a281873fbe32ca9cca343d4cc11ba4a743f84cb854339ff35"}, + {file = "debugpy-1.8.14-cp38-cp38-win32.whl", hash = "sha256:7118d462fe9724c887d355eef395fae68bc764fd862cdca94e70dcb9ade8a23d"}, + {file = "debugpy-1.8.14-cp38-cp38-win_amd64.whl", hash = "sha256:d235e4fa78af2de4e5609073972700523e372cf5601742449970110d565ca28c"}, + {file = "debugpy-1.8.14-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:413512d35ff52c2fb0fd2d65e69f373ffd24f0ecb1fac514c04a668599c5ce7f"}, + {file = "debugpy-1.8.14-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c9156f7524a0d70b7a7e22b2e311d8ba76a15496fb00730e46dcdeedb9e1eea"}, + {file = "debugpy-1.8.14-cp39-cp39-win32.whl", hash = "sha256:b44985f97cc3dd9d52c42eb59ee9d7ee0c4e7ecd62bca704891f997de4cef23d"}, + {file = "debugpy-1.8.14-cp39-cp39-win_amd64.whl", hash = "sha256:b1528cfee6c1b1c698eb10b6b096c598738a8238822d218173d21c3086de8123"}, + {file = "debugpy-1.8.14-py2.py3-none-any.whl", hash = "sha256:5cd9a579d553b6cb9759a7908a41988ee6280b961f24f63336835d9418216a20"}, + {file = "debugpy-1.8.14.tar.gz", hash = "sha256:7cd287184318416850aa8b60ac90105837bb1e59531898c07569d197d2ed5322"}, ] [[package]] @@ -1430,14 +1434,14 @@ word-list = ["pyahocorasick"] [[package]] name = "dill" -version = "0.3.9" +version = "0.4.0" description = "serialize all of Python" optional = false python-versions = ">=3.8" groups = ["dev"] files = [ - {file = "dill-0.3.9-py3-none-any.whl", hash = "sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a"}, - {file = "dill-0.3.9.tar.gz", hash = "sha256:81aa267dddf68cbfe8029c42ca9ec6a4ab3b22371d1c450abc54422577b4512c"}, + {file = "dill-0.4.0-py3-none-any.whl", hash = "sha256:44f54bf6412c2c8464c14e8243eb163690a9800dbe2c367330883b19c7561049"}, + {file = "dill-0.4.0.tar.gz", hash = "sha256:0633f1d2df477324f53a895b02c901fb961bdbf65a17122586ea7019292cbcf0"}, ] [package.extras] @@ -1511,39 +1515,39 @@ steam = ["python3-openid (>=3.0.8)"] [[package]] name = "django-celery-beat" -version = "2.7.0" +version = "2.8.0" description = "Database-backed Periodic Tasks." optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "django_celery_beat-2.7.0-py3-none-any.whl", hash = "sha256:851c680d8fbf608ca5fecd5836622beea89fa017bc2b3f94a5b8c648c32d84b1"}, - {file = "django_celery_beat-2.7.0.tar.gz", hash = "sha256:8482034925e09b698c05ad61c36ed2a8dbc436724a3fe119215193a4ca6dc967"}, + {file = "django_celery_beat-2.8.0-py3-none-any.whl", hash = "sha256:f8fd2e1ffbfa8e570ab9439383b2cd15a6642b347662d0de79c62ba6f68d4b38"}, + {file = "django_celery_beat-2.8.0.tar.gz", hash = "sha256:955bfb3c4b8f1026a8d20144d0da39c941e1eb23acbaee9e12a7e7cc1f74959a"}, ] [package.dependencies] celery = ">=5.2.3,<6.0" cron-descriptor = ">=1.2.32" -Django = ">=2.2,<5.2" +Django = ">=2.2,<6.0" django-timezone-field = ">=5.0" python-crontab = ">=2.3.4" tzdata = "*" [[package]] name = "django-celery-results" -version = "2.5.1" +version = "2.6.0" description = "Celery result backends for Django." optional = false python-versions = "*" groups = ["main"] files = [ - {file = "django_celery_results-2.5.1-py3-none-any.whl", hash = "sha256:0da4cd5ecc049333e4524a23fcfc3460dfae91aa0a60f1fae4b6b2889c254e01"}, - {file = "django_celery_results-2.5.1.tar.gz", hash = "sha256:3ecb7147f773f34d0381bac6246337ce4cf88a2ea7b82774ed48e518b67bb8fd"}, + {file = "django_celery_results-2.6.0-py3-none-any.whl", hash = "sha256:b9ccdca2695b98c7cbbb8dea742311ba9a92773d71d7b4944a676e69a7df1c73"}, + {file = "django_celery_results-2.6.0.tar.gz", hash = "sha256:9abcd836ae6b61063779244d8887a88fe80bbfaba143df36d3cb07034671277c"}, ] [package.dependencies] celery = ">=5.2.7,<6.0" -Django = ">=3.2.18" +Django = ">=3.2.25" [[package]] name = "django-cors-headers" @@ -1702,26 +1706,26 @@ openapi = ["pyyaml (>=5.4)", "uritemplate (>=3.0.1)"] [[package]] name = "djangorestframework-simplejwt" -version = "5.4.0" +version = "5.5.0" description = "A minimal JSON Web Token authentication plugin for Django REST Framework" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "djangorestframework_simplejwt-5.4.0-py3-none-any.whl", hash = "sha256:7aec953db9ed4163430c16d086eecb0f028f814ce6bba62b06c25919261e9077"}, - {file = "djangorestframework_simplejwt-5.4.0.tar.gz", hash = "sha256:cccecce1a0e1a4a240fae80da73e5fc23055bababb8b67de88fa47cd36822320"}, + {file = "djangorestframework_simplejwt-5.5.0-py3-none-any.whl", hash = "sha256:4ef6b38af20cdde4a4a51d1fd8e063cbbabb7b45f149cc885d38d905c5a62edb"}, + {file = "djangorestframework_simplejwt-5.5.0.tar.gz", hash = "sha256:474a1b737067e6462b3609627a392d13a4da8a08b1f0574104ac6d7b1406f90e"}, ] [package.dependencies] django = ">=4.2" djangorestframework = ">=3.14" -pyjwt = ">=1.7.1,<3" +pyjwt = ">=1.7.1,<2.10.0" [package.extras] crypto = ["cryptography (>=3.3.1)"] -dev = ["Sphinx (>=1.6.5,<2)", "cryptography", "flake8", "freezegun", "ipython", "isort", "pep8", "pytest", "pytest-cov", "pytest-django", "pytest-watch", "pytest-xdist", "python-jose (==3.3.0)", "sphinx_rtd_theme (>=0.1.9)", "tox", "twine", "wheel"] +dev = ["Sphinx (>=1.6.5,<2)", "cryptography", "freezegun", "ipython", "pre-commit", "pytest", "pytest-cov", "pytest-django", "pytest-watch", "pytest-xdist", "python-jose (==3.3.0)", "pyupgrade", "ruff", "sphinx_rtd_theme (>=0.1.9)", "tox", "twine", "wheel", "yesqa"] doc = ["Sphinx (>=1.6.5,<2)", "sphinx_rtd_theme (>=0.1.9)"] -lint = ["flake8", "isort", "pep8"] +lint = ["pre-commit", "pyupgrade", "ruff", "yesqa"] python-jose = ["python-jose (==3.3.0)"] test = ["cryptography", "freezegun", "pytest", "pytest-cov", "pytest-django", "pytest-xdist", "tox"] @@ -1792,18 +1796,20 @@ poetry = ["poetry"] [[package]] name = "drf-extensions" -version = "0.7.1" +version = "0.8.0" description = "Extensions for Django REST Framework" optional = false python-versions = "*" groups = ["main"] files = [ - {file = "drf-extensions-0.7.1.tar.gz", hash = "sha256:90abfc11a2221e8daf4cd54457e41ed38cd71134678de9622e806193db027db1"}, - {file = "drf_extensions-0.7.1-py2.py3-none-any.whl", hash = "sha256:007910437e64aa1d5ad6fc47266a4ac4280e31761e6458eb30fcac7494ac7d4e"}, + {file = "drf_extensions-0.8.0-py2.py3-none-any.whl", hash = "sha256:ab7bd854c9061c27ab55233b66d758001e5c2d81aaa9d117cbbe1c9ea49c77ab"}, + {file = "drf_extensions-0.8.0.tar.gz", hash = "sha256:c3f27bca74a2def53e8454a5c7b327595195df51e121743120b2f51ef5a52aaa"}, ] [package.dependencies] -djangorestframework = ">=3.9.3" +Django = ">=2.2,<6.0" +djangorestframework = ">=3.10.3" +packaging = ">=24.1" [[package]] name = "drf-nested-routers" @@ -1964,124 +1970,136 @@ python-dateutil = ">=2.7" [[package]] name = "frozenlist" -version = "1.5.0" +version = "1.6.0" description = "A list-like structure which implements collections.abc.MutableSequence" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5b6a66c18b5b9dd261ca98dffcb826a525334b2f29e7caa54e182255c5f6a65a"}, - {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d1b3eb7b05ea246510b43a7e53ed1653e55c2121019a97e60cad7efb881a97bb"}, - {file = "frozenlist-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15538c0cbf0e4fa11d1e3a71f823524b0c46299aed6e10ebb4c2089abd8c3bec"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e79225373c317ff1e35f210dd5f1344ff31066ba8067c307ab60254cd3a78ad5"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9272fa73ca71266702c4c3e2d4a28553ea03418e591e377a03b8e3659d94fa76"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:498524025a5b8ba81695761d78c8dd7382ac0b052f34e66939c42df860b8ff17"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92b5278ed9d50fe610185ecd23c55d8b307d75ca18e94c0e7de328089ac5dcba"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f3c8c1dacd037df16e85227bac13cca58c30da836c6f936ba1df0c05d046d8d"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2ac49a9bedb996086057b75bf93538240538c6d9b38e57c82d51f75a73409d2"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e66cc454f97053b79c2ab09c17fbe3c825ea6b4de20baf1be28919460dd7877f"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3ba5f9a0dfed20337d3e966dc359784c9f96503674c2faf015f7fe8e96798c"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6321899477db90bdeb9299ac3627a6a53c7399c8cd58d25da094007402b039ab"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76e4753701248476e6286f2ef492af900ea67d9706a0155335a40ea21bf3b2f5"}, - {file = "frozenlist-1.5.0-cp310-cp310-win32.whl", hash = "sha256:977701c081c0241d0955c9586ffdd9ce44f7a7795df39b9151cd9a6fd0ce4cfb"}, - {file = "frozenlist-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:189f03b53e64144f90990d29a27ec4f7997d91ed3d01b51fa39d2dbe77540fd4"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fd74520371c3c4175142d02a976aee0b4cb4a7cc912a60586ffd8d5929979b30"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2f3f7a0fbc219fb4455264cae4d9f01ad41ae6ee8524500f381de64ffaa077d5"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f47c9c9028f55a04ac254346e92977bf0f166c483c74b4232bee19a6697e4778"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0996c66760924da6e88922756d99b47512a71cfd45215f3570bf1e0b694c206a"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2fe128eb4edeabe11896cb6af88fca5346059f6c8d807e3b910069f39157869"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a8ea951bbb6cacd492e3948b8da8c502a3f814f5d20935aae74b5df2b19cf3d"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de537c11e4aa01d37db0d403b57bd6f0546e71a82347a97c6a9f0dcc532b3a45"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c2623347b933fcb9095841f1cc5d4ff0b278addd743e0e966cb3d460278840d"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cee6798eaf8b1416ef6909b06f7dc04b60755206bddc599f52232606e18179d3"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f5f9da7f5dbc00a604fe74aa02ae7c98bcede8a3b8b9666f9f86fc13993bc71a"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:90646abbc7a5d5c7c19461d2e3eeb76eb0b204919e6ece342feb6032c9325ae9"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bdac3c7d9b705d253b2ce370fde941836a5f8b3c5c2b8fd70940a3ea3af7f4f2"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03d33c2ddbc1816237a67f66336616416e2bbb6beb306e5f890f2eb22b959cdf"}, - {file = "frozenlist-1.5.0-cp311-cp311-win32.whl", hash = "sha256:237f6b23ee0f44066219dae14c70ae38a63f0440ce6750f868ee08775073f942"}, - {file = "frozenlist-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:0cc974cc93d32c42e7b0f6cf242a6bd941c57c61b618e78b6c0a96cb72788c1d"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f"}, - {file = "frozenlist-1.5.0-cp312-cp312-win32.whl", hash = "sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8"}, - {file = "frozenlist-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a1a048f9215c90973402e26c01d1cff8a209e1f1b53f72b95c13db61b00f953"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd47a5181ce5fcb463b5d9e17ecfdb02b678cca31280639255ce9d0e5aa67af0"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1431d60b36d15cda188ea222033eec8e0eab488f39a272461f2e6d9e1a8e63c2"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6482a5851f5d72767fbd0e507e80737f9c8646ae7fd303def99bfe813f76cf7f"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44c49271a937625619e862baacbd037a7ef86dd1ee215afc298a417ff3270608"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12f78f98c2f1c2429d42e6a485f433722b0061d5c0b0139efa64f396efb5886b"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce3aa154c452d2467487765e3adc730a8c153af77ad84096bc19ce19a2400840"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b7dc0c4338e6b8b091e8faf0db3168a37101943e687f373dce00959583f7439"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45e0896250900b5aa25180f9aec243e84e92ac84bd4a74d9ad4138ef3f5c97de"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:561eb1c9579d495fddb6da8959fd2a1fca2c6d060d4113f5844b433fc02f2641"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:df6e2f325bfee1f49f81aaac97d2aa757c7646534a06f8f577ce184afe2f0a9e"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:140228863501b44b809fb39ec56b5d4071f4d0aa6d216c19cbb08b8c5a7eadb9"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7707a25d6a77f5d27ea7dc7d1fc608aa0a478193823f88511ef5e6b8a48f9d03"}, - {file = "frozenlist-1.5.0-cp313-cp313-win32.whl", hash = "sha256:31a9ac2b38ab9b5a8933b693db4939764ad3f299fcaa931a3e605bc3460e693c"}, - {file = "frozenlist-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:11aabdd62b8b9c4b84081a3c246506d1cddd2dd93ff0ad53ede5defec7886b28"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dd94994fc91a6177bfaafd7d9fd951bc8689b0a98168aa26b5f543868548d3ca"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0da8bbec082bf6bf18345b180958775363588678f64998c2b7609e34719b10"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73f2e31ea8dd7df61a359b731716018c2be196e5bb3b74ddba107f694fbd7604"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:828afae9f17e6de596825cf4228ff28fbdf6065974e5ac1410cecc22f699d2b3"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1577515d35ed5649d52ab4319db757bb881ce3b2b796d7283e6634d99ace307"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2150cc6305a2c2ab33299453e2968611dacb970d2283a14955923062c8d00b10"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a72b7a6e3cd2725eff67cd64c8f13335ee18fc3c7befc05aed043d24c7b9ccb9"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c16d2fa63e0800723139137d667e1056bee1a1cf7965153d2d104b62855e9b99"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:17dcc32fc7bda7ce5875435003220a457bcfa34ab7924a49a1c19f55b6ee185c"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:97160e245ea33d8609cd2b8fd997c850b56db147a304a262abc2b3be021a9171"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f1e6540b7fa044eee0bb5111ada694cf3dc15f2b0347ca125ee9ca984d5e9e6e"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:91d6c171862df0a6c61479d9724f22efb6109111017c87567cfeb7b5d1449fdf"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c1fac3e2ace2eb1052e9f7c7db480818371134410e1f5c55d65e8f3ac6d1407e"}, - {file = "frozenlist-1.5.0-cp38-cp38-win32.whl", hash = "sha256:b97f7b575ab4a8af9b7bc1d2ef7f29d3afee2226bd03ca3875c16451ad5a7723"}, - {file = "frozenlist-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:374ca2dabdccad8e2a76d40b1d037f5bd16824933bf7bcea3e59c891fd4a0923"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9bbcdfaf4af7ce002694a4e10a0159d5a8d20056a12b05b45cea944a4953f972"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1893f948bf6681733aaccf36c5232c231e3b5166d607c5fa77773611df6dc336"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b5e23253bb709ef57a8e95e6ae48daa9ac5f265637529e4ce6b003a37b2621f"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f253985bb515ecd89629db13cb58d702035ecd8cfbca7d7a7e29a0e6d39af5f"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04a5c6babd5e8fb7d3c871dc8b321166b80e41b637c31a995ed844a6139942b6"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fe0f1c29ba24ba6ff6abf688cb0b7cf1efab6b6aa6adc55441773c252f7411"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:226d72559fa19babe2ccd920273e767c96a49b9d3d38badd7c91a0fdeda8ea08"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b731db116ab3aedec558573c1a5eec78822b32292fe4f2f0345b7f697745c2"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:366d8f93e3edfe5a918c874702f78faac300209a4d5bf38352b2c1bdc07a766d"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1b96af8c582b94d381a1c1f51ffaedeb77c821c690ea5f01da3d70a487dd0a9b"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c03eff4a41bd4e38415cbed054bbaff4a075b093e2394b6915dca34a40d1e38b"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:50cf5e7ee9b98f22bdecbabf3800ae78ddcc26e4a435515fc72d97903e8488e0"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e76bfbc72353269c44e0bc2cfe171900fbf7f722ad74c9a7b638052afe6a00c"}, - {file = "frozenlist-1.5.0-cp39-cp39-win32.whl", hash = "sha256:666534d15ba8f0fda3f53969117383d5dc021266b3c1a42c9ec4855e4b58b9d3"}, - {file = "frozenlist-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:5c28f4b5dbef8a0d8aad0d4de24d1e9e981728628afaf4ea0792f5d0939372f0"}, - {file = "frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3"}, - {file = "frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817"}, + {file = "frozenlist-1.6.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e6e558ea1e47fd6fa8ac9ccdad403e5dd5ecc6ed8dda94343056fa4277d5c65e"}, + {file = "frozenlist-1.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f4b3cd7334a4bbc0c472164f3744562cb72d05002cc6fcf58adb104630bbc352"}, + {file = "frozenlist-1.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9799257237d0479736e2b4c01ff26b5c7f7694ac9692a426cb717f3dc02fff9b"}, + {file = "frozenlist-1.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a7bb0fe1f7a70fb5c6f497dc32619db7d2cdd53164af30ade2f34673f8b1fc"}, + {file = "frozenlist-1.6.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:36d2fc099229f1e4237f563b2a3e0ff7ccebc3999f729067ce4e64a97a7f2869"}, + {file = "frozenlist-1.6.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f27a9f9a86dcf00708be82359db8de86b80d029814e6693259befe82bb58a106"}, + {file = "frozenlist-1.6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75ecee69073312951244f11b8627e3700ec2bfe07ed24e3a685a5979f0412d24"}, + {file = "frozenlist-1.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2c7d5aa19714b1b01a0f515d078a629e445e667b9da869a3cd0e6fe7dec78bd"}, + {file = "frozenlist-1.6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69bbd454f0fb23b51cadc9bdba616c9678e4114b6f9fa372d462ff2ed9323ec8"}, + {file = "frozenlist-1.6.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7daa508e75613809c7a57136dec4871a21bca3080b3a8fc347c50b187df4f00c"}, + {file = "frozenlist-1.6.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:89ffdb799154fd4d7b85c56d5fa9d9ad48946619e0eb95755723fffa11022d75"}, + {file = "frozenlist-1.6.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:920b6bd77d209931e4c263223381d63f76828bec574440f29eb497cf3394c249"}, + {file = "frozenlist-1.6.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d3ceb265249fb401702fce3792e6b44c1166b9319737d21495d3611028d95769"}, + {file = "frozenlist-1.6.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:52021b528f1571f98a7d4258c58aa8d4b1a96d4f01d00d51f1089f2e0323cb02"}, + {file = "frozenlist-1.6.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0f2ca7810b809ed0f1917293050163c7654cefc57a49f337d5cd9de717b8fad3"}, + {file = "frozenlist-1.6.0-cp310-cp310-win32.whl", hash = "sha256:0e6f8653acb82e15e5443dba415fb62a8732b68fe09936bb6d388c725b57f812"}, + {file = "frozenlist-1.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:f1a39819a5a3e84304cd286e3dc62a549fe60985415851b3337b6f5cc91907f1"}, + {file = "frozenlist-1.6.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae8337990e7a45683548ffb2fee1af2f1ed08169284cd829cdd9a7fa7470530d"}, + {file = "frozenlist-1.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8c952f69dd524558694818a461855f35d36cc7f5c0adddce37e962c85d06eac0"}, + {file = "frozenlist-1.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8f5fef13136c4e2dee91bfb9a44e236fff78fc2cd9f838eddfc470c3d7d90afe"}, + {file = "frozenlist-1.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:716bbba09611b4663ecbb7cd022f640759af8259e12a6ca939c0a6acd49eedba"}, + {file = "frozenlist-1.6.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7b8c4dc422c1a3ffc550b465090e53b0bf4839047f3e436a34172ac67c45d595"}, + {file = "frozenlist-1.6.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b11534872256e1666116f6587a1592ef395a98b54476addb5e8d352925cb5d4a"}, + {file = "frozenlist-1.6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c6eceb88aaf7221f75be6ab498dc622a151f5f88d536661af3ffc486245a626"}, + {file = "frozenlist-1.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62c828a5b195570eb4b37369fcbbd58e96c905768d53a44d13044355647838ff"}, + {file = "frozenlist-1.6.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1c6bd2c6399920c9622362ce95a7d74e7f9af9bfec05fff91b8ce4b9647845a"}, + {file = "frozenlist-1.6.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:49ba23817781e22fcbd45fd9ff2b9b8cdb7b16a42a4851ab8025cae7b22e96d0"}, + {file = "frozenlist-1.6.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:431ef6937ae0f853143e2ca67d6da76c083e8b1fe3df0e96f3802fd37626e606"}, + {file = "frozenlist-1.6.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9d124b38b3c299ca68433597ee26b7819209cb8a3a9ea761dfe9db3a04bba584"}, + {file = "frozenlist-1.6.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:118e97556306402e2b010da1ef21ea70cb6d6122e580da64c056b96f524fbd6a"}, + {file = "frozenlist-1.6.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:fb3b309f1d4086b5533cf7bbcf3f956f0ae6469664522f1bde4feed26fba60f1"}, + {file = "frozenlist-1.6.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:54dece0d21dce4fdb188a1ffc555926adf1d1c516e493c2914d7c370e454bc9e"}, + {file = "frozenlist-1.6.0-cp311-cp311-win32.whl", hash = "sha256:654e4ba1d0b2154ca2f096bed27461cf6160bc7f504a7f9a9ef447c293caf860"}, + {file = "frozenlist-1.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:3e911391bffdb806001002c1f860787542f45916c3baf764264a52765d5a5603"}, + {file = "frozenlist-1.6.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c5b9e42ace7d95bf41e19b87cec8f262c41d3510d8ad7514ab3862ea2197bfb1"}, + {file = "frozenlist-1.6.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ca9973735ce9f770d24d5484dcb42f68f135351c2fc81a7a9369e48cf2998a29"}, + {file = "frozenlist-1.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6ac40ec76041c67b928ca8aaffba15c2b2ee3f5ae8d0cb0617b5e63ec119ca25"}, + {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95b7a8a3180dfb280eb044fdec562f9b461614c0ef21669aea6f1d3dac6ee576"}, + {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c444d824e22da6c9291886d80c7d00c444981a72686e2b59d38b285617cb52c8"}, + {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb52c8166499a8150bfd38478248572c924c003cbb45fe3bcd348e5ac7c000f9"}, + {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b35298b2db9c2468106278537ee529719228950a5fdda686582f68f247d1dc6e"}, + {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d108e2d070034f9d57210f22fefd22ea0d04609fc97c5f7f5a686b3471028590"}, + {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e1be9111cb6756868ac242b3c2bd1f09d9aea09846e4f5c23715e7afb647103"}, + {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:94bb451c664415f02f07eef4ece976a2c65dcbab9c2f1705b7031a3a75349d8c"}, + {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:d1a686d0b0949182b8faddea596f3fc11f44768d1f74d4cad70213b2e139d821"}, + {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:ea8e59105d802c5a38bdbe7362822c522230b3faba2aa35c0fa1765239b7dd70"}, + {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:abc4e880a9b920bc5020bf6a431a6bb40589d9bca3975c980495f63632e8382f"}, + {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9a79713adfe28830f27a3c62f6b5406c37376c892b05ae070906f07ae4487046"}, + {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9a0318c2068e217a8f5e3b85e35899f5a19e97141a45bb925bb357cfe1daf770"}, + {file = "frozenlist-1.6.0-cp312-cp312-win32.whl", hash = "sha256:853ac025092a24bb3bf09ae87f9127de9fe6e0c345614ac92536577cf956dfcc"}, + {file = "frozenlist-1.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:2bdfe2d7e6c9281c6e55523acd6c2bf77963cb422fdc7d142fb0cb6621b66878"}, + {file = "frozenlist-1.6.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1d7fb014fe0fbfee3efd6a94fc635aeaa68e5e1720fe9e57357f2e2c6e1a647e"}, + {file = "frozenlist-1.6.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01bcaa305a0fdad12745502bfd16a1c75b14558dabae226852f9159364573117"}, + {file = "frozenlist-1.6.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8b314faa3051a6d45da196a2c495e922f987dc848e967d8cfeaee8a0328b1cd4"}, + {file = "frozenlist-1.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da62fecac21a3ee10463d153549d8db87549a5e77eefb8c91ac84bb42bb1e4e3"}, + {file = "frozenlist-1.6.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d1eb89bf3454e2132e046f9599fbcf0a4483ed43b40f545551a39316d0201cd1"}, + {file = "frozenlist-1.6.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d18689b40cb3936acd971f663ccb8e2589c45db5e2c5f07e0ec6207664029a9c"}, + {file = "frozenlist-1.6.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e67ddb0749ed066b1a03fba812e2dcae791dd50e5da03be50b6a14d0c1a9ee45"}, + {file = "frozenlist-1.6.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fc5e64626e6682638d6e44398c9baf1d6ce6bc236d40b4b57255c9d3f9761f1f"}, + {file = "frozenlist-1.6.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:437cfd39564744ae32ad5929e55b18ebd88817f9180e4cc05e7d53b75f79ce85"}, + {file = "frozenlist-1.6.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:62dd7df78e74d924952e2feb7357d826af8d2f307557a779d14ddf94d7311be8"}, + {file = "frozenlist-1.6.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:a66781d7e4cddcbbcfd64de3d41a61d6bdde370fc2e38623f30b2bd539e84a9f"}, + {file = "frozenlist-1.6.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:482fe06e9a3fffbcd41950f9d890034b4a54395c60b5e61fae875d37a699813f"}, + {file = "frozenlist-1.6.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:e4f9373c500dfc02feea39f7a56e4f543e670212102cc2eeb51d3a99c7ffbde6"}, + {file = "frozenlist-1.6.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e69bb81de06827147b7bfbaeb284d85219fa92d9f097e32cc73675f279d70188"}, + {file = "frozenlist-1.6.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7613d9977d2ab4a9141dde4a149f4357e4065949674c5649f920fec86ecb393e"}, + {file = "frozenlist-1.6.0-cp313-cp313-win32.whl", hash = "sha256:4def87ef6d90429f777c9d9de3961679abf938cb6b7b63d4a7eb8a268babfce4"}, + {file = "frozenlist-1.6.0-cp313-cp313-win_amd64.whl", hash = "sha256:37a8a52c3dfff01515e9bbbee0e6063181362f9de3db2ccf9bc96189b557cbfd"}, + {file = "frozenlist-1.6.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:46138f5a0773d064ff663d273b309b696293d7a7c00a0994c5c13a5078134b64"}, + {file = "frozenlist-1.6.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f88bc0a2b9c2a835cb888b32246c27cdab5740059fb3688852bf91e915399b91"}, + {file = "frozenlist-1.6.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:777704c1d7655b802c7850255639672e90e81ad6fa42b99ce5ed3fbf45e338dd"}, + {file = "frozenlist-1.6.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85ef8d41764c7de0dcdaf64f733a27352248493a85a80661f3c678acd27e31f2"}, + {file = "frozenlist-1.6.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:da5cb36623f2b846fb25009d9d9215322318ff1c63403075f812b3b2876c8506"}, + {file = "frozenlist-1.6.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cbb56587a16cf0fb8acd19e90ff9924979ac1431baea8681712716a8337577b0"}, + {file = "frozenlist-1.6.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6154c3ba59cda3f954c6333025369e42c3acd0c6e8b6ce31eb5c5b8116c07e0"}, + {file = "frozenlist-1.6.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e8246877afa3f1ae5c979fe85f567d220f86a50dc6c493b9b7d8191181ae01e"}, + {file = "frozenlist-1.6.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b0f6cce16306d2e117cf9db71ab3a9e8878a28176aeaf0dbe35248d97b28d0c"}, + {file = "frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:1b8e8cd8032ba266f91136d7105706ad57770f3522eac4a111d77ac126a25a9b"}, + {file = "frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:e2ada1d8515d3ea5378c018a5f6d14b4994d4036591a52ceaf1a1549dec8e1ad"}, + {file = "frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:cdb2c7f071e4026c19a3e32b93a09e59b12000751fc9b0b7758da899e657d215"}, + {file = "frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:03572933a1969a6d6ab509d509e5af82ef80d4a5d4e1e9f2e1cdd22c77a3f4d2"}, + {file = "frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:77effc978947548b676c54bbd6a08992759ea6f410d4987d69feea9cd0919911"}, + {file = "frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a2bda8be77660ad4089caf2223fdbd6db1858462c4b85b67fbfa22102021e497"}, + {file = "frozenlist-1.6.0-cp313-cp313t-win32.whl", hash = "sha256:a4d96dc5bcdbd834ec6b0f91027817214216b5b30316494d2b1aebffb87c534f"}, + {file = "frozenlist-1.6.0-cp313-cp313t-win_amd64.whl", hash = "sha256:e18036cb4caa17ea151fd5f3d70be9d354c99eb8cf817a3ccde8a7873b074348"}, + {file = "frozenlist-1.6.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:536a1236065c29980c15c7229fbb830dedf809708c10e159b8136534233545f0"}, + {file = "frozenlist-1.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ed5e3a4462ff25ca84fb09e0fada8ea267df98a450340ead4c91b44857267d70"}, + {file = "frozenlist-1.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e19c0fc9f4f030fcae43b4cdec9e8ab83ffe30ec10c79a4a43a04d1af6c5e1ad"}, + {file = "frozenlist-1.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7c608f833897501dac548585312d73a7dca028bf3b8688f0d712b7acfaf7fb3"}, + {file = "frozenlist-1.6.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0dbae96c225d584f834b8d3cc688825911960f003a85cb0fd20b6e5512468c42"}, + {file = "frozenlist-1.6.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:625170a91dd7261a1d1c2a0c1a353c9e55d21cd67d0852185a5fef86587e6f5f"}, + {file = "frozenlist-1.6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1db8b2fc7ee8a940b547a14c10e56560ad3ea6499dc6875c354e2335812f739d"}, + {file = "frozenlist-1.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4da6fc43048b648275a220e3a61c33b7fff65d11bdd6dcb9d9c145ff708b804c"}, + {file = "frozenlist-1.6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ef8e7e8f2f3820c5f175d70fdd199b79e417acf6c72c5d0aa8f63c9f721646f"}, + {file = "frozenlist-1.6.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:aa733d123cc78245e9bb15f29b44ed9e5780dc6867cfc4e544717b91f980af3b"}, + {file = "frozenlist-1.6.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:ba7f8d97152b61f22d7f59491a781ba9b177dd9f318486c5fbc52cde2db12189"}, + {file = "frozenlist-1.6.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:56a0b8dd6d0d3d971c91f1df75e824986667ccce91e20dca2023683814344791"}, + {file = "frozenlist-1.6.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:5c9e89bf19ca148efcc9e3c44fd4c09d5af85c8a7dd3dbd0da1cb83425ef4983"}, + {file = "frozenlist-1.6.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:1330f0a4376587face7637dfd245380a57fe21ae8f9d360c1c2ef8746c4195fa"}, + {file = "frozenlist-1.6.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2187248203b59625566cac53572ec8c2647a140ee2738b4e36772930377a533c"}, + {file = "frozenlist-1.6.0-cp39-cp39-win32.whl", hash = "sha256:2b8cf4cfea847d6c12af06091561a89740f1f67f331c3fa8623391905e878530"}, + {file = "frozenlist-1.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:1255d5d64328c5a0d066ecb0f02034d086537925f1f04b50b1ae60d37afbf572"}, + {file = "frozenlist-1.6.0-py3-none-any.whl", hash = "sha256:535eec9987adb04701266b92745d6cdcef2e77669299359c3009c3404dd5d191"}, + {file = "frozenlist-1.6.0.tar.gz", hash = "sha256:b99655c32c1c8e06d111e7f41c06c29a5318cb1835df23a45518e02a47c63b68"}, ] [[package]] name = "google-api-core" -version = "2.24.1" +version = "2.24.2" description = "Google API client core library" optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "google_api_core-2.24.1-py3-none-any.whl", hash = "sha256:bc78d608f5a5bf853b80bd70a795f703294de656c096c0968320830a4bc280f1"}, - {file = "google_api_core-2.24.1.tar.gz", hash = "sha256:f8b36f5456ab0dd99a1b693a40a31d1e7757beea380ad1b38faaf8941eae9d8a"}, + {file = "google_api_core-2.24.2-py3-none-any.whl", hash = "sha256:810a63ac95f3c441b7c0e43d344e372887f62ce9071ba972eacf32672e072de9"}, + {file = "google_api_core-2.24.2.tar.gz", hash = "sha256:81718493daf06d96d6bc76a91c23874dbf2fac0adbbf542831b805ee6e974696"}, ] [package.dependencies] -google-auth = ">=2.14.1,<3.0.dev0" -googleapis-common-protos = ">=1.56.2,<2.0.dev0" -proto-plus = ">=1.22.3,<2.0.0dev" -protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0.dev0" -requests = ">=2.18.0,<3.0.0.dev0" +google-auth = ">=2.14.1,<3.0.0" +googleapis-common-protos = ">=1.56.2,<2.0.0" +proto-plus = ">=1.22.3,<2.0.0" +protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<7.0.0" +requests = ">=2.18.0,<3.0.0" [package.extras] async-rest = ["google-auth[aiohttp] (>=2.35.0,<3.0.dev0)"] @@ -2091,14 +2109,14 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] [[package]] name = "google-api-python-client" -version = "2.161.0" +version = "2.163.0" description = "Google API Client Library for Python" optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "google_api_python_client-2.161.0-py2.py3-none-any.whl", hash = "sha256:9476a5a4f200bae368140453df40f9cda36be53fa7d0e9a9aac4cdb859a26448"}, - {file = "google_api_python_client-2.161.0.tar.gz", hash = "sha256:324c0cce73e9ea0a0d2afd5937e01b7c2d6a4d7e2579cdb6c384f9699d6c9f37"}, + {file = "google_api_python_client-2.163.0-py2.py3-none-any.whl", hash = "sha256:080e8bc0669cb4c1fb8efb8da2f5b91a2625d8f0e7796cfad978f33f7016c6c4"}, + {file = "google_api_python_client-2.163.0.tar.gz", hash = "sha256:88dee87553a2d82176e2224648bf89272d536c8f04dcdda37ef0a71473886dd7"}, ] [package.dependencies] @@ -2110,14 +2128,14 @@ uritemplate = ">=3.0.1,<5" [[package]] name = "google-auth" -version = "2.38.0" +version = "2.39.0" description = "Google Authentication Library" optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "google_auth-2.38.0-py2.py3-none-any.whl", hash = "sha256:e7dae6694313f434a2727bf2906f27ad259bae090d7aa896590d86feec3d9d4a"}, - {file = "google_auth-2.38.0.tar.gz", hash = "sha256:8285113607d3b80a3f1543b75962447ba8a09fe85783432a784fdeef6ac094c4"}, + {file = "google_auth-2.39.0-py2.py3-none-any.whl", hash = "sha256:0150b6711e97fb9f52fe599f55648950cc4540015565d8fbb31be2ad6e1548a2"}, + {file = "google_auth-2.39.0.tar.gz", hash = "sha256:73222d43cdc35a3aeacbfdcaf73142a97839f10de930550d89ebfe1d0a00cde7"}, ] [package.dependencies] @@ -2126,12 +2144,14 @@ pyasn1-modules = ">=0.2.1" rsa = ">=3.1.4,<5" [package.extras] -aiohttp = ["aiohttp (>=3.6.2,<4.0.0.dev0)", "requests (>=2.20.0,<3.0.0.dev0)"] +aiohttp = ["aiohttp (>=3.6.2,<4.0.0)", "requests (>=2.20.0,<3.0.0)"] enterprise-cert = ["cryptography", "pyopenssl"] -pyjwt = ["cryptography (>=38.0.3)", "pyjwt (>=2.0)"] -pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] +pyjwt = ["cryptography (<39.0.0) ; python_version < \"3.8\"", "cryptography (>=38.0.3)", "pyjwt (>=2.0)"] +pyopenssl = ["cryptography (<39.0.0) ; python_version < \"3.8\"", "cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] reauth = ["pyu2f (>=0.1.5)"] -requests = ["requests (>=2.20.0,<3.0.0.dev0)"] +requests = ["requests (>=2.20.0,<3.0.0)"] +testing = ["aiohttp (<3.10.0)", "aiohttp (>=3.6.2,<4.0.0)", "aioresponses", "cryptography (<39.0.0) ; python_version < \"3.8\"", "cryptography (>=38.0.3)", "flask", "freezegun", "grpcio", "mock", "oauth2client", "packaging", "pyjwt (>=2.0)", "pyopenssl (<24.3.0)", "pyopenssl (>=20.0.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-localserver", "pyu2f (>=0.1.5)", "requests (>=2.20.0,<3.0.0)", "responses", "urllib3"] +urllib3 = ["packaging", "urllib3"] [[package]] name = "google-auth-httplib2" @@ -2151,32 +2171,32 @@ httplib2 = ">=0.19.0" [[package]] name = "googleapis-common-protos" -version = "1.66.0" +version = "1.70.0" description = "Common protobufs used in Google APIs" optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "googleapis_common_protos-1.66.0-py2.py3-none-any.whl", hash = "sha256:d7abcd75fabb2e0ec9f74466401f6c119a0b498e27370e9be4c94cb7e382b8ed"}, - {file = "googleapis_common_protos-1.66.0.tar.gz", hash = "sha256:c3e7b33d15fdca5374cc0a7346dd92ffa847425cc4ea941d970f13680052ec8c"}, + {file = "googleapis_common_protos-1.70.0-py3-none-any.whl", hash = "sha256:b8bfcca8c25a2bb253e0e0b0adaf8c00773e5e6af6fd92397576680b807e0fd8"}, + {file = "googleapis_common_protos-1.70.0.tar.gz", hash = "sha256:0e1b44e0ea153e6594f9f394fef15193a68aaaea2d843f83e2742717ca753257"}, ] [package.dependencies] -protobuf = ">=3.20.2,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0.dev0" +protobuf = ">=3.20.2,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<7.0.0" [package.extras] -grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] +grpc = ["grpcio (>=1.44.0,<2.0.0)"] [[package]] name = "gprof2dot" -version = "2024.6.6" +version = "2025.4.14" description = "Generate a dot graph from the output of several profilers." optional = false python-versions = ">=3.8" groups = ["dev"] files = [ - {file = "gprof2dot-2024.6.6-py2.py3-none-any.whl", hash = "sha256:45b14ad7ce64e299c8f526881007b9eb2c6b75505d5613e96e66ee4d5ab33696"}, - {file = "gprof2dot-2024.6.6.tar.gz", hash = "sha256:fa1420c60025a9eb7734f65225b4da02a10fc6dd741b37fa129bc6b41951e5ab"}, + {file = "gprof2dot-2025.4.14-py3-none-any.whl", hash = "sha256:0742e4c0b4409a5e8777e739388a11e1ed3750be86895655312ea7c20bd0090e"}, + {file = "gprof2dot-2025.4.14.tar.gz", hash = "sha256:35743e2d2ca027bf48fa7cba37021aaf4a27beeae1ae8e05a50b55f1f921a6ce"}, ] [[package]] @@ -2257,14 +2277,14 @@ files = [ [[package]] name = "httpcore" -version = "1.0.7" +version = "1.0.8" description = "A minimal low-level HTTP client." optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd"}, - {file = "httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c"}, + {file = "httpcore-1.0.8-py3-none-any.whl", hash = "sha256:5254cf149bcb5f75e9d1b2b9f729ea4a4b883d1ad7379fc632b727cec23674be"}, + {file = "httpcore-1.0.8.tar.gz", hash = "sha256:86e94505ed24ea06514883fd44d2bc02d90e77e7979c8eb71b90f41d364a1bad"}, ] [package.dependencies] @@ -2347,14 +2367,14 @@ all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2 [[package]] name = "importlib-metadata" -version = "8.5.0" +version = "8.6.1" description = "Read metadata from Python packages" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, - {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, + {file = "importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e"}, + {file = "importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580"}, ] [package.dependencies] @@ -2366,7 +2386,7 @@ cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3) ; python_version < \"3.9\"", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +test = ["flufl.flake8", "importlib_resources (>=1.3) ; python_version < \"3.9\"", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] type = ["pytest-mypy"] [[package]] @@ -2383,14 +2403,14 @@ files = [ [[package]] name = "iniconfig" -version = "2.0.0" +version = "2.1.0" description = "brain-dead simple config-ini parsing" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" groups = ["main", "dev"] files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, + {file = "iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760"}, + {file = "iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7"}, ] [[package]] @@ -2501,19 +2521,19 @@ referencing = ">=0.31.0" [[package]] name = "kombu" -version = "5.4.2" +version = "5.5.3" description = "Messaging library for Python." optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "kombu-5.4.2-py3-none-any.whl", hash = "sha256:14212f5ccf022fc0a70453bb025a1dcc32782a588c49ea866884047d66e14763"}, - {file = "kombu-5.4.2.tar.gz", hash = "sha256:eef572dd2fd9fc614b37580e3caeafdd5af46c1eff31e7fba89138cdb406f2cf"}, + {file = "kombu-5.5.3-py3-none-any.whl", hash = "sha256:5b0dbceb4edee50aa464f59469d34b97864be09111338cfb224a10b6a163909b"}, + {file = "kombu-5.5.3.tar.gz", hash = "sha256:021a0e11fcfcd9b0260ef1fb64088c0e92beb976eb59c1dfca7ddd4ad4562ea2"}, ] [package.dependencies] amqp = ">=5.1.1,<6.0.0" -tzdata = {version = "*", markers = "python_version >= \"3.9\""} +tzdata = {version = ">=2025.2", markers = "python_version >= \"3.9\""} vine = "5.1.0" [package.extras] @@ -2521,15 +2541,16 @@ azureservicebus = ["azure-servicebus (>=7.10.0)"] azurestoragequeues = ["azure-identity (>=1.12.0)", "azure-storage-queue (>=12.6.0)"] confluentkafka = ["confluent-kafka (>=2.2.0)"] consul = ["python-consul2 (==0.1.5)"] +gcpubsub = ["google-cloud-monitoring (>=2.16.0)", "google-cloud-pubsub (>=2.18.4)", "grpcio (==1.67.0)", "protobuf (==4.25.5)"] librabbitmq = ["librabbitmq (>=2.0.0) ; python_version < \"3.11\""] mongodb = ["pymongo (>=4.1.1)"] msgpack = ["msgpack (==1.1.0)"] pyro = ["pyro4 (==4.82)"] qpid = ["qpid-python (>=0.26)", "qpid-tools (>=0.26)"] -redis = ["redis (>=4.5.2,!=4.5.5,!=5.0.2)"] -slmq = ["softlayer-messaging (>=1.0.3)"] +redis = ["redis (>=4.5.2,!=4.5.5,!=5.0.2,<=5.2.1)"] +slmq = ["softlayer_messaging (>=1.0.3)"] sqlalchemy = ["sqlalchemy (>=1.4.48,<2.1)"] -sqs = ["boto3 (>=1.26.143)", "pycurl (>=7.43.0.5) ; sys_platform != \"win32\" and platform_python_implementation == \"CPython\"", "urllib3 (>=1.26.16)"] +sqs = ["boto3 (>=1.26.143)", "urllib3 (>=1.26.16)"] yaml = ["PyYAML (>=3.10)"] zookeeper = ["kazoo (>=2.8.0)"] @@ -2817,18 +2838,18 @@ microsoft-kiota-abstractions = ">=1.9.2,<1.10.0" [[package]] name = "msal" -version = "1.31.1" +version = "1.32.0" description = "The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect." optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "msal-1.31.1-py3-none-any.whl", hash = "sha256:29d9882de247e96db01386496d59f29035e5e841bcac892e6d7bf4390bf6bd17"}, - {file = "msal-1.31.1.tar.gz", hash = "sha256:11b5e6a3f802ffd3a72107203e20c4eac6ef53401961b880af2835b723d80578"}, + {file = "msal-1.32.0-py3-none-any.whl", hash = "sha256:9dbac5384a10bbbf4dae5c7ea0d707d14e087b92c5aa4954b3feaa2d1aa0bcb7"}, + {file = "msal-1.32.0.tar.gz", hash = "sha256:5445fe3af1da6be484991a7ab32eaa82461dc2347de105b76af92c610c3335c2"}, ] [package.dependencies] -cryptography = ">=2.5,<46" +cryptography = ">=2.5,<47" PyJWT = {version = ">=1.0.0,<3", extras = ["crypto"]} requests = ">=2.0.0,<3" @@ -2837,30 +2858,32 @@ broker = ["pymsalruntime (>=0.14,<0.18) ; python_version >= \"3.6\" and platform [[package]] name = "msal-extensions" -version = "1.2.0" +version = "1.3.1" description = "Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Windows, macOS and Linux. Concurrent data access will be coordinated by a file lock mechanism." optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "msal_extensions-1.2.0-py3-none-any.whl", hash = "sha256:cf5ba83a2113fa6dc011a254a72f1c223c88d7dfad74cc30617c4679a417704d"}, - {file = "msal_extensions-1.2.0.tar.gz", hash = "sha256:6f41b320bfd2933d631a215c91ca0dd3e67d84bd1a2f50ce917d5874ec646bef"}, + {file = "msal_extensions-1.3.1-py3-none-any.whl", hash = "sha256:96d3de4d034504e969ac5e85bae8106c8373b5c6568e4c8fa7af2eca9dbe6bca"}, + {file = "msal_extensions-1.3.1.tar.gz", hash = "sha256:c5b0fd10f65ef62b5f1d62f4251d51cbcaf003fcedae8c91b040a488614be1a4"}, ] [package.dependencies] msal = ">=1.29,<2" -portalocker = ">=1.4,<3" + +[package.extras] +portalocker = ["portalocker (>=1.4,<4)"] [[package]] name = "msgraph-core" -version = "1.3.1" +version = "1.3.3" description = "Core component of the Microsoft Graph Python SDK" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "msgraph_core-1.3.1-py3-none-any.whl", hash = "sha256:a6e3c19c36d43d00edfb49225647a357f8189351c226c3b7c020c5dfaa24171b"}, - {file = "msgraph_core-1.3.1.tar.gz", hash = "sha256:91c721b4c741d0e9a536e3c43e1cbd2254928b4d207e4f994e9cc7cb7a25bd74"}, + {file = "msgraph_core-1.3.3-py3-none-any.whl", hash = "sha256:9dbbc0c88e174c1d5da1c17d286965d6b26ebaf24996c7af64a39e2069006cf6"}, + {file = "msgraph_core-1.3.3.tar.gz", hash = "sha256:a3226b08b4cf9b6dbb16b868be21d5f82d8ee514ae8e46d9f0cad896159ef8d3"}, ] [package.dependencies] @@ -2874,26 +2897,23 @@ dev = ["bumpver", "isort", "mypy", "pylint", "pytest", "yapf"] [[package]] name = "msgraph-sdk" -version = "1.18.0" +version = "1.23.0" description = "The Microsoft Graph Python SDK" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "msgraph_sdk-1.18.0-py3-none-any.whl", hash = "sha256:f09b015bb9d7690bc6f30c9a28f9a414107aaf06be4952c27b3653dcdf33f2a3"}, - {file = "msgraph_sdk-1.18.0.tar.gz", hash = "sha256:ef49166ada7b459b5a843ceb3d253c1ab99d8987ebf3112147eb6cbcaa101793"}, + {file = "msgraph_sdk-1.23.0-py3-none-any.whl", hash = "sha256:58e0047b4ca59fd82022c02cd73fec0170a3d84f3b76721e3db2a0314df9a58a"}, + {file = "msgraph_sdk-1.23.0.tar.gz", hash = "sha256:6dd1ba9a46f5f0ce8599fd9610133adbd9d1493941438b5d3632fce9e55ed607"}, ] [package.dependencies] azure-identity = ">=1.12.0" -microsoft-kiota-abstractions = ">=1.3.0,<2.0.0" -microsoft-kiota-authentication-azure = ">=1.0.0,<2.0.0" -microsoft-kiota-http = ">=1.0.0,<2.0.0" -microsoft-kiota-serialization-form = ">=0.1.0" -microsoft-kiota-serialization-json = ">=1.3.0,<2.0.0" -microsoft-kiota-serialization-multipart = ">=0.1.0" -microsoft-kiota-serialization-text = ">=1.0.0,<2.0.0" -msgraph_core = ">=1.0.0" +microsoft-kiota-serialization-form = ">=1.8.0,<2.0.0" +microsoft-kiota-serialization-json = ">=1.8.0,<2.0.0" +microsoft-kiota-serialization-multipart = ">=1.8.0,<2.0.0" +microsoft-kiota-serialization-text = ">=1.8.0,<2.0.0" +msgraph_core = ">=1.3.1" [package.extras] dev = ["bumpver", "isort", "mypy", "pylint", "pytest", "yapf"] @@ -2922,104 +2942,116 @@ async = ["aiodns ; python_version >= \"3.5\"", "aiohttp (>=3.0) ; python_version [[package]] name = "multidict" -version = "6.1.0" +version = "6.4.3" description = "multidict implementation" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60"}, - {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1"}, - {file = "multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7"}, - {file = "multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0"}, - {file = "multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753"}, - {file = "multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80"}, - {file = "multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3"}, - {file = "multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133"}, - {file = "multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6"}, - {file = "multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81"}, - {file = "multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd"}, - {file = "multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167"}, - {file = "multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43"}, - {file = "multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada"}, - {file = "multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a"}, - {file = "multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506"}, - {file = "multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a"}, + {file = "multidict-6.4.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:32a998bd8a64ca48616eac5a8c1cc4fa38fb244a3facf2eeb14abe186e0f6cc5"}, + {file = "multidict-6.4.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a54ec568f1fc7f3c313c2f3b16e5db346bf3660e1309746e7fccbbfded856188"}, + {file = "multidict-6.4.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a7be07e5df178430621c716a63151165684d3e9958f2bbfcb644246162007ab7"}, + {file = "multidict-6.4.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b128dbf1c939674a50dd0b28f12c244d90e5015e751a4f339a96c54f7275e291"}, + {file = "multidict-6.4.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b9cb19dfd83d35b6ff24a4022376ea6e45a2beba8ef3f0836b8a4b288b6ad685"}, + {file = "multidict-6.4.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3cf62f8e447ea2c1395afa289b332e49e13d07435369b6f4e41f887db65b40bf"}, + {file = "multidict-6.4.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:909f7d43ff8f13d1adccb6a397094adc369d4da794407f8dd592c51cf0eae4b1"}, + {file = "multidict-6.4.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0bb8f8302fbc7122033df959e25777b0b7659b1fd6bcb9cb6bed76b5de67afef"}, + {file = "multidict-6.4.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:224b79471b4f21169ea25ebc37ed6f058040c578e50ade532e2066562597b8a9"}, + {file = "multidict-6.4.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a7bd27f7ab3204f16967a6f899b3e8e9eb3362c0ab91f2ee659e0345445e0078"}, + {file = "multidict-6.4.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:99592bd3162e9c664671fd14e578a33bfdba487ea64bcb41d281286d3c870ad7"}, + {file = "multidict-6.4.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a62d78a1c9072949018cdb05d3c533924ef8ac9bcb06cbf96f6d14772c5cd451"}, + {file = "multidict-6.4.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:3ccdde001578347e877ca4f629450973c510e88e8865d5aefbcb89b852ccc666"}, + {file = "multidict-6.4.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:eccb67b0e78aa2e38a04c5ecc13bab325a43e5159a181a9d1a6723db913cbb3c"}, + {file = "multidict-6.4.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8b6fcf6054fc4114a27aa865f8840ef3d675f9316e81868e0ad5866184a6cba5"}, + {file = "multidict-6.4.3-cp310-cp310-win32.whl", hash = "sha256:f92c7f62d59373cd93bc9969d2da9b4b21f78283b1379ba012f7ee8127b3152e"}, + {file = "multidict-6.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:b57e28dbc031d13916b946719f213c494a517b442d7b48b29443e79610acd887"}, + {file = "multidict-6.4.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f6f19170197cc29baccd33ccc5b5d6a331058796485857cf34f7635aa25fb0cd"}, + {file = "multidict-6.4.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f2882bf27037eb687e49591690e5d491e677272964f9ec7bc2abbe09108bdfb8"}, + {file = "multidict-6.4.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fbf226ac85f7d6b6b9ba77db4ec0704fde88463dc17717aec78ec3c8546c70ad"}, + {file = "multidict-6.4.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e329114f82ad4b9dd291bef614ea8971ec119ecd0f54795109976de75c9a852"}, + {file = "multidict-6.4.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:1f4e0334d7a555c63f5c8952c57ab6f1c7b4f8c7f3442df689fc9f03df315c08"}, + {file = "multidict-6.4.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:740915eb776617b57142ce0bb13b7596933496e2f798d3d15a20614adf30d229"}, + {file = "multidict-6.4.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255dac25134d2b141c944b59a0d2f7211ca12a6d4779f7586a98b4b03ea80508"}, + {file = "multidict-6.4.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4e8535bd4d741039b5aad4285ecd9b902ef9e224711f0b6afda6e38d7ac02c7"}, + {file = "multidict-6.4.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c433a33be000dd968f5750722eaa0991037be0be4a9d453eba121774985bc8"}, + {file = "multidict-6.4.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4eb33b0bdc50acd538f45041f5f19945a1f32b909b76d7b117c0c25d8063df56"}, + {file = "multidict-6.4.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:75482f43465edefd8a5d72724887ccdcd0c83778ded8f0cb1e0594bf71736cc0"}, + {file = "multidict-6.4.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ce5b3082e86aee80b3925ab4928198450d8e5b6466e11501fe03ad2191c6d777"}, + {file = "multidict-6.4.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e413152e3212c4d39f82cf83c6f91be44bec9ddea950ce17af87fbf4e32ca6b2"}, + {file = "multidict-6.4.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:8aac2eeff69b71f229a405c0a4b61b54bade8e10163bc7b44fcd257949620618"}, + {file = "multidict-6.4.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ab583ac203af1d09034be41458feeab7863c0635c650a16f15771e1386abf2d7"}, + {file = "multidict-6.4.3-cp311-cp311-win32.whl", hash = "sha256:1b2019317726f41e81154df636a897de1bfe9228c3724a433894e44cd2512378"}, + {file = "multidict-6.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:43173924fa93c7486402217fab99b60baf78d33806af299c56133a3755f69589"}, + {file = "multidict-6.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1f1c2f58f08b36f8475f3ec6f5aeb95270921d418bf18f90dffd6be5c7b0e676"}, + {file = "multidict-6.4.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:26ae9ad364fc61b936fb7bf4c9d8bd53f3a5b4417142cd0be5c509d6f767e2f1"}, + {file = "multidict-6.4.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:659318c6c8a85f6ecfc06b4e57529e5a78dfdd697260cc81f683492ad7e9435a"}, + {file = "multidict-6.4.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1eb72c741fd24d5a28242ce72bb61bc91f8451877131fa3fe930edb195f7054"}, + {file = "multidict-6.4.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3cd06d88cb7398252284ee75c8db8e680aa0d321451132d0dba12bc995f0adcc"}, + {file = "multidict-6.4.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4543d8dc6470a82fde92b035a92529317191ce993533c3c0c68f56811164ed07"}, + {file = "multidict-6.4.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:30a3ebdc068c27e9d6081fca0e2c33fdf132ecea703a72ea216b81a66860adde"}, + {file = "multidict-6.4.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b038f10e23f277153f86f95c777ba1958bcd5993194fda26a1d06fae98b2f00c"}, + {file = "multidict-6.4.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c605a2b2dc14282b580454b9b5d14ebe0668381a3a26d0ac39daa0ca115eb2ae"}, + {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8bd2b875f4ca2bb527fe23e318ddd509b7df163407b0fb717df229041c6df5d3"}, + {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c2e98c840c9c8e65c0e04b40c6c5066c8632678cd50c8721fdbcd2e09f21a507"}, + {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:66eb80dd0ab36dbd559635e62fba3083a48a252633164857a1d1684f14326427"}, + {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c23831bdee0a2a3cf21be057b5e5326292f60472fb6c6f86392bbf0de70ba731"}, + {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1535cec6443bfd80d028052e9d17ba6ff8a5a3534c51d285ba56c18af97e9713"}, + {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3b73e7227681f85d19dec46e5b881827cd354aabe46049e1a61d2f9aaa4e285a"}, + {file = "multidict-6.4.3-cp312-cp312-win32.whl", hash = "sha256:8eac0c49df91b88bf91f818e0a24c1c46f3622978e2c27035bfdca98e0e18124"}, + {file = "multidict-6.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:11990b5c757d956cd1db7cb140be50a63216af32cd6506329c2c59d732d802db"}, + {file = "multidict-6.4.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a76534263d03ae0cfa721fea40fd2b5b9d17a6f85e98025931d41dc49504474"}, + {file = "multidict-6.4.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:805031c2f599eee62ac579843555ed1ce389ae00c7e9f74c2a1b45e0564a88dd"}, + {file = "multidict-6.4.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c56c179839d5dcf51d565132185409d1d5dd8e614ba501eb79023a6cab25576b"}, + {file = "multidict-6.4.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c64f4ddb3886dd8ab71b68a7431ad4aa01a8fa5be5b11543b29674f29ca0ba3"}, + {file = "multidict-6.4.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3002a856367c0b41cad6784f5b8d3ab008eda194ed7864aaa58f65312e2abcac"}, + {file = "multidict-6.4.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3d75e621e7d887d539d6e1d789f0c64271c250276c333480a9e1de089611f790"}, + {file = "multidict-6.4.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:995015cf4a3c0d72cbf453b10a999b92c5629eaf3a0c3e1efb4b5c1f602253bb"}, + {file = "multidict-6.4.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2b0fabae7939d09d7d16a711468c385272fa1b9b7fb0d37e51143585d8e72e0"}, + {file = "multidict-6.4.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:61ed4d82f8a1e67eb9eb04f8587970d78fe7cddb4e4d6230b77eda23d27938f9"}, + {file = "multidict-6.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:062428944a8dc69df9fdc5d5fc6279421e5f9c75a9ee3f586f274ba7b05ab3c8"}, + {file = "multidict-6.4.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:b90e27b4674e6c405ad6c64e515a505c6d113b832df52fdacb6b1ffd1fa9a1d1"}, + {file = "multidict-6.4.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7d50d4abf6729921e9613d98344b74241572b751c6b37feed75fb0c37bd5a817"}, + {file = "multidict-6.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:43fe10524fb0a0514be3954be53258e61d87341008ce4914f8e8b92bee6f875d"}, + {file = "multidict-6.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:236966ca6c472ea4e2d3f02f6673ebfd36ba3f23159c323f5a496869bc8e47c9"}, + {file = "multidict-6.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:422a5ec315018e606473ba1f5431e064cf8b2a7468019233dcf8082fabad64c8"}, + {file = "multidict-6.4.3-cp313-cp313-win32.whl", hash = "sha256:f901a5aace8e8c25d78960dcc24c870c8d356660d3b49b93a78bf38eb682aac3"}, + {file = "multidict-6.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:1c152c49e42277bc9a2f7b78bd5fa10b13e88d1b0328221e7aef89d5c60a99a5"}, + {file = "multidict-6.4.3-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:be8751869e28b9c0d368d94f5afcb4234db66fe8496144547b4b6d6a0645cfc6"}, + {file = "multidict-6.4.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0d4b31f8a68dccbcd2c0ea04f0e014f1defc6b78f0eb8b35f2265e8716a6df0c"}, + {file = "multidict-6.4.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:032efeab3049e37eef2ff91271884303becc9e54d740b492a93b7e7266e23756"}, + {file = "multidict-6.4.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e78006af1a7c8a8007e4f56629d7252668344442f66982368ac06522445e375"}, + {file = "multidict-6.4.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:daeac9dd30cda8703c417e4fddccd7c4dc0c73421a0b54a7da2713be125846be"}, + {file = "multidict-6.4.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f6f90700881438953eae443a9c6f8a509808bc3b185246992c4233ccee37fea"}, + {file = "multidict-6.4.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f84627997008390dd15762128dcf73c3365f4ec0106739cde6c20a07ed198ec8"}, + {file = "multidict-6.4.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3307b48cd156153b117c0ea54890a3bdbf858a5b296ddd40dc3852e5f16e9b02"}, + {file = "multidict-6.4.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ead46b0fa1dcf5af503a46e9f1c2e80b5d95c6011526352fa5f42ea201526124"}, + {file = "multidict-6.4.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:1748cb2743bedc339d63eb1bca314061568793acd603a6e37b09a326334c9f44"}, + {file = "multidict-6.4.3-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:acc9fa606f76fc111b4569348cc23a771cb52c61516dcc6bcef46d612edb483b"}, + {file = "multidict-6.4.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:31469d5832b5885adeb70982e531ce86f8c992334edd2f2254a10fa3182ac504"}, + {file = "multidict-6.4.3-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:ba46b51b6e51b4ef7bfb84b82f5db0dc5e300fb222a8a13b8cd4111898a869cf"}, + {file = "multidict-6.4.3-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:389cfefb599edf3fcfd5f64c0410da686f90f5f5e2c4d84e14f6797a5a337af4"}, + {file = "multidict-6.4.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:64bc2bbc5fba7b9db5c2c8d750824f41c6994e3882e6d73c903c2afa78d091e4"}, + {file = "multidict-6.4.3-cp313-cp313t-win32.whl", hash = "sha256:0ecdc12ea44bab2807d6b4a7e5eef25109ab1c82a8240d86d3c1fc9f3b72efd5"}, + {file = "multidict-6.4.3-cp313-cp313t-win_amd64.whl", hash = "sha256:7146a8742ea71b5d7d955bffcef58a9e6e04efba704b52a460134fefd10a8208"}, + {file = "multidict-6.4.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5427a2679e95a642b7f8b0f761e660c845c8e6fe3141cddd6b62005bd133fc21"}, + {file = "multidict-6.4.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:24a8caa26521b9ad09732972927d7b45b66453e6ebd91a3c6a46d811eeb7349b"}, + {file = "multidict-6.4.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6b5a272bc7c36a2cd1b56ddc6bff02e9ce499f9f14ee4a45c45434ef083f2459"}, + {file = "multidict-6.4.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edf74dc5e212b8c75165b435c43eb0d5e81b6b300a938a4eb82827119115e840"}, + {file = "multidict-6.4.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9f35de41aec4b323c71f54b0ca461ebf694fb48bec62f65221f52e0017955b39"}, + {file = "multidict-6.4.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae93e0ff43b6f6892999af64097b18561691ffd835e21a8348a441e256592e1f"}, + {file = "multidict-6.4.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5e3929269e9d7eff905d6971d8b8c85e7dbc72c18fb99c8eae6fe0a152f2e343"}, + {file = "multidict-6.4.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb6214fe1750adc2a1b801a199d64b5a67671bf76ebf24c730b157846d0e90d2"}, + {file = "multidict-6.4.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d79cf5c0c6284e90f72123f4a3e4add52d6c6ebb4a9054e88df15b8d08444c6"}, + {file = "multidict-6.4.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2427370f4a255262928cd14533a70d9738dfacadb7563bc3b7f704cc2360fc4e"}, + {file = "multidict-6.4.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:fbd8d737867912b6c5f99f56782b8cb81f978a97b4437a1c476de90a3e41c9a1"}, + {file = "multidict-6.4.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:0ee1bf613c448997f73fc4efb4ecebebb1c02268028dd4f11f011f02300cf1e8"}, + {file = "multidict-6.4.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:578568c4ba5f2b8abd956baf8b23790dbfdc953e87d5b110bce343b4a54fc9e7"}, + {file = "multidict-6.4.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:a059ad6b80de5b84b9fa02a39400319e62edd39d210b4e4f8c4f1243bdac4752"}, + {file = "multidict-6.4.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:dd53893675b729a965088aaadd6a1f326a72b83742b056c1065bdd2e2a42b4df"}, + {file = "multidict-6.4.3-cp39-cp39-win32.whl", hash = "sha256:abcfed2c4c139f25c2355e180bcc077a7cae91eefbb8b3927bb3f836c9586f1f"}, + {file = "multidict-6.4.3-cp39-cp39-win_amd64.whl", hash = "sha256:b1b389ae17296dd739015d5ddb222ee99fd66adeae910de21ac950e00979d897"}, + {file = "multidict-6.4.3-py3-none-any.whl", hash = "sha256:59fe01ee8e2a1e8ceb3f6dbb216b09c8d9f4ef1c22c4fc825d045a147fa2ebc9"}, + {file = "multidict-6.4.3.tar.gz", hash = "sha256:3ada0b058c9f213c5f95ba301f922d402ac234f1111a7d8fd70f1b99f3c281ec"}, ] [[package]] @@ -3071,42 +3103,39 @@ reports = ["lxml"] [[package]] name = "mypy-extensions" -version = "1.0.0" +version = "1.1.0" description = "Type system extensions for programs checked with the mypy type checker." optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" groups = ["dev"] files = [ - {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, - {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, + {file = "mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505"}, + {file = "mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558"}, ] [[package]] name = "narwhals" -version = "1.25.2" +version = "1.35.0" description = "Extremely lightweight compatibility layer between dataframe libraries" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "narwhals-1.25.2-py3-none-any.whl", hash = "sha256:e645f7fc1f8c0a3563a6cdcd0191586cdf88470ad90f0818abba7ceb6c181b00"}, - {file = "narwhals-1.25.2.tar.gz", hash = "sha256:37594746fc06fe4a588967a34a2974b1f3a7ad6ff1571b6e31ac5e58c9591000"}, + {file = "narwhals-1.35.0-py3-none-any.whl", hash = "sha256:7562af132fa3f8aaaf34dc96d7ec95bdca29d1c795e8fcf14e01edf1d32122bc"}, + {file = "narwhals-1.35.0.tar.gz", hash = "sha256:07477d18487fbc940243b69818a177ed7119b737910a8a254fb67688b48a7c96"}, ] [package.extras] -core = ["duckdb", "pandas", "polars", "pyarrow", "pyarrow-stubs"] cudf = ["cudf (>=24.10.0)"] dask = ["dask[dataframe] (>=2024.8)"] -dev = ["covdefaults", "hypothesis", "pre-commit", "pytest", "pytest-cov", "pytest-env", "pytest-randomly", "typing-extensions"] -docs = ["black", "duckdb", "jinja2", "markdown-exec[ansi]", "mkdocs", "mkdocs-autorefs", "mkdocs-material", "mkdocstrings[python]", "pandas", "polars (>=1.0.0)", "pyarrow"] duckdb = ["duckdb (>=1.0)"] -extra = ["scikit-learn"] ibis = ["ibis-framework (>=6.0.0)", "packaging", "pyarrow-hotfix", "rich"] modin = ["modin"] pandas = ["pandas (>=0.25.3)"] polars = ["polars (>=0.20.3)"] pyarrow = ["pyarrow (>=11.0.0)"] pyspark = ["pyspark (>=3.5.0)"] +sqlframe = ["sqlframe (>=3.22.0)"] [[package]] name = "nest-asyncio" @@ -3194,63 +3223,63 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] [[package]] name = "opentelemetry-api" -version = "1.30.0" +version = "1.32.1" description = "OpenTelemetry Python API" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "opentelemetry_api-1.30.0-py3-none-any.whl", hash = "sha256:d5f5284890d73fdf47f843dda3210edf37a38d66f44f2b5aedc1e89ed455dc09"}, - {file = "opentelemetry_api-1.30.0.tar.gz", hash = "sha256:375893400c1435bf623f7dfb3bcd44825fe6b56c34d0667c542ea8257b1a1240"}, + {file = "opentelemetry_api-1.32.1-py3-none-any.whl", hash = "sha256:bbd19f14ab9f15f0e85e43e6a958aa4cb1f36870ee62b7fd205783a112012724"}, + {file = "opentelemetry_api-1.32.1.tar.gz", hash = "sha256:a5be71591694a4d9195caf6776b055aa702e964d961051a0715d05f8632c32fb"}, ] [package.dependencies] deprecated = ">=1.2.6" -importlib-metadata = ">=6.0,<=8.5.0" +importlib-metadata = ">=6.0,<8.7.0" [[package]] name = "opentelemetry-sdk" -version = "1.30.0" +version = "1.32.1" description = "OpenTelemetry Python SDK" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "opentelemetry_sdk-1.30.0-py3-none-any.whl", hash = "sha256:14fe7afc090caad881addb6926cec967129bd9260c4d33ae6a217359f6b61091"}, - {file = "opentelemetry_sdk-1.30.0.tar.gz", hash = "sha256:c9287a9e4a7614b9946e933a67168450b9ab35f08797eb9bc77d998fa480fa18"}, + {file = "opentelemetry_sdk-1.32.1-py3-none-any.whl", hash = "sha256:bba37b70a08038613247bc42beee5a81b0ddca422c7d7f1b097b32bf1c7e2f17"}, + {file = "opentelemetry_sdk-1.32.1.tar.gz", hash = "sha256:8ef373d490961848f525255a42b193430a0637e064dd132fd2a014d94792a092"}, ] [package.dependencies] -opentelemetry-api = "1.30.0" -opentelemetry-semantic-conventions = "0.51b0" +opentelemetry-api = "1.32.1" +opentelemetry-semantic-conventions = "0.53b1" typing-extensions = ">=3.7.4" [[package]] name = "opentelemetry-semantic-conventions" -version = "0.51b0" +version = "0.53b1" description = "OpenTelemetry Semantic Conventions" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "opentelemetry_semantic_conventions-0.51b0-py3-none-any.whl", hash = "sha256:fdc777359418e8d06c86012c3dc92c88a6453ba662e941593adb062e48c2eeae"}, - {file = "opentelemetry_semantic_conventions-0.51b0.tar.gz", hash = "sha256:3fabf47f35d1fd9aebcdca7e6802d86bd5ebc3bc3408b7e3248dde6e87a18c47"}, + {file = "opentelemetry_semantic_conventions-0.53b1-py3-none-any.whl", hash = "sha256:21df3ed13f035f8f3ea42d07cbebae37020367a53b47f1ebee3b10a381a00208"}, + {file = "opentelemetry_semantic_conventions-0.53b1.tar.gz", hash = "sha256:4c5a6fede9de61211b2e9fc1e02e8acacce882204cd770177342b6a3be682992"}, ] [package.dependencies] deprecated = ">=1.2.6" -opentelemetry-api = "1.30.0" +opentelemetry-api = "1.32.1" [[package]] name = "packaging" -version = "24.2" +version = "25.0" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" groups = ["main", "dev"] files = [ - {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, - {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, + {file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"}, + {file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"}, ] [[package]] @@ -3356,31 +3385,31 @@ setuptools = "*" [[package]] name = "platformdirs" -version = "4.3.6" +version = "4.3.7" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, - {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, + {file = "platformdirs-4.3.7-py3-none-any.whl", hash = "sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94"}, + {file = "platformdirs-4.3.7.tar.gz", hash = "sha256:eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351"}, ] [package.extras] -docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] -type = ["mypy (>=1.11.2)"] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.1.3)", "sphinx-autodoc-typehints (>=3)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.4)", "pytest-cov (>=6)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.14.1)"] [[package]] name = "plotly" -version = "6.0.0" -description = "An open-source, interactive data visualization library for Python" +version = "6.0.1" +description = "An open-source interactive data visualization library for Python" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "plotly-6.0.0-py3-none-any.whl", hash = "sha256:f708871c3a9349a68791ff943a5781b1ec04de7769ea69068adcd9202e57653a"}, - {file = "plotly-6.0.0.tar.gz", hash = "sha256:c4aad38b8c3d65e4a5e7dd308b084143b9025c2cc9d5317fc1f1d30958db87d3"}, + {file = "plotly-6.0.1-py3-none-any.whl", hash = "sha256:4714db20fea57a435692c548a4eb4fae454f7daddf15f8d8ba7e1045681d7768"}, + {file = "plotly-6.0.1.tar.gz", hash = "sha256:dd8400229872b6e3c964b099be699f8d00c489a974f2cfccfad5e8240873366b"}, ] [package.dependencies] @@ -3407,35 +3436,15 @@ dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] [[package]] -name = "portalocker" -version = "2.10.1" -description = "Wraps the portalocker recipe for easy usage" +name = "prompt-toolkit" +version = "3.0.51" +description = "Library for building powerful interactive command lines in Python" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "portalocker-2.10.1-py3-none-any.whl", hash = "sha256:53a5984ebc86a025552264b459b46a2086e269b21823cb572f8f28ee759e45bf"}, - {file = "portalocker-2.10.1.tar.gz", hash = "sha256:ef1bf844e878ab08aee7e40184156e1151f228f103aa5c6bd0724cc330960f8f"}, -] - -[package.dependencies] -pywin32 = {version = ">=226", markers = "platform_system == \"Windows\""} - -[package.extras] -docs = ["sphinx (>=1.7.1)"] -redis = ["redis"] -tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "pytest-timeout (>=2.1.0)", "redis", "sphinx (>=6.0.0)", "types-redis"] - -[[package]] -name = "prompt-toolkit" -version = "3.0.50" -description = "Library for building powerful interactive command lines in Python" -optional = false -python-versions = ">=3.8.0" -groups = ["main"] -files = [ - {file = "prompt_toolkit-3.0.50-py3-none-any.whl", hash = "sha256:9b6427eb19e479d98acff65196a307c555eb567989e6d88ebbb1b509d9779198"}, - {file = "prompt_toolkit-3.0.50.tar.gz", hash = "sha256:544748f3860a2623ca5cd6d2795e7a14f3d0e1c3c9728359013f79877fc89bab"}, + {file = "prompt_toolkit-3.0.51-py3-none-any.whl", hash = "sha256:52742911fde84e2d423e2f9a4cf1de7d7ac4e51958f648d9540e0fb8db077b07"}, + {file = "prompt_toolkit-3.0.51.tar.gz", hash = "sha256:931a162e3b27fc90c86f1b48bb1fb2c528c2761475e57c9c06de13311c7b54ed"}, ] [package.dependencies] @@ -3443,138 +3452,152 @@ wcwidth = "*" [[package]] name = "propcache" -version = "0.2.1" +version = "0.3.1" description = "Accelerated property cache" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6b3f39a85d671436ee3d12c017f8fdea38509e4f25b28eb25877293c98c243f6"}, - {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d51fbe4285d5db5d92a929e3e21536ea3dd43732c5b177c7ef03f918dff9f2"}, - {file = "propcache-0.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6445804cf4ec763dc70de65a3b0d9954e868609e83850a47ca4f0cb64bd79fea"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9479aa06a793c5aeba49ce5c5692ffb51fcd9a7016e017d555d5e2b0045d212"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9631c5e8b5b3a0fda99cb0d29c18133bca1e18aea9effe55adb3da1adef80d3"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3156628250f46a0895f1f36e1d4fbe062a1af8718ec3ebeb746f1d23f0c5dc4d"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b6fb63ae352e13748289f04f37868099e69dba4c2b3e271c46061e82c745634"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:887d9b0a65404929641a9fabb6452b07fe4572b269d901d622d8a34a4e9043b2"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a96dc1fa45bd8c407a0af03b2d5218392729e1822b0c32e62c5bf7eeb5fb3958"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a7e65eb5c003a303b94aa2c3852ef130230ec79e349632d030e9571b87c4698c"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:999779addc413181912e984b942fbcc951be1f5b3663cd80b2687758f434c583"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:19a0f89a7bb9d8048d9c4370c9c543c396e894c76be5525f5e1ad287f1750ddf"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1ac2f5fe02fa75f56e1ad473f1175e11f475606ec9bd0be2e78e4734ad575034"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:574faa3b79e8ebac7cb1d7930f51184ba1ccf69adfdec53a12f319a06030a68b"}, - {file = "propcache-0.2.1-cp310-cp310-win32.whl", hash = "sha256:03ff9d3f665769b2a85e6157ac8b439644f2d7fd17615a82fa55739bc97863f4"}, - {file = "propcache-0.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:2d3af2e79991102678f53e0dbf4c35de99b6b8b58f29a27ca0325816364caaba"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ffc3cca89bb438fb9c95c13fc874012f7b9466b89328c3c8b1aa93cdcfadd16"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f174bbd484294ed9fdf09437f889f95807e5f229d5d93588d34e92106fbf6717"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:70693319e0b8fd35dd863e3e29513875eb15c51945bf32519ef52927ca883bc3"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b480c6a4e1138e1aa137c0079b9b6305ec6dcc1098a8ca5196283e8a49df95a9"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d27b84d5880f6d8aa9ae3edb253c59d9f6642ffbb2c889b78b60361eed449787"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:857112b22acd417c40fa4595db2fe28ab900c8c5fe4670c7989b1c0230955465"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf6c4150f8c0e32d241436526f3c3f9cbd34429492abddbada2ffcff506c51af"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66d4cfda1d8ed687daa4bc0274fcfd5267873db9a5bc0418c2da19273040eeb7"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c2f992c07c0fca81655066705beae35fc95a2fa7366467366db627d9f2ee097f"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:4a571d97dbe66ef38e472703067021b1467025ec85707d57e78711c085984e54"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bb6178c241278d5fe853b3de743087be7f5f4c6f7d6d22a3b524d323eecec505"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ad1af54a62ffe39cf34db1aa6ed1a1873bd548f6401db39d8e7cd060b9211f82"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e7048abd75fe40712005bcfc06bb44b9dfcd8e101dda2ecf2f5aa46115ad07ca"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:160291c60081f23ee43d44b08a7e5fb76681221a8e10b3139618c5a9a291b84e"}, - {file = "propcache-0.2.1-cp311-cp311-win32.whl", hash = "sha256:819ce3b883b7576ca28da3861c7e1a88afd08cc8c96908e08a3f4dd64a228034"}, - {file = "propcache-0.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:edc9fc7051e3350643ad929df55c451899bb9ae6d24998a949d2e4c87fb596d3"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:081a430aa8d5e8876c6909b67bd2d937bfd531b0382d3fdedb82612c618bc41a"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2ccec9ac47cf4e04897619c0e0c1a48c54a71bdf045117d3a26f80d38ab1fb0"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:14d86fe14b7e04fa306e0c43cdbeebe6b2c2156a0c9ce56b815faacc193e320d"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:049324ee97bb67285b49632132db351b41e77833678432be52bdd0289c0e05e4"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cd9a1d071158de1cc1c71a26014dcdfa7dd3d5f4f88c298c7f90ad6f27bb46d"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98110aa363f1bb4c073e8dcfaefd3a5cea0f0834c2aab23dda657e4dab2f53b5"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:647894f5ae99c4cf6bb82a1bb3a796f6e06af3caa3d32e26d2350d0e3e3faf24"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd3223c15bebe26518d58ccf9a39b93948d3dcb3e57a20480dfdd315356baff"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d71264a80f3fcf512eb4f18f59423fe82d6e346ee97b90625f283df56aee103f"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:e73091191e4280403bde6c9a52a6999d69cdfde498f1fdf629105247599b57ec"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3935bfa5fede35fb202c4b569bb9c042f337ca4ff7bd540a0aa5e37131659348"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f508b0491767bb1f2b87fdfacaba5f7eddc2f867740ec69ece6d1946d29029a6"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1672137af7c46662a1c2be1e8dc78cb6d224319aaa40271c9257d886be4363a6"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b74c261802d3d2b85c9df2dfb2fa81b6f90deeef63c2db9f0e029a3cac50b518"}, - {file = "propcache-0.2.1-cp312-cp312-win32.whl", hash = "sha256:d09c333d36c1409d56a9d29b3a1b800a42c76a57a5a8907eacdbce3f18768246"}, - {file = "propcache-0.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:c214999039d4f2a5b2073ac506bba279945233da8c786e490d411dfc30f855c1"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aca405706e0b0a44cc6bfd41fbe89919a6a56999157f6de7e182a990c36e37bc"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:12d1083f001ace206fe34b6bdc2cb94be66d57a850866f0b908972f90996b3e9"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d93f3307ad32a27bda2e88ec81134b823c240aa3abb55821a8da553eed8d9439"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba278acf14471d36316159c94a802933d10b6a1e117b8554fe0d0d9b75c9d536"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4e6281aedfca15301c41f74d7005e6e3f4ca143584ba696ac69df4f02f40d629"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b750a8e5a1262434fb1517ddf64b5de58327f1adc3524a5e44c2ca43305eb0b"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf72af5e0fb40e9babf594308911436c8efde3cb5e75b6f206c34ad18be5c052"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2d0a12018b04f4cb820781ec0dffb5f7c7c1d2a5cd22bff7fb055a2cb19ebce"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e800776a79a5aabdb17dcc2346a7d66d0777e942e4cd251defeb084762ecd17d"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:4160d9283bd382fa6c0c2b5e017acc95bc183570cd70968b9202ad6d8fc48dce"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:30b43e74f1359353341a7adb783c8f1b1c676367b011709f466f42fda2045e95"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:58791550b27d5488b1bb52bc96328456095d96206a250d28d874fafe11b3dfaf"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0f022d381747f0dfe27e99d928e31bc51a18b65bb9e481ae0af1380a6725dd1f"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:297878dc9d0a334358f9b608b56d02e72899f3b8499fc6044133f0d319e2ec30"}, - {file = "propcache-0.2.1-cp313-cp313-win32.whl", hash = "sha256:ddfab44e4489bd79bda09d84c430677fc7f0a4939a73d2bba3073036f487a0a6"}, - {file = "propcache-0.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:556fc6c10989f19a179e4321e5d678db8eb2924131e64652a51fe83e4c3db0e1"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6a9a8c34fb7bb609419a211e59da8887eeca40d300b5ea8e56af98f6fbbb1541"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ae1aa1cd222c6d205853b3013c69cd04515f9d6ab6de4b0603e2e1c33221303e"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:accb6150ce61c9c4b7738d45550806aa2b71c7668c6942f17b0ac182b6142fd4"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5eee736daafa7af6d0a2dc15cc75e05c64f37fc37bafef2e00d77c14171c2097"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7a31fc1e1bd362874863fdeed71aed92d348f5336fd84f2197ba40c59f061bd"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba4cfa1052819d16699e1d55d18c92b6e094d4517c41dd231a8b9f87b6fa681"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f089118d584e859c62b3da0892b88a83d611c2033ac410e929cb6754eec0ed16"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:781e65134efaf88feb447e8c97a51772aa75e48b794352f94cb7ea717dedda0d"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31f5af773530fd3c658b32b6bdc2d0838543de70eb9a2156c03e410f7b0d3aae"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:a7a078f5d37bee6690959c813977da5291b24286e7b962e62a94cec31aa5188b"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cea7daf9fc7ae6687cf1e2c049752f19f146fdc37c2cc376e7d0032cf4f25347"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:8b3489ff1ed1e8315674d0775dc7d2195fb13ca17b3808721b54dbe9fd020faf"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9403db39be1393618dd80c746cb22ccda168efce239c73af13c3763ef56ffc04"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5d97151bc92d2b2578ff7ce779cdb9174337390a535953cbb9452fb65164c587"}, - {file = "propcache-0.2.1-cp39-cp39-win32.whl", hash = "sha256:9caac6b54914bdf41bcc91e7eb9147d331d29235a7c967c150ef5df6464fd1bb"}, - {file = "propcache-0.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:92fc4500fcb33899b05ba73276dfb684a20d31caa567b7cb5252d48f896a91b1"}, - {file = "propcache-0.2.1-py3-none-any.whl", hash = "sha256:52277518d6aae65536e9cea52d4e7fd2f7a66f4aa2d30ed3f2fcea620ace3c54"}, - {file = "propcache-0.2.1.tar.gz", hash = "sha256:3f77ce728b19cb537714499928fe800c3dda29e8d9428778fc7c186da4c09a64"}, + {file = "propcache-0.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f27785888d2fdd918bc36de8b8739f2d6c791399552333721b58193f68ea3e98"}, + {file = "propcache-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4e89cde74154c7b5957f87a355bb9c8ec929c167b59c83d90654ea36aeb6180"}, + {file = "propcache-0.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:730178f476ef03d3d4d255f0c9fa186cb1d13fd33ffe89d39f2cda4da90ceb71"}, + {file = "propcache-0.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:967a8eec513dbe08330f10137eacb427b2ca52118769e82ebcfcab0fba92a649"}, + {file = "propcache-0.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b9145c35cc87313b5fd480144f8078716007656093d23059e8993d3a8fa730f"}, + {file = "propcache-0.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9e64e948ab41411958670f1093c0a57acfdc3bee5cf5b935671bbd5313bcf229"}, + {file = "propcache-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:319fa8765bfd6a265e5fa661547556da381e53274bc05094fc9ea50da51bfd46"}, + {file = "propcache-0.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c66d8ccbc902ad548312b96ed8d5d266d0d2c6d006fd0f66323e9d8f2dd49be7"}, + {file = "propcache-0.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:2d219b0dbabe75e15e581fc1ae796109b07c8ba7d25b9ae8d650da582bed01b0"}, + {file = "propcache-0.3.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:cd6a55f65241c551eb53f8cf4d2f4af33512c39da5d9777694e9d9c60872f519"}, + {file = "propcache-0.3.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9979643ffc69b799d50d3a7b72b5164a2e97e117009d7af6dfdd2ab906cb72cd"}, + {file = "propcache-0.3.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4cf9e93a81979f1424f1a3d155213dc928f1069d697e4353edb8a5eba67c6259"}, + {file = "propcache-0.3.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2fce1df66915909ff6c824bbb5eb403d2d15f98f1518e583074671a30fe0c21e"}, + {file = "propcache-0.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4d0dfdd9a2ebc77b869a0b04423591ea8823f791293b527dc1bb896c1d6f1136"}, + {file = "propcache-0.3.1-cp310-cp310-win32.whl", hash = "sha256:1f6cc0ad7b4560e5637eb2c994e97b4fa41ba8226069c9277eb5ea7101845b42"}, + {file = "propcache-0.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:47ef24aa6511e388e9894ec16f0fbf3313a53ee68402bc428744a367ec55b833"}, + {file = "propcache-0.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7f30241577d2fef2602113b70ef7231bf4c69a97e04693bde08ddab913ba0ce5"}, + {file = "propcache-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:43593c6772aa12abc3af7784bff4a41ffa921608dd38b77cf1dfd7f5c4e71371"}, + {file = "propcache-0.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a75801768bbe65499495660b777e018cbe90c7980f07f8aa57d6be79ea6f71da"}, + {file = "propcache-0.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6f1324db48f001c2ca26a25fa25af60711e09b9aaf4b28488602776f4f9a744"}, + {file = "propcache-0.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cdb0f3e1eb6dfc9965d19734d8f9c481b294b5274337a8cb5cb01b462dcb7e0"}, + {file = "propcache-0.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1eb34d90aac9bfbced9a58b266f8946cb5935869ff01b164573a7634d39fbcb5"}, + {file = "propcache-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f35c7070eeec2cdaac6fd3fe245226ed2a6292d3ee8c938e5bb645b434c5f256"}, + {file = "propcache-0.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b23c11c2c9e6d4e7300c92e022046ad09b91fd00e36e83c44483df4afa990073"}, + {file = "propcache-0.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3e19ea4ea0bf46179f8a3652ac1426e6dcbaf577ce4b4f65be581e237340420d"}, + {file = "propcache-0.3.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:bd39c92e4c8f6cbf5f08257d6360123af72af9f4da75a690bef50da77362d25f"}, + {file = "propcache-0.3.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:b0313e8b923b3814d1c4a524c93dfecea5f39fa95601f6a9b1ac96cd66f89ea0"}, + {file = "propcache-0.3.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e861ad82892408487be144906a368ddbe2dc6297074ade2d892341b35c59844a"}, + {file = "propcache-0.3.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:61014615c1274df8da5991a1e5da85a3ccb00c2d4701ac6f3383afd3ca47ab0a"}, + {file = "propcache-0.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:71ebe3fe42656a2328ab08933d420df5f3ab121772eef78f2dc63624157f0ed9"}, + {file = "propcache-0.3.1-cp311-cp311-win32.whl", hash = "sha256:58aa11f4ca8b60113d4b8e32d37e7e78bd8af4d1a5b5cb4979ed856a45e62005"}, + {file = "propcache-0.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:9532ea0b26a401264b1365146c440a6d78269ed41f83f23818d4b79497aeabe7"}, + {file = "propcache-0.3.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f78eb8422acc93d7b69964012ad7048764bb45a54ba7a39bb9e146c72ea29723"}, + {file = "propcache-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:89498dd49c2f9a026ee057965cdf8192e5ae070ce7d7a7bd4b66a8e257d0c976"}, + {file = "propcache-0.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:09400e98545c998d57d10035ff623266927cb784d13dd2b31fd33b8a5316b85b"}, + {file = "propcache-0.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa8efd8c5adc5a2c9d3b952815ff8f7710cefdcaf5f2c36d26aff51aeca2f12f"}, + {file = "propcache-0.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c2fe5c910f6007e716a06d269608d307b4f36e7babee5f36533722660e8c4a70"}, + {file = "propcache-0.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a0ab8cf8cdd2194f8ff979a43ab43049b1df0b37aa64ab7eca04ac14429baeb7"}, + {file = "propcache-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:563f9d8c03ad645597b8d010ef4e9eab359faeb11a0a2ac9f7b4bc8c28ebef25"}, + {file = "propcache-0.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb6e0faf8cb6b4beea5d6ed7b5a578254c6d7df54c36ccd3d8b3eb00d6770277"}, + {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1c5c7ab7f2bb3f573d1cb921993006ba2d39e8621019dffb1c5bc94cdbae81e8"}, + {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:050b571b2e96ec942898f8eb46ea4bfbb19bd5502424747e83badc2d4a99a44e"}, + {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e1c4d24b804b3a87e9350f79e2371a705a188d292fd310e663483af6ee6718ee"}, + {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e4fe2a6d5ce975c117a6bb1e8ccda772d1e7029c1cca1acd209f91d30fa72815"}, + {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:feccd282de1f6322f56f6845bf1207a537227812f0a9bf5571df52bb418d79d5"}, + {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ec314cde7314d2dd0510c6787326bbffcbdc317ecee6b7401ce218b3099075a7"}, + {file = "propcache-0.3.1-cp312-cp312-win32.whl", hash = "sha256:7d2d5a0028d920738372630870e7d9644ce437142197f8c827194fca404bf03b"}, + {file = "propcache-0.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:88c423efef9d7a59dae0614eaed718449c09a5ac79a5f224a8b9664d603f04a3"}, + {file = "propcache-0.3.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f1528ec4374617a7a753f90f20e2f551121bb558fcb35926f99e3c42367164b8"}, + {file = "propcache-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dc1915ec523b3b494933b5424980831b636fe483d7d543f7afb7b3bf00f0c10f"}, + {file = "propcache-0.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a110205022d077da24e60b3df8bcee73971be9575dec5573dd17ae5d81751111"}, + {file = "propcache-0.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d249609e547c04d190e820d0d4c8ca03ed4582bcf8e4e160a6969ddfb57b62e5"}, + {file = "propcache-0.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ced33d827625d0a589e831126ccb4f5c29dfdf6766cac441d23995a65825dcb"}, + {file = "propcache-0.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4114c4ada8f3181af20808bedb250da6bae56660e4b8dfd9cd95d4549c0962f7"}, + {file = "propcache-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:975af16f406ce48f1333ec5e912fe11064605d5c5b3f6746969077cc3adeb120"}, + {file = "propcache-0.3.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a34aa3a1abc50740be6ac0ab9d594e274f59960d3ad253cd318af76b996dd654"}, + {file = "propcache-0.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9cec3239c85ed15bfaded997773fdad9fb5662b0a7cbc854a43f291eb183179e"}, + {file = "propcache-0.3.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:05543250deac8e61084234d5fc54f8ebd254e8f2b39a16b1dce48904f45b744b"}, + {file = "propcache-0.3.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5cb5918253912e088edbf023788de539219718d3b10aef334476b62d2b53de53"}, + {file = "propcache-0.3.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f3bbecd2f34d0e6d3c543fdb3b15d6b60dd69970c2b4c822379e5ec8f6f621d5"}, + {file = "propcache-0.3.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aca63103895c7d960a5b9b044a83f544b233c95e0dcff114389d64d762017af7"}, + {file = "propcache-0.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5a0a9898fdb99bf11786265468571e628ba60af80dc3f6eb89a3545540c6b0ef"}, + {file = "propcache-0.3.1-cp313-cp313-win32.whl", hash = "sha256:3a02a28095b5e63128bcae98eb59025924f121f048a62393db682f049bf4ac24"}, + {file = "propcache-0.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:813fbb8b6aea2fc9659815e585e548fe706d6f663fa73dff59a1677d4595a037"}, + {file = "propcache-0.3.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a444192f20f5ce8a5e52761a031b90f5ea6288b1eef42ad4c7e64fef33540b8f"}, + {file = "propcache-0.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0fbe94666e62ebe36cd652f5fc012abfbc2342de99b523f8267a678e4dfdee3c"}, + {file = "propcache-0.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f011f104db880f4e2166bcdcf7f58250f7a465bc6b068dc84c824a3d4a5c94dc"}, + {file = "propcache-0.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e584b6d388aeb0001d6d5c2bd86b26304adde6d9bb9bfa9c4889805021b96de"}, + {file = "propcache-0.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a17583515a04358b034e241f952f1715243482fc2c2945fd99a1b03a0bd77d6"}, + {file = "propcache-0.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5aed8d8308215089c0734a2af4f2e95eeb360660184ad3912686c181e500b2e7"}, + {file = "propcache-0.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d8e309ff9a0503ef70dc9a0ebd3e69cf7b3894c9ae2ae81fc10943c37762458"}, + {file = "propcache-0.3.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b655032b202028a582d27aeedc2e813299f82cb232f969f87a4fde491a233f11"}, + {file = "propcache-0.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9f64d91b751df77931336b5ff7bafbe8845c5770b06630e27acd5dbb71e1931c"}, + {file = "propcache-0.3.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:19a06db789a4bd896ee91ebc50d059e23b3639c25d58eb35be3ca1cbe967c3bf"}, + {file = "propcache-0.3.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:bef100c88d8692864651b5f98e871fb090bd65c8a41a1cb0ff2322db39c96c27"}, + {file = "propcache-0.3.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:87380fb1f3089d2a0b8b00f006ed12bd41bd858fabfa7330c954c70f50ed8757"}, + {file = "propcache-0.3.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e474fc718e73ba5ec5180358aa07f6aded0ff5f2abe700e3115c37d75c947e18"}, + {file = "propcache-0.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:17d1c688a443355234f3c031349da69444be052613483f3e4158eef751abcd8a"}, + {file = "propcache-0.3.1-cp313-cp313t-win32.whl", hash = "sha256:359e81a949a7619802eb601d66d37072b79b79c2505e6d3fd8b945538411400d"}, + {file = "propcache-0.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:e7fb9a84c9abbf2b2683fa3e7b0d7da4d8ecf139a1c635732a8bda29c5214b0e"}, + {file = "propcache-0.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ed5f6d2edbf349bd8d630e81f474d33d6ae5d07760c44d33cd808e2f5c8f4ae6"}, + {file = "propcache-0.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:668ddddc9f3075af019f784456267eb504cb77c2c4bd46cc8402d723b4d200bf"}, + {file = "propcache-0.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0c86e7ceea56376216eba345aa1fc6a8a6b27ac236181f840d1d7e6a1ea9ba5c"}, + {file = "propcache-0.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83be47aa4e35b87c106fc0c84c0fc069d3f9b9b06d3c494cd404ec6747544894"}, + {file = "propcache-0.3.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:27c6ac6aa9fc7bc662f594ef380707494cb42c22786a558d95fcdedb9aa5d035"}, + {file = "propcache-0.3.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64a956dff37080b352c1c40b2966b09defb014347043e740d420ca1eb7c9b908"}, + {file = "propcache-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82de5da8c8893056603ac2d6a89eb8b4df49abf1a7c19d536984c8dd63f481d5"}, + {file = "propcache-0.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c3c3a203c375b08fd06a20da3cf7aac293b834b6f4f4db71190e8422750cca5"}, + {file = "propcache-0.3.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b303b194c2e6f171cfddf8b8ba30baefccf03d36a4d9cab7fd0bb68ba476a3d7"}, + {file = "propcache-0.3.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:916cd229b0150129d645ec51614d38129ee74c03293a9f3f17537be0029a9641"}, + {file = "propcache-0.3.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:a461959ead5b38e2581998700b26346b78cd98540b5524796c175722f18b0294"}, + {file = "propcache-0.3.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:069e7212890b0bcf9b2be0a03afb0c2d5161d91e1bf51569a64f629acc7defbf"}, + {file = "propcache-0.3.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ef2e4e91fb3945769e14ce82ed53007195e616a63aa43b40fb7ebaaf907c8d4c"}, + {file = "propcache-0.3.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8638f99dca15b9dff328fb6273e09f03d1c50d9b6512f3b65a4154588a7595fe"}, + {file = "propcache-0.3.1-cp39-cp39-win32.whl", hash = "sha256:6f173bbfe976105aaa890b712d1759de339d8a7cef2fc0a1714cc1a1e1c47f64"}, + {file = "propcache-0.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:603f1fe4144420374f1a69b907494c3acbc867a581c2d49d4175b0de7cc64566"}, + {file = "propcache-0.3.1-py3-none-any.whl", hash = "sha256:9a8ecf38de50a7f518c21568c80f985e776397b902f1ce0b01f799aba1608b40"}, + {file = "propcache-0.3.1.tar.gz", hash = "sha256:40d980c33765359098837527e18eddefc9a24cea5b45e078a7f3bb5b032c6ecf"}, ] [[package]] name = "proto-plus" -version = "1.26.0" +version = "1.26.1" description = "Beautiful, Pythonic protocol buffers" optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "proto_plus-1.26.0-py3-none-any.whl", hash = "sha256:bf2dfaa3da281fc3187d12d224c707cb57214fb2c22ba854eb0c105a3fb2d4d7"}, - {file = "proto_plus-1.26.0.tar.gz", hash = "sha256:6e93d5f5ca267b54300880fff156b6a3386b3fa3f43b1da62e680fc0c586ef22"}, + {file = "proto_plus-1.26.1-py3-none-any.whl", hash = "sha256:13285478c2dcf2abb829db158e1047e2f1e8d63a077d94263c2b88b043c75a66"}, + {file = "proto_plus-1.26.1.tar.gz", hash = "sha256:21a515a4c4c0088a773899e23c7bbade3d18f9c66c73edd4c7ee3816bc96a012"}, ] [package.dependencies] -protobuf = ">=3.19.0,<6.0.0dev" +protobuf = ">=3.19.0,<7.0.0" [package.extras] testing = ["google-api-core (>=1.31.5)"] [[package]] name = "protobuf" -version = "5.29.3" +version = "6.30.2" description = "" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "protobuf-5.29.3-cp310-abi3-win32.whl", hash = "sha256:3ea51771449e1035f26069c4c7fd51fba990d07bc55ba80701c78f886bf9c888"}, - {file = "protobuf-5.29.3-cp310-abi3-win_amd64.whl", hash = "sha256:a4fa6f80816a9a0678429e84973f2f98cbc218cca434abe8db2ad0bffc98503a"}, - {file = "protobuf-5.29.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:a8434404bbf139aa9e1300dbf989667a83d42ddda9153d8ab76e0d5dcaca484e"}, - {file = "protobuf-5.29.3-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:daaf63f70f25e8689c072cfad4334ca0ac1d1e05a92fc15c54eb9cf23c3efd84"}, - {file = "protobuf-5.29.3-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:c027e08a08be10b67c06bf2370b99c811c466398c357e615ca88c91c07f0910f"}, - {file = "protobuf-5.29.3-cp38-cp38-win32.whl", hash = "sha256:84a57163a0ccef3f96e4b6a20516cedcf5bb3a95a657131c5c3ac62200d23252"}, - {file = "protobuf-5.29.3-cp38-cp38-win_amd64.whl", hash = "sha256:b89c115d877892a512f79a8114564fb435943b59067615894c3b13cd3e1fa107"}, - {file = "protobuf-5.29.3-cp39-cp39-win32.whl", hash = "sha256:0eb32bfa5219fc8d4111803e9a690658aa2e6366384fd0851064b963b6d1f2a7"}, - {file = "protobuf-5.29.3-cp39-cp39-win_amd64.whl", hash = "sha256:6ce8cc3389a20693bfde6c6562e03474c40851b44975c9b2bf6df7d8c4f864da"}, - {file = "protobuf-5.29.3-py3-none-any.whl", hash = "sha256:0a18ed4a24198528f2333802eb075e59dea9d679ab7a6c5efb017a59004d849f"}, - {file = "protobuf-5.29.3.tar.gz", hash = "sha256:5da0f41edaf117bde316404bad1a486cb4ededf8e4a54891296f648e8e076620"}, + {file = "protobuf-6.30.2-cp310-abi3-win32.whl", hash = "sha256:b12ef7df7b9329886e66404bef5e9ce6a26b54069d7f7436a0853ccdeb91c103"}, + {file = "protobuf-6.30.2-cp310-abi3-win_amd64.whl", hash = "sha256:7653c99774f73fe6b9301b87da52af0e69783a2e371e8b599b3e9cb4da4b12b9"}, + {file = "protobuf-6.30.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:0eb523c550a66a09a0c20f86dd554afbf4d32b02af34ae53d93268c1f73bc65b"}, + {file = "protobuf-6.30.2-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:50f32cc9fd9cb09c783ebc275611b4f19dfdfb68d1ee55d2f0c7fa040df96815"}, + {file = "protobuf-6.30.2-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:4f6c687ae8efae6cf6093389a596548214467778146b7245e886f35e1485315d"}, + {file = "protobuf-6.30.2-cp39-cp39-win32.whl", hash = "sha256:524afedc03b31b15586ca7f64d877a98b184f007180ce25183d1a5cb230ee72b"}, + {file = "protobuf-6.30.2-cp39-cp39-win_amd64.whl", hash = "sha256:acec579c39c88bd8fbbacab1b8052c793efe83a0a5bd99db4a31423a25c0a0e2"}, + {file = "protobuf-6.30.2-py3-none-any.whl", hash = "sha256:ae86b030e69a98e08c77beab574cbcb9fff6d031d57209f574a5aea1445f4b51"}, + {file = "protobuf-6.30.2.tar.gz", hash = "sha256:35c859ae076d8c56054c25b59e5e59638d86545ed6e2b6efac6be0b6ea3ba048"}, ] [[package]] name = "prowler" -version = "5.4.0" +version = "5.6.0" description = "Prowler is an Open Source security tool to perform AWS, GCP and Azure security best practices assessments, audits, incident response, continuous monitoring, hardening and forensics readiness. It contains hundreds of controls covering CIS, NIST 800, NIST CSF, CISA, RBI, FedRAMP, PCI-DSS, GDPR, HIPAA, FFIEC, SOC2, GXP, AWS Well-Architected Framework Security Pillar, AWS Foundational Technical Review (FTR), ENS (Spanish National Security Scheme) and your custom security frameworks." optional = false python-versions = ">3.9.1,<3.13" @@ -3585,23 +3608,23 @@ develop = false [package.dependencies] alive-progress = "3.2.0" awsipranges = "0.3.3" -azure-identity = "1.19.0" +azure-identity = "1.21.0" azure-keyvault-keys = "4.10.0" -azure-mgmt-applicationinsights = "4.0.0" +azure-mgmt-applicationinsights = "4.1.0" azure-mgmt-authorization = "4.0.0" azure-mgmt-compute = "34.0.0" -azure-mgmt-containerregistry = "10.3.0" -azure-mgmt-containerservice = "34.0.0" +azure-mgmt-containerregistry = "12.0.0" +azure-mgmt-containerservice = "34.1.0" azure-mgmt-cosmosdb = "9.7.0" azure-mgmt-keyvault = "10.3.1" azure-mgmt-monitor = "6.0.2" azure-mgmt-network = "28.1.0" azure-mgmt-rdbms = "10.1.0" -azure-mgmt-resource = "23.2.0" +azure-mgmt-resource = "23.3.0" azure-mgmt-search = "9.1.0" azure-mgmt-security = "7.0.0" azure-mgmt-sql = "3.0.1" -azure-mgmt-storage = "21.2.1" +azure-mgmt-storage = "22.1.1" azure-mgmt-subscription = "3.1.1" azure-mgmt-web = "8.0.0" azure-storage-blob = "12.24.1" @@ -3612,29 +3635,29 @@ cryptography = "44.0.1" dash = "2.18.2" dash-bootstrap-components = "1.6.0" detect-secrets = "1.5.0" -google-api-python-client = "2.161.0" +google-api-python-client = "2.163.0" google-auth-httplib2 = ">=0.1,<0.3" jsonschema = "4.23.0" kubernetes = "32.0.1" microsoft-kiota-abstractions = "1.9.2" -msgraph-sdk = "1.18.0" +msgraph-sdk = "1.23.0" numpy = "2.0.2" pandas = "2.2.3" py-ocsf-models = "0.3.1" pydantic = "1.10.21" -python-dateutil = "^2.9.0.post0" +python-dateutil = ">=2.9.0.post0,<3.0.0" pytz = "2025.1" schema = "0.7.7" shodan = "1.31.0" slack-sdk = "3.34.0" tabulate = "0.9.0" -tzlocal = "5.2" +tzlocal = "5.3.1" [package.source] type = "git" url = "https://github.com/prowler-cloud/prowler.git" reference = "master" -resolved_reference = "931df361bf5ee287139112f485580241099094cb" +resolved_reference = "0edf19928269b6d42d1c463ab13b90d7c21a65e4" [[package]] name = "psutil" @@ -3779,29 +3802,29 @@ files = [ [[package]] name = "pyasn1-modules" -version = "0.4.1" +version = "0.4.2" description = "A collection of ASN.1-based protocols modules" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "pyasn1_modules-0.4.1-py3-none-any.whl", hash = "sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd"}, - {file = "pyasn1_modules-0.4.1.tar.gz", hash = "sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c"}, + {file = "pyasn1_modules-0.4.2-py3-none-any.whl", hash = "sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a"}, + {file = "pyasn1_modules-0.4.2.tar.gz", hash = "sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6"}, ] [package.dependencies] -pyasn1 = ">=0.4.6,<0.7.0" +pyasn1 = ">=0.6.1,<0.7.0" [[package]] name = "pycodestyle" -version = "2.12.1" +version = "2.13.0" description = "Python style guide checker" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "pycodestyle-2.12.1-py2.py3-none-any.whl", hash = "sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3"}, - {file = "pycodestyle-2.12.1.tar.gz", hash = "sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521"}, + {file = "pycodestyle-2.13.0-py2.py3-none-any.whl", hash = "sha256:35863c5974a271c7a726ed228a14a4f6daf49df369d8c50cd9a6f58a5e143ba9"}, + {file = "pycodestyle-2.13.0.tar.gz", hash = "sha256:c8415bf09abe81d9c7f872502a6eee881fbe85d8763dd5b9924bb0a01d67efae"}, ] [[package]] @@ -3819,44 +3842,44 @@ files = [ [[package]] name = "pycurl" -version = "7.45.4" +version = "7.45.6" description = "PycURL -- A Python Interface To The cURL library" optional = false python-versions = ">=3.5" groups = ["main"] markers = "sys_platform != \"win32\" and platform_python_implementation == \"CPython\"" files = [ - {file = "pycurl-7.45.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:247b4af8eab7d04137a7f1a98391930e04ea93dc669b64db5625070fe15f80a3"}, - {file = "pycurl-7.45.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:561f88697f7540634b1c750146f37bdc0da367b15f6b4ab2bb780871ee6ab005"}, - {file = "pycurl-7.45.4-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:b485fdaf78553f0b8e1c2803bb7dcbe47a7b47594f846fc7e9d3b94d794cfc89"}, - {file = "pycurl-7.45.4-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:e7ae49b88a5d57485fbabef004534225dfe04dc15716a61fae1a0c7f46f2279e"}, - {file = "pycurl-7.45.4-cp310-cp310-win32.whl", hash = "sha256:d14f954ecd21a070038d65ef1c6d1d3ab220f952ff703d48313123222097615c"}, - {file = "pycurl-7.45.4-cp310-cp310-win_amd64.whl", hash = "sha256:2548c3291a33c821f0f80bf9989fc43b5d90fb78b534a7015c8419b83c6f5803"}, - {file = "pycurl-7.45.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f6c0e22052946bbfa25be67f9d1d6639eff10781c89f0cf6f3ff2099273d1bad"}, - {file = "pycurl-7.45.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:acf25cfdaf914db21a2a6e9e274b6d95e3fa2b6018c38f2c58c94b5d8ac3d1b7"}, - {file = "pycurl-7.45.4-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:a39f28f031885485325034918386be352036c220ca45625c7e286d3938eb579d"}, - {file = "pycurl-7.45.4-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:9940e3234c1ca3d30f27a2202d325dbc25291605c98e9585100a351cacd935e8"}, - {file = "pycurl-7.45.4-cp311-cp311-win32.whl", hash = "sha256:ffd3262f98b8997ad04940061d5ebd8bab2362169b9440939c397e24a4a135b0"}, - {file = "pycurl-7.45.4-cp311-cp311-win_amd64.whl", hash = "sha256:1324a859b50bdb0abdbd5620e42f74240d0b7daf2d5925fa303695d9fc3ece18"}, - {file = "pycurl-7.45.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:731c46e7c0acffaab19f7c2ecc3d9e7ee337500e87b260b4e0b9fae2d90fa133"}, - {file = "pycurl-7.45.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:13eb1643ab0bf4fdc539a2cdf1021029b07095d3196c5cee5a4271af268d3d31"}, - {file = "pycurl-7.45.4-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:df5f94c051c5a163fa85064559ca94979575e2da26740ff91c078c50c541c465"}, - {file = "pycurl-7.45.4-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:688d09ba2c6a0d4a749d192c43422839d73c40c85143c50cc65c944258fe0ba8"}, - {file = "pycurl-7.45.4-cp312-cp312-win32.whl", hash = "sha256:236600bfe2cd72efe47333add621286667e8fa027dadf1247349afbf30333e95"}, - {file = "pycurl-7.45.4-cp312-cp312-win_amd64.whl", hash = "sha256:26745c6c5ebdccfe8a828ac3fd4e6da6f5d2245696604f04529eb7894a02f4db"}, - {file = "pycurl-7.45.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9bd493ce598f1dc76c8e50043c47debec27c583fa313a836b2d3667640f875d5"}, - {file = "pycurl-7.45.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4f25d52c97dbca6ebea786f0961b49c1998fa05178abf1964a977c825b3d8ae6"}, - {file = "pycurl-7.45.4-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:13c4b18f44637859f34639493efd297a08670f45e4eec34ab2dcba724e3cb5fc"}, - {file = "pycurl-7.45.4-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:0470bff6cc24d8c2f63c80931aa239463800871609dafc6bcc9ca10f5a12a04e"}, - {file = "pycurl-7.45.4-cp313-cp313-win32.whl", hash = "sha256:3452459668bd01d646385482362b021834a31c036aa1c02acd88924ddeff7d0d"}, - {file = "pycurl-7.45.4-cp313-cp313-win_amd64.whl", hash = "sha256:fd167f73d34beb0cb8064334aee76d9bdd13167b30be6d5d36fb07d0c8223b71"}, - {file = "pycurl-7.45.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b0e38e3eb83b0c891f391853f798fc6a97cb5a86a4a731df0b6320e539ae54ae"}, - {file = "pycurl-7.45.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d192a48b3cec2e13ad432196b65c22e99620db92feae39c0476635354eff68c6"}, - {file = "pycurl-7.45.4-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:57971d7215fc6fdedcfc092f880a59f04f52fcaf2fd329151b931623d7b59a9c"}, - {file = "pycurl-7.45.4-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:73df3eb5940a7fbf4cf62f7271e9f23a8e9f80e352c838ee9a8448a70c01d3f5"}, - {file = "pycurl-7.45.4-cp39-cp39-win32.whl", hash = "sha256:587a4891039803b5f48392066f97b7cd5e7e9a166187abb5cb4b4806fdb8fbef"}, - {file = "pycurl-7.45.4-cp39-cp39-win_amd64.whl", hash = "sha256:caec8b634763351dd4e1b729a71542b1e2de885d39710ba8e7202817a381b453"}, - {file = "pycurl-7.45.4.tar.gz", hash = "sha256:32c8e237069273f4260b6ae13d1e0f99daae938977016021565dc6e11050e803"}, + {file = "pycurl-7.45.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c31b390f1e2cd4525828f1bb78c1f825c0aab5d1588228ed71b22c4784bdb593"}, + {file = "pycurl-7.45.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:942b352b69184cb26920db48e0c5cb95af39874b57dbe27318e60f1e68564e37"}, + {file = "pycurl-7.45.6-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:3441ee77e830267aa6e2bb43b29fd5f8a6bd6122010c76a6f0bf84462e9ea9c7"}, + {file = "pycurl-7.45.6-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:2a21e13278d7553a04b421676c458449f6c10509bebf04993f35154b06ee2b20"}, + {file = "pycurl-7.45.6-cp310-cp310-win32.whl", hash = "sha256:d0b5501d527901369aba307354530050f56cd102410f2a3bacd192dc12c645e3"}, + {file = "pycurl-7.45.6-cp310-cp310-win_amd64.whl", hash = "sha256:abe1b204a2f96f2eebeaf93411f03505b46d151ef6d9d89326e6dece7b3a008a"}, + {file = "pycurl-7.45.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6f57ad26d6ab390391ad5030790e3f1a831c1ee54ad3bf969eb378f5957eeb0a"}, + {file = "pycurl-7.45.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c6fd295f03c928da33a00f56c91765195155d2ac6f12878f6e467830b5dce5f5"}, + {file = "pycurl-7.45.6-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:334721ce1ccd71ff8e405470768b3d221b4393570ccc493fcbdbef4cd62e91ed"}, + {file = "pycurl-7.45.6-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:0cd6b7794268c17f3c660162ed6381769ce0ad260331ef49191418dfc3a2d61a"}, + {file = "pycurl-7.45.6-cp311-cp311-win32.whl", hash = "sha256:357ea634395310085b9d5116226ac5ec218a6ceebf367c2451ebc8d63a6e9939"}, + {file = "pycurl-7.45.6-cp311-cp311-win_amd64.whl", hash = "sha256:878ae64484db18f8f10ba99bffc83fefb4fe8f5686448754f93ec32fa4e4ee93"}, + {file = "pycurl-7.45.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c872d4074360964697c39c1544fe8c91bfecbff27c1cdda1fee5498e5fdadcda"}, + {file = "pycurl-7.45.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:56d1197eadd5774582b259cde4364357da71542758d8e917f91cc6ed7ed5b262"}, + {file = "pycurl-7.45.6-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:8a99e56d2575aa74c48c0cd08852a65d5fc952798f76a34236256d5589bf5aa0"}, + {file = "pycurl-7.45.6-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:c04230b9e9cfdca9cf3eb09a0bec6cf2f084640f1f1ca1929cca51411af85de2"}, + {file = "pycurl-7.45.6-cp312-cp312-win32.whl", hash = "sha256:ae893144b82d72d95c932ebdeb81fc7e9fde758e5ecd5dd10ad5b67f34a8b8ee"}, + {file = "pycurl-7.45.6-cp312-cp312-win_amd64.whl", hash = "sha256:56f841b6f2f7a8b2d3051b9ceebd478599dbea3c8d1de8fb9333c895d0c1eea5"}, + {file = "pycurl-7.45.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7c09b7180799af70fc1d4eed580cfb1b9f34fda9081f73a3e3bc9a0e5a4c0e9b"}, + {file = "pycurl-7.45.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:361bf94b2a057c7290f9ab84e935793ca515121fc012f4b6bef6c3b5e4ea4397"}, + {file = "pycurl-7.45.6-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:bb9eff0c7794af972da769a887c87729f1bcd8869297b1c01a2732febbb75876"}, + {file = "pycurl-7.45.6-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:26839d43dc7fff6b80e0067f185cc1d0e9be2ae6e2e2361ae8488cead5901c04"}, + {file = "pycurl-7.45.6-cp313-cp313-win32.whl", hash = "sha256:a721c2696a71b1aa5ecf82e6d0ade64bc7211b7317f1c9c66e82f82e2264d8b4"}, + {file = "pycurl-7.45.6-cp313-cp313-win_amd64.whl", hash = "sha256:f0198ebcda8686b3a0c66d490a687fa5fd466f8ecc2f20a0ed0931579538ae3d"}, + {file = "pycurl-7.45.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a554a2813d415a7bb9a996a6298f3829f57e987635dcab9f1197b2dccd0ab3b2"}, + {file = "pycurl-7.45.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9f721e3394e5bd7079802ec1819b19c5be4842012268cc45afcb3884efb31cf0"}, + {file = "pycurl-7.45.6-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:81005c0f681d31d5af694d1d3c18bbf1bed0bc8b2bb10fb7388cb1378ba9bd6a"}, + {file = "pycurl-7.45.6-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:3fc0b505c37c7c54d88ced27e1d9e3241130987c24bf1611d9bbd9a3e499e07c"}, + {file = "pycurl-7.45.6-cp39-cp39-win32.whl", hash = "sha256:1309fc0f558a80ca444a3a5b0bdb1572a4d72b195233f0e65413b4d4dd78809b"}, + {file = "pycurl-7.45.6-cp39-cp39-win_amd64.whl", hash = "sha256:2d1a49418b8b4c61f52e06d97b9c16142b425077bd997a123a2ba9ef82553203"}, + {file = "pycurl-7.45.6.tar.gz", hash = "sha256:2b73e66b22719ea48ac08a93fc88e57ef36d46d03cb09d972063c9aa86bb74e6"}, ] [[package]] @@ -3943,14 +3966,14 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pyjwt" -version = "2.10.1" +version = "2.9.0" description = "JSON Web Token implementation in Python" optional = false -python-versions = ">=3.9" +python-versions = ">=3.8" groups = ["main"] files = [ - {file = "PyJWT-2.10.1-py3-none-any.whl", hash = "sha256:dcdd193e30abefd5debf142f9adfcdd2b58004e644f25406ffaebd50bd98dacb"}, - {file = "pyjwt-2.10.1.tar.gz", hash = "sha256:3cc5772eb20009233caf06e9d8a0577824723b44e6648ee0a2aedb6cf9381953"}, + {file = "PyJWT-2.9.0-py3-none-any.whl", hash = "sha256:3b02fb0f44517787776cf48f2ae25d8e14f300e6d7545a4315cee571a415e850"}, + {file = "pyjwt-2.9.0.tar.gz", hash = "sha256:7e1e5b56cc735432a7369cbfa0efe50fa113ebecdc04ae6922deba8b84582d0c"}, ] [package.dependencies] @@ -3992,14 +4015,14 @@ testutils = ["gitpython (>3)"] [[package]] name = "pyparsing" -version = "3.2.1" +version = "3.2.3" description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "pyparsing-3.2.1-py3-none-any.whl", hash = "sha256:506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1"}, - {file = "pyparsing-3.2.1.tar.gz", hash = "sha256:61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a"}, + {file = "pyparsing-3.2.3-py3-none-any.whl", hash = "sha256:a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf"}, + {file = "pyparsing-3.2.3.tar.gz", hash = "sha256:b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be"}, ] [package.extras] @@ -4099,14 +4122,14 @@ testing = ["Django", "django-configurations (>=2.0)"] [[package]] name = "pytest-docker-tools" -version = "3.1.3" +version = "3.1.9" description = "Docker integration tests for pytest" optional = false -python-versions = ">=3.7.0,<4.0.0" +python-versions = "<4.0.0,>=3.9.0" groups = ["main"] files = [ - {file = "pytest_docker_tools-3.1.3-py3-none-any.whl", hash = "sha256:63e659043160f41d89f94ea42616102594bcc85682aac394fcbc14f14cd1b189"}, - {file = "pytest_docker_tools-3.1.3.tar.gz", hash = "sha256:c7e28841839d67b3ac80ad7b345b953701d5ae61ffda97586114244292aeacc0"}, + {file = "pytest_docker_tools-3.1.9-py2.py3-none-any.whl", hash = "sha256:36f8e88d56d84ea177df68a175673681243dd991d2807fbf551d90f60341bfdb"}, + {file = "pytest_docker_tools-3.1.9.tar.gz", hash = "sha256:1b6a0cb633c20145731313335ef15bcf5571839c06726764e60cbe495324782b"}, ] [package.dependencies] @@ -4227,32 +4250,30 @@ files = [ [[package]] name = "pywin32" -version = "308" +version = "310" description = "Python for Window Extensions" optional = false python-versions = "*" groups = ["main", "dev"] +markers = "sys_platform == \"win32\"" files = [ - {file = "pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e"}, - {file = "pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e"}, - {file = "pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c"}, - {file = "pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a"}, - {file = "pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b"}, - {file = "pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6"}, - {file = "pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897"}, - {file = "pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47"}, - {file = "pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091"}, - {file = "pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed"}, - {file = "pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4"}, - {file = "pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd"}, - {file = "pywin32-308-cp37-cp37m-win32.whl", hash = "sha256:1f696ab352a2ddd63bd07430080dd598e6369152ea13a25ebcdd2f503a38f1ff"}, - {file = "pywin32-308-cp37-cp37m-win_amd64.whl", hash = "sha256:13dcb914ed4347019fbec6697a01a0aec61019c1046c2b905410d197856326a6"}, - {file = "pywin32-308-cp38-cp38-win32.whl", hash = "sha256:5794e764ebcabf4ff08c555b31bd348c9025929371763b2183172ff4708152f0"}, - {file = "pywin32-308-cp38-cp38-win_amd64.whl", hash = "sha256:3b92622e29d651c6b783e368ba7d6722b1634b8e70bd376fd7610fe1992e19de"}, - {file = "pywin32-308-cp39-cp39-win32.whl", hash = "sha256:7873ca4dc60ab3287919881a7d4f88baee4a6e639aa6962de25a98ba6b193341"}, - {file = "pywin32-308-cp39-cp39-win_amd64.whl", hash = "sha256:71b3322d949b4cc20776436a9c9ba0eeedcbc9c650daa536df63f0ff111bb920"}, + {file = "pywin32-310-cp310-cp310-win32.whl", hash = "sha256:6dd97011efc8bf51d6793a82292419eba2c71cf8e7250cfac03bba284454abc1"}, + {file = "pywin32-310-cp310-cp310-win_amd64.whl", hash = "sha256:c3e78706e4229b915a0821941a84e7ef420bf2b77e08c9dae3c76fd03fd2ae3d"}, + {file = "pywin32-310-cp310-cp310-win_arm64.whl", hash = "sha256:33babed0cf0c92a6f94cc6cc13546ab24ee13e3e800e61ed87609ab91e4c8213"}, + {file = "pywin32-310-cp311-cp311-win32.whl", hash = "sha256:1e765f9564e83011a63321bb9d27ec456a0ed90d3732c4b2e312b855365ed8bd"}, + {file = "pywin32-310-cp311-cp311-win_amd64.whl", hash = "sha256:126298077a9d7c95c53823934f000599f66ec9296b09167810eb24875f32689c"}, + {file = "pywin32-310-cp311-cp311-win_arm64.whl", hash = "sha256:19ec5fc9b1d51c4350be7bb00760ffce46e6c95eaf2f0b2f1150657b1a43c582"}, + {file = "pywin32-310-cp312-cp312-win32.whl", hash = "sha256:8a75a5cc3893e83a108c05d82198880704c44bbaee4d06e442e471d3c9ea4f3d"}, + {file = "pywin32-310-cp312-cp312-win_amd64.whl", hash = "sha256:bf5c397c9a9a19a6f62f3fb821fbf36cac08f03770056711f765ec1503972060"}, + {file = "pywin32-310-cp312-cp312-win_arm64.whl", hash = "sha256:2349cc906eae872d0663d4d6290d13b90621eaf78964bb1578632ff20e152966"}, + {file = "pywin32-310-cp313-cp313-win32.whl", hash = "sha256:5d241a659c496ada3253cd01cfaa779b048e90ce4b2b38cd44168ad555ce74ab"}, + {file = "pywin32-310-cp313-cp313-win_amd64.whl", hash = "sha256:667827eb3a90208ddbdcc9e860c81bde63a135710e21e4cb3348968e4bd5249e"}, + {file = "pywin32-310-cp313-cp313-win_arm64.whl", hash = "sha256:e308f831de771482b7cf692a1f308f8fca701b2d8f9dde6cc440c7da17e47b33"}, + {file = "pywin32-310-cp38-cp38-win32.whl", hash = "sha256:0867beb8addefa2e3979d4084352e4ac6e991ca45373390775f7084cc0209b9c"}, + {file = "pywin32-310-cp38-cp38-win_amd64.whl", hash = "sha256:30f0a9b3138fb5e07eb4973b7077e1883f558e40c578c6925acc7a94c34eaa36"}, + {file = "pywin32-310-cp39-cp39-win32.whl", hash = "sha256:851c8d927af0d879221e616ae1f66145253537bbdd321a77e8ef701b443a9a1a"}, + {file = "pywin32-310-cp39-cp39-win_amd64.whl", hash = "sha256:96867217335559ac619f00ad70e513c0fcf84b8a3af9fc2bba3b59b97da70475"}, ] -markers = {main = "sys_platform == \"win32\" or platform_system == \"Windows\"", dev = "sys_platform == \"win32\""} [[package]] name = "pyyaml" @@ -4426,14 +4447,14 @@ six = ">=1.7.0" [[package]] name = "rich" -version = "13.9.4" +version = "14.0.0" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.8.0" groups = ["dev"] files = [ - {file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"}, - {file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"}, + {file = "rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0"}, + {file = "rich-14.0.0.tar.gz", hash = "sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725"}, ] [package.dependencies] @@ -4445,127 +4466,138 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "rpds-py" -version = "0.22.3" +version = "0.24.0" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967"}, - {file = "rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf"}, - {file = "rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652"}, - {file = "rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8"}, - {file = "rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f"}, - {file = "rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a"}, - {file = "rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64"}, - {file = "rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c"}, - {file = "rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e"}, - {file = "rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7"}, - {file = "rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627"}, - {file = "rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4"}, - {file = "rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84"}, - {file = "rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f"}, - {file = "rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de"}, - {file = "rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9"}, - {file = "rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333"}, - {file = "rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730"}, - {file = "rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf"}, - {file = "rpds_py-0.22.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:378753b4a4de2a7b34063d6f95ae81bfa7b15f2c1a04a9518e8644e81807ebea"}, - {file = "rpds_py-0.22.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3445e07bf2e8ecfeef6ef67ac83de670358abf2996916039b16a218e3d95e97e"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b2513ba235829860b13faa931f3b6846548021846ac808455301c23a101689d"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eaf16ae9ae519a0e237a0f528fd9f0197b9bb70f40263ee57ae53c2b8d48aeb3"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:583f6a1993ca3369e0f80ba99d796d8e6b1a3a2a442dd4e1a79e652116413091"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4617e1915a539a0d9a9567795023de41a87106522ff83fbfaf1f6baf8e85437e"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c150c7a61ed4a4f4955a96626574e9baf1adf772c2fb61ef6a5027e52803543"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fa4331c200c2521512595253f5bb70858b90f750d39b8cbfd67465f8d1b596d"}, - {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:214b7a953d73b5e87f0ebece4a32a5bd83c60a3ecc9d4ec8f1dca968a2d91e99"}, - {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f47ad3d5f3258bd7058d2d506852217865afefe6153a36eb4b6928758041d831"}, - {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f276b245347e6e36526cbd4a266a417796fc531ddf391e43574cf6466c492520"}, - {file = "rpds_py-0.22.3-cp39-cp39-win32.whl", hash = "sha256:bbb232860e3d03d544bc03ac57855cd82ddf19c7a07651a7c0fdb95e9efea8b9"}, - {file = "rpds_py-0.22.3-cp39-cp39-win_amd64.whl", hash = "sha256:cfbc454a2880389dbb9b5b398e50d439e2e58669160f27b60e5eca11f68ae17c"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bb47271f60660803ad11f4c61b42242b8c1312a31c98c578f79ef9387bbde21c"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:70fb28128acbfd264eda9bf47015537ba3fe86e40d046eb2963d75024be4d055"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44d61b4b7d0c2c9ac019c314e52d7cbda0ae31078aabd0f22e583af3e0d79723"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f0e260eaf54380380ac3808aa4ebe2d8ca28b9087cf411649f96bad6900c728"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b25bc607423935079e05619d7de556c91fb6adeae9d5f80868dde3468657994b"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fb6116dfb8d1925cbdb52595560584db42a7f664617a1f7d7f6e32f138cdf37d"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a63cbdd98acef6570c62b92a1e43266f9e8b21e699c363c0fef13bd530799c11"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b8f60e1b739a74bab7e01fcbe3dddd4657ec685caa04681df9d562ef15b625f"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2e8b55d8517a2fda8d95cb45d62a5a8bbf9dd0ad39c5b25c8833efea07b880ca"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:2de29005e11637e7a2361fa151f780ff8eb2543a0da1413bb951e9f14b699ef3"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:666ecce376999bf619756a24ce15bb14c5bfaf04bf00abc7e663ce17c3f34fe7"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5246b14ca64a8675e0a7161f7af68fe3e910e6b90542b4bfb5439ba752191df6"}, - {file = "rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d"}, + {file = "rpds_py-0.24.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:006f4342fe729a368c6df36578d7a348c7c716be1da0a1a0f86e3021f8e98724"}, + {file = "rpds_py-0.24.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2d53747da70a4e4b17f559569d5f9506420966083a31c5fbd84e764461c4444b"}, + {file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8acd55bd5b071156bae57b555f5d33697998752673b9de554dd82f5b5352727"}, + {file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7e80d375134ddb04231a53800503752093dbb65dad8dabacce2c84cccc78e964"}, + {file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:60748789e028d2a46fc1c70750454f83c6bdd0d05db50f5ae83e2db500b34da5"}, + {file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6e1daf5bf6c2be39654beae83ee6b9a12347cb5aced9a29eecf12a2d25fff664"}, + {file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b221c2457d92a1fb3c97bee9095c874144d196f47c038462ae6e4a14436f7bc"}, + {file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:66420986c9afff67ef0c5d1e4cdc2d0e5262f53ad11e4f90e5e22448df485bf0"}, + {file = "rpds_py-0.24.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:43dba99f00f1d37b2a0265a259592d05fcc8e7c19d140fe51c6e6f16faabeb1f"}, + {file = "rpds_py-0.24.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a88c0d17d039333a41d9bf4616bd062f0bd7aa0edeb6cafe00a2fc2a804e944f"}, + {file = "rpds_py-0.24.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc31e13ce212e14a539d430428cd365e74f8b2d534f8bc22dd4c9c55b277b875"}, + {file = "rpds_py-0.24.0-cp310-cp310-win32.whl", hash = "sha256:fc2c1e1b00f88317d9de6b2c2b39b012ebbfe35fe5e7bef980fd2a91f6100a07"}, + {file = "rpds_py-0.24.0-cp310-cp310-win_amd64.whl", hash = "sha256:c0145295ca415668420ad142ee42189f78d27af806fcf1f32a18e51d47dd2052"}, + {file = "rpds_py-0.24.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:2d3ee4615df36ab8eb16c2507b11e764dcc11fd350bbf4da16d09cda11fcedef"}, + {file = "rpds_py-0.24.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e13ae74a8a3a0c2f22f450f773e35f893484fcfacb00bb4344a7e0f4f48e1f97"}, + {file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf86f72d705fc2ef776bb7dd9e5fbba79d7e1f3e258bf9377f8204ad0fc1c51e"}, + {file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c43583ea8517ed2e780a345dd9960896afc1327e8cf3ac8239c167530397440d"}, + {file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4cd031e63bc5f05bdcda120646a0d32f6d729486d0067f09d79c8db5368f4586"}, + {file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:34d90ad8c045df9a4259c47d2e16a3f21fdb396665c94520dbfe8766e62187a4"}, + {file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e838bf2bb0b91ee67bf2b889a1a841e5ecac06dd7a2b1ef4e6151e2ce155c7ae"}, + {file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04ecf5c1ff4d589987b4d9882872f80ba13da7d42427234fce8f22efb43133bc"}, + {file = "rpds_py-0.24.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:630d3d8ea77eabd6cbcd2ea712e1c5cecb5b558d39547ac988351195db433f6c"}, + {file = "rpds_py-0.24.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ebcb786b9ff30b994d5969213a8430cbb984cdd7ea9fd6df06663194bd3c450c"}, + {file = "rpds_py-0.24.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:174e46569968ddbbeb8a806d9922f17cd2b524aa753b468f35b97ff9c19cb718"}, + {file = "rpds_py-0.24.0-cp311-cp311-win32.whl", hash = "sha256:5ef877fa3bbfb40b388a5ae1cb00636a624690dcb9a29a65267054c9ea86d88a"}, + {file = "rpds_py-0.24.0-cp311-cp311-win_amd64.whl", hash = "sha256:e274f62cbd274359eff63e5c7e7274c913e8e09620f6a57aae66744b3df046d6"}, + {file = "rpds_py-0.24.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:d8551e733626afec514b5d15befabea0dd70a343a9f23322860c4f16a9430205"}, + {file = "rpds_py-0.24.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0e374c0ce0ca82e5b67cd61fb964077d40ec177dd2c4eda67dba130de09085c7"}, + {file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d69d003296df4840bd445a5d15fa5b6ff6ac40496f956a221c4d1f6f7b4bc4d9"}, + {file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8212ff58ac6dfde49946bea57474a386cca3f7706fc72c25b772b9ca4af6b79e"}, + {file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:528927e63a70b4d5f3f5ccc1fa988a35456eb5d15f804d276709c33fc2f19bda"}, + {file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a824d2c7a703ba6daaca848f9c3d5cb93af0505be505de70e7e66829affd676e"}, + {file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44d51febb7a114293ffd56c6cf4736cb31cd68c0fddd6aa303ed09ea5a48e029"}, + {file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3fab5f4a2c64a8fb64fc13b3d139848817a64d467dd6ed60dcdd6b479e7febc9"}, + {file = "rpds_py-0.24.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9be4f99bee42ac107870c61dfdb294d912bf81c3c6d45538aad7aecab468b6b7"}, + {file = "rpds_py-0.24.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:564c96b6076a98215af52f55efa90d8419cc2ef45d99e314fddefe816bc24f91"}, + {file = "rpds_py-0.24.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:75a810b7664c17f24bf2ffd7f92416c00ec84b49bb68e6a0d93e542406336b56"}, + {file = "rpds_py-0.24.0-cp312-cp312-win32.whl", hash = "sha256:f6016bd950be4dcd047b7475fdf55fb1e1f59fc7403f387be0e8123e4a576d30"}, + {file = "rpds_py-0.24.0-cp312-cp312-win_amd64.whl", hash = "sha256:998c01b8e71cf051c28f5d6f1187abbdf5cf45fc0efce5da6c06447cba997034"}, + {file = "rpds_py-0.24.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:3d2d8e4508e15fc05b31285c4b00ddf2e0eb94259c2dc896771966a163122a0c"}, + {file = "rpds_py-0.24.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0f00c16e089282ad68a3820fd0c831c35d3194b7cdc31d6e469511d9bffc535c"}, + {file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:951cc481c0c395c4a08639a469d53b7d4afa252529a085418b82a6b43c45c240"}, + {file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c9ca89938dff18828a328af41ffdf3902405a19f4131c88e22e776a8e228c5a8"}, + {file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed0ef550042a8dbcd657dfb284a8ee00f0ba269d3f2286b0493b15a5694f9fe8"}, + {file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b2356688e5d958c4d5cb964af865bea84db29971d3e563fb78e46e20fe1848b"}, + {file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78884d155fd15d9f64f5d6124b486f3d3f7fd7cd71a78e9670a0f6f6ca06fb2d"}, + {file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6a4a535013aeeef13c5532f802708cecae8d66c282babb5cd916379b72110cf7"}, + {file = "rpds_py-0.24.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:84e0566f15cf4d769dade9b366b7b87c959be472c92dffb70462dd0844d7cbad"}, + {file = "rpds_py-0.24.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:823e74ab6fbaa028ec89615ff6acb409e90ff45580c45920d4dfdddb069f2120"}, + {file = "rpds_py-0.24.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c61a2cb0085c8783906b2f8b1f16a7e65777823c7f4d0a6aaffe26dc0d358dd9"}, + {file = "rpds_py-0.24.0-cp313-cp313-win32.whl", hash = "sha256:60d9b630c8025b9458a9d114e3af579a2c54bd32df601c4581bd054e85258143"}, + {file = "rpds_py-0.24.0-cp313-cp313-win_amd64.whl", hash = "sha256:6eea559077d29486c68218178ea946263b87f1c41ae7f996b1f30a983c476a5a"}, + {file = "rpds_py-0.24.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:d09dc82af2d3c17e7dd17120b202a79b578d79f2b5424bda209d9966efeed114"}, + {file = "rpds_py-0.24.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5fc13b44de6419d1e7a7e592a4885b323fbc2f46e1f22151e3a8ed3b8b920405"}, + {file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c347a20d79cedc0a7bd51c4d4b7dbc613ca4e65a756b5c3e57ec84bd43505b47"}, + {file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:20f2712bd1cc26a3cc16c5a1bfee9ed1abc33d4cdf1aabd297fe0eb724df4272"}, + {file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aad911555286884be1e427ef0dc0ba3929e6821cbeca2194b13dc415a462c7fd"}, + {file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0aeb3329c1721c43c58cae274d7d2ca85c1690d89485d9c63a006cb79a85771a"}, + {file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a0f156e9509cee987283abd2296ec816225145a13ed0391df8f71bf1d789e2d"}, + {file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aa6800adc8204ce898c8a424303969b7aa6a5e4ad2789c13f8648739830323b7"}, + {file = "rpds_py-0.24.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a18fc371e900a21d7392517c6f60fe859e802547309e94313cd8181ad9db004d"}, + {file = "rpds_py-0.24.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:9168764133fd919f8dcca2ead66de0105f4ef5659cbb4fa044f7014bed9a1797"}, + {file = "rpds_py-0.24.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5f6e3cec44ba05ee5cbdebe92d052f69b63ae792e7d05f1020ac5e964394080c"}, + {file = "rpds_py-0.24.0-cp313-cp313t-win32.whl", hash = "sha256:8ebc7e65ca4b111d928b669713865f021b7773350eeac4a31d3e70144297baba"}, + {file = "rpds_py-0.24.0-cp313-cp313t-win_amd64.whl", hash = "sha256:675269d407a257b8c00a6b58205b72eec8231656506c56fd429d924ca00bb350"}, + {file = "rpds_py-0.24.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a36b452abbf29f68527cf52e181fced56685731c86b52e852053e38d8b60bc8d"}, + {file = "rpds_py-0.24.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8b3b397eefecec8e8e39fa65c630ef70a24b09141a6f9fc17b3c3a50bed6b50e"}, + {file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdabcd3beb2a6dca7027007473d8ef1c3b053347c76f685f5f060a00327b8b65"}, + {file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5db385bacd0c43f24be92b60c857cf760b7f10d8234f4bd4be67b5b20a7c0b6b"}, + {file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8097b3422d020ff1c44effc40ae58e67d93e60d540a65649d2cdaf9466030791"}, + {file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:493fe54318bed7d124ce272fc36adbf59d46729659b2c792e87c3b95649cdee9"}, + {file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8aa362811ccdc1f8dadcc916c6d47e554169ab79559319ae9fae7d7752d0d60c"}, + {file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d8f9a6e7fd5434817526815f09ea27f2746c4a51ee11bb3439065f5fc754db58"}, + {file = "rpds_py-0.24.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8205ee14463248d3349131bb8099efe15cd3ce83b8ef3ace63c7e976998e7124"}, + {file = "rpds_py-0.24.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:921ae54f9ecba3b6325df425cf72c074cd469dea843fb5743a26ca7fb2ccb149"}, + {file = "rpds_py-0.24.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:32bab0a56eac685828e00cc2f5d1200c548f8bc11f2e44abf311d6b548ce2e45"}, + {file = "rpds_py-0.24.0-cp39-cp39-win32.whl", hash = "sha256:f5c0ed12926dec1dfe7d645333ea59cf93f4d07750986a586f511c0bc61fe103"}, + {file = "rpds_py-0.24.0-cp39-cp39-win_amd64.whl", hash = "sha256:afc6e35f344490faa8276b5f2f7cbf71f88bc2cda4328e00553bd451728c571f"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:619ca56a5468f933d940e1bf431c6f4e13bef8e688698b067ae68eb4f9b30e3a"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:4b28e5122829181de1898c2c97f81c0b3246d49f585f22743a1246420bb8d399"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e5ab32cf9eb3647450bc74eb201b27c185d3857276162c101c0f8c6374e098"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:208b3a70a98cf3710e97cabdc308a51cd4f28aa6e7bb11de3d56cd8b74bab98d"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbc4362e06f950c62cad3d4abf1191021b2ffaf0b31ac230fbf0526453eee75e"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ebea2821cdb5f9fef44933617be76185b80150632736f3d76e54829ab4a3b4d1"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9a4df06c35465ef4d81799999bba810c68d29972bf1c31db61bfdb81dd9d5bb"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d3aa13bdf38630da298f2e0d77aca967b200b8cc1473ea05248f6c5e9c9bdb44"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:041f00419e1da7a03c46042453598479f45be3d787eb837af382bfc169c0db33"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:d8754d872a5dfc3c5bf9c0e059e8107451364a30d9fd50f1f1a85c4fb9481164"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:896c41007931217a343eff197c34513c154267636c8056fb409eafd494c3dcdc"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:92558d37d872e808944c3c96d0423b8604879a3d1c86fdad508d7ed91ea547d5"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f9e0057a509e096e47c87f753136c9b10d7a91842d8042c2ee6866899a717c0d"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d6e109a454412ab82979c5b1b3aee0604eca4bbf9a02693bb9df027af2bfa91a"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc1c892b1ec1f8cbd5da8de287577b455e388d9c328ad592eabbdcb6fc93bee5"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9c39438c55983d48f4bb3487734d040e22dad200dab22c41e331cee145e7a50d"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d7e8ce990ae17dda686f7e82fd41a055c668e13ddcf058e7fb5e9da20b57793"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9ea7f4174d2e4194289cb0c4e172d83e79a6404297ff95f2875cf9ac9bced8ba"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb2954155bb8f63bb19d56d80e5e5320b61d71084617ed89efedb861a684baea"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04f2b712a2206e13800a8136b07aaedc23af3facab84918e7aa89e4be0260032"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:eda5c1e2a715a4cbbca2d6d304988460942551e4e5e3b7457b50943cd741626d"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:9abc80fe8c1f87218db116016de575a7998ab1629078c90840e8d11ab423ee25"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:6a727fd083009bc83eb83d6950f0c32b3c94c8b80a9b667c87f4bd1274ca30ba"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e0f3ef95795efcd3b2ec3fe0a5bcfb5dadf5e3996ea2117427e524d4fbf309c6"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:2c13777ecdbbba2077670285dd1fe50828c8742f6a4119dbef6f83ea13ad10fb"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79e8d804c2ccd618417e96720ad5cd076a86fa3f8cb310ea386a3e6229bae7d1"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fd822f019ccccd75c832deb7aa040bb02d70a92eb15a2f16c7987b7ad4ee8d83"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0047638c3aa0dbcd0ab99ed1e549bbf0e142c9ecc173b6492868432d8989a046"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a5b66d1b201cc71bc3081bc2f1fc36b0c1f268b773e03bbc39066651b9e18391"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbcbb6db5582ea33ce46a5d20a5793134b5365110d84df4e30b9d37c6fd40ad3"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:63981feca3f110ed132fd217bf7768ee8ed738a55549883628ee3da75bb9cb78"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:3a55fc10fdcbf1a4bd3c018eea422c52cf08700cf99c28b5cb10fe97ab77a0d3"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:c30ff468163a48535ee7e9bf21bd14c7a81147c0e58a36c1078289a8ca7af0bd"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:369d9c6d4c714e36d4a03957b4783217a3ccd1e222cdd67d464a3a479fc17796"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:24795c099453e3721fda5d8ddd45f5dfcc8e5a547ce7b8e9da06fecc3832e26f"}, + {file = "rpds_py-0.24.0.tar.gz", hash = "sha256:772cc1b2cd963e7e17e6cc55fe0371fb9c704d63e44cacec7b9b7f523b78919e"}, ] [[package]] name = "rsa" -version = "4.9" +version = "4.9.1" description = "Pure-Python RSA implementation" optional = false -python-versions = ">=3.6,<4" +python-versions = "<4,>=3.6" groups = ["main"] files = [ - {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, - {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, + {file = "rsa-4.9.1-py3-none-any.whl", hash = "sha256:68635866661c6836b8d39430f97a996acbd61bfa49406748ea243539fe239762"}, + {file = "rsa-4.9.1.tar.gz", hash = "sha256:e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75"}, ] [package.dependencies] @@ -4757,14 +4789,14 @@ files = [ [[package]] name = "sentry-sdk" -version = "2.20.0" +version = "2.26.1" description = "Python client for Sentry (https://sentry.io)" optional = false python-versions = ">=3.6" groups = ["main"] files = [ - {file = "sentry_sdk-2.20.0-py2.py3-none-any.whl", hash = "sha256:c359a1edf950eb5e80cffd7d9111f3dbeef57994cb4415df37d39fda2cf22364"}, - {file = "sentry_sdk-2.20.0.tar.gz", hash = "sha256:afa82713a92facf847df3c6f63cec71eb488d826a50965def3d7722aa6f0fdab"}, + {file = "sentry_sdk-2.26.1-py2.py3-none-any.whl", hash = "sha256:e99390e3f217d13ddcbaeaed08789f1ca614d663b345b9da42e35ad6b60d696a"}, + {file = "sentry_sdk-2.26.1.tar.gz", hash = "sha256:759e019c41551a21519a95e6cef6d91fb4af1054761923dadaee2e6eca9c02c7"}, ] [package.dependencies] @@ -4809,24 +4841,25 @@ sanic = ["sanic (>=0.8)"] sqlalchemy = ["sqlalchemy (>=1.2)"] starlette = ["starlette (>=0.19.1)"] starlite = ["starlite (>=1.48)"] +statsig = ["statsig (>=0.55.3)"] tornado = ["tornado (>=6)"] unleash = ["UnleashClient (>=6.0.1)"] [[package]] name = "setuptools" -version = "75.8.0" +version = "79.0.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.9" groups = ["main", "dev"] files = [ - {file = "setuptools-75.8.0-py3-none-any.whl", hash = "sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3"}, - {file = "setuptools-75.8.0.tar.gz", hash = "sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6"}, + {file = "setuptools-79.0.0-py3-none-any.whl", hash = "sha256:b9ab3a104bedb292323f53797b00864e10e434a3ab3906813a7169e4745b912a"}, + {file = "setuptools-79.0.0.tar.gz", hash = "sha256:9828422e7541213b0aacb6e10bbf9dd8febeaa45a48570e09b6d100e063fc9f9"}, ] [package.extras] check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\"", "ruff (>=0.8.0) ; sys_platform != \"cygwin\""] -core = ["importlib_metadata (>=6) ; python_version < \"3.10\"", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1) ; python_version < \"3.11\"", "wheel (>=0.43.0)"] +core = ["importlib_metadata (>=6) ; python_version < \"3.10\"", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1) ; python_version < \"3.11\"", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] @@ -4933,14 +4966,14 @@ files = [ [[package]] name = "stevedore" -version = "5.4.0" +version = "5.4.1" description = "Manage dynamic plugins for Python applications" optional = false python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "stevedore-5.4.0-py3-none-any.whl", hash = "sha256:b0be3c4748b3ea7b854b265dcb4caa891015e442416422be16f8b31756107857"}, - {file = "stevedore-5.4.0.tar.gz", hash = "sha256:79e92235ecb828fe952b6b8b0c6c87863248631922c8e8e0fa5b17b232c4514d"}, + {file = "stevedore-5.4.1-py3-none-any.whl", hash = "sha256:d10a31c7b86cba16c1f6e8d15416955fc797052351a56af15e608ad20811fcfe"}, + {file = "stevedore-5.4.1.tar.gz", hash = "sha256:3135b5ae50fe12816ef291baff420acb727fcd356106e3e9cbfa9e5985cd6f4b"}, ] [package.dependencies] @@ -4963,14 +4996,14 @@ widechars = ["wcwidth"] [[package]] name = "tenacity" -version = "9.0.0" +version = "9.1.2" description = "Retry code until it succeeds" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "tenacity-9.0.0-py3-none-any.whl", hash = "sha256:93de0c98785b27fcf659856aa9f54bfbd399e29969b0621bc7f762bd441b4539"}, - {file = "tenacity-9.0.0.tar.gz", hash = "sha256:807f37ca97d62aa361264d497b0e31e92b8027044942bfa756160d908320d73b"}, + {file = "tenacity-9.1.2-py3-none-any.whl", hash = "sha256:f77bf36710d8b73a50b2dd155c97b870017ad21afe6ab300326b0371b3b05138"}, + {file = "tenacity-9.1.2.tar.gz", hash = "sha256:1169d376c297e7de388d18b4481760d478b0e99a777cad3a9c86e556f4b697cb"}, ] [package.extras] @@ -4979,14 +5012,14 @@ test = ["pytest", "tornado (>=4.5)", "typeguard"] [[package]] name = "tldextract" -version = "5.1.3" +version = "5.3.0" description = "Accurately separates a URL's subdomain, domain, and public suffix, using the Public Suffix List (PSL). By default, this includes the public ICANN TLDs and their exceptions. You can optionally support the Public Suffix List's private domains as well." optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "tldextract-5.1.3-py3-none-any.whl", hash = "sha256:78de310cc2ca018692de5ddf320f9d6bd7c5cf857d0fd4f2175f0cdf4440ea75"}, - {file = "tldextract-5.1.3.tar.gz", hash = "sha256:d43c7284c23f5dc8a42fd0fee2abede2ff74cc622674e4cb07f514ab3330c338"}, + {file = "tldextract-5.3.0-py3-none-any.whl", hash = "sha256:f70f31d10b55c83993f55e91ecb7c5d84532a8972f22ec578ecfbe5ea2292db2"}, + {file = "tldextract-5.3.0.tar.gz", hash = "sha256:b3d2b70a1594a0ecfa6967d57251527d58e00bb5a91a74387baa0d87a0678609"}, ] [package.dependencies] @@ -5035,14 +5068,14 @@ telegram = ["requests"] [[package]] name = "typer" -version = "0.15.1" +version = "0.15.2" description = "Typer, build great CLIs. Easy to code. Based on Python type hints." optional = false python-versions = ">=3.7" groups = ["dev"] files = [ - {file = "typer-0.15.1-py3-none-any.whl", hash = "sha256:7994fb7b8155b64d3402518560648446072864beefd44aa2dc36972a5972e847"}, - {file = "typer-0.15.1.tar.gz", hash = "sha256:a0588c0a7fa68a1978a069818657778f86abe6ff5ea6abf472f940a08bfe4f0a"}, + {file = "typer-0.15.2-py3-none-any.whl", hash = "sha256:46a499c6107d645a9c13f7ee46c5d5096cae6f5fc57dd11eccbbb9ae3e44ddfc"}, + {file = "typer-0.15.2.tar.gz", hash = "sha256:ab2fab47533a813c49fe1f16b1a370fd5819099c00b119e0633df65f22144ba5"}, ] [package.dependencies] @@ -5053,39 +5086,39 @@ typing-extensions = ">=3.7.4.3" [[package]] name = "typing-extensions" -version = "4.12.2" +version = "4.13.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" groups = ["main", "dev"] files = [ - {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, - {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, + {file = "typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c"}, + {file = "typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef"}, ] [[package]] name = "tzdata" -version = "2025.1" +version = "2025.2" description = "Provider of IANA time zone data" optional = false python-versions = ">=2" groups = ["main", "dev"] files = [ - {file = "tzdata-2025.1-py2.py3-none-any.whl", hash = "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639"}, - {file = "tzdata-2025.1.tar.gz", hash = "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694"}, + {file = "tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8"}, + {file = "tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9"}, ] markers = {dev = "sys_platform == \"win32\""} [[package]] name = "tzlocal" -version = "5.2" +version = "5.3.1" description = "tzinfo object for the local timezone" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "tzlocal-5.2-py3-none-any.whl", hash = "sha256:49816ef2fe65ea8ac19d19aa7a1ae0551c834303d5014c6d5a62e4cbda8047b8"}, - {file = "tzlocal-5.2.tar.gz", hash = "sha256:8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e"}, + {file = "tzlocal-5.3.1-py3-none-any.whl", hash = "sha256:eb1a66c3ef5847adf7a834f1be0800581b683b5608e74f86ecbcef8ab91bb85d"}, + {file = "tzlocal-5.3.1.tar.gz", hash = "sha256:cceffc7edecefea1f595541dbd6e990cb1ea3d19bf01b2809f362a03dd7921fd"}, ] [package.dependencies] @@ -5108,14 +5141,14 @@ files = [ [[package]] name = "urllib3" -version = "2.3.0" +version = "2.4.0" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.9" groups = ["main", "dev"] files = [ - {file = "urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df"}, - {file = "urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"}, + {file = "urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813"}, + {file = "urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466"}, ] [package.extras] @@ -5298,112 +5331,134 @@ files = [ [[package]] name = "xlsxwriter" -version = "3.2.2" +version = "3.2.3" description = "A Python module for creating Excel XLSX files." optional = false python-versions = ">=3.6" groups = ["main"] files = [ - {file = "XlsxWriter-3.2.2-py3-none-any.whl", hash = "sha256:272ce861e7fa5e82a4a6ebc24511f2cb952fde3461f6c6e1a1e81d3272db1471"}, - {file = "xlsxwriter-3.2.2.tar.gz", hash = "sha256:befc7f92578a85fed261639fb6cde1fd51b79c5e854040847dde59d4317077dc"}, + {file = "XlsxWriter-3.2.3-py3-none-any.whl", hash = "sha256:593f8296e8a91790c6d0378ab08b064f34a642b3feb787cf6738236bd0a4860d"}, + {file = "xlsxwriter-3.2.3.tar.gz", hash = "sha256:ad6fd41bdcf1b885876b1f6b7087560aecc9ae5a9cc2ba97dcac7ab2e210d3d5"}, ] [[package]] name = "yarl" -version = "1.18.3" +version = "1.20.0" description = "Yet another URL library" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7df647e8edd71f000a5208fe6ff8c382a1de8edfbccdbbfe649d263de07d8c34"}, - {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c69697d3adff5aa4f874b19c0e4ed65180ceed6318ec856ebc423aa5850d84f7"}, - {file = "yarl-1.18.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:602d98f2c2d929f8e697ed274fbadc09902c4025c5a9963bf4e9edfc3ab6f7ed"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c654d5207c78e0bd6d749f6dae1dcbbfde3403ad3a4b11f3c5544d9906969dde"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5094d9206c64181d0f6e76ebd8fb2f8fe274950a63890ee9e0ebfd58bf9d787b"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35098b24e0327fc4ebdc8ffe336cee0a87a700c24ffed13161af80124b7dc8e5"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3236da9272872443f81fedc389bace88408f64f89f75d1bdb2256069a8730ccc"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2c08cc9b16f4f4bc522771d96734c7901e7ebef70c6c5c35dd0f10845270bcd"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80316a8bd5109320d38eef8833ccf5f89608c9107d02d2a7f985f98ed6876990"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c1e1cc06da1491e6734f0ea1e6294ce00792193c463350626571c287c9a704db"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fea09ca13323376a2fdfb353a5fa2e59f90cd18d7ca4eaa1fd31f0a8b4f91e62"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e3b9fd71836999aad54084906f8663dffcd2a7fb5cdafd6c37713b2e72be1760"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:757e81cae69244257d125ff31663249b3013b5dc0a8520d73694aed497fb195b"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b1771de9944d875f1b98a745bc547e684b863abf8f8287da8466cf470ef52690"}, - {file = "yarl-1.18.3-cp310-cp310-win32.whl", hash = "sha256:8874027a53e3aea659a6d62751800cf6e63314c160fd607489ba5c2edd753cf6"}, - {file = "yarl-1.18.3-cp310-cp310-win_amd64.whl", hash = "sha256:93b2e109287f93db79210f86deb6b9bbb81ac32fc97236b16f7433db7fc437d8"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8503ad47387b8ebd39cbbbdf0bf113e17330ffd339ba1144074da24c545f0069"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02ddb6756f8f4517a2d5e99d8b2f272488e18dd0bfbc802f31c16c6c20f22193"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:67a283dd2882ac98cc6318384f565bffc751ab564605959df4752d42483ad889"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d980e0325b6eddc81331d3f4551e2a333999fb176fd153e075c6d1c2530aa8a8"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b643562c12680b01e17239be267bc306bbc6aac1f34f6444d1bded0c5ce438ca"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c017a3b6df3a1bd45b9fa49a0f54005e53fbcad16633870104b66fa1a30a29d8"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75674776d96d7b851b6498f17824ba17849d790a44d282929c42dbb77d4f17ae"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccaa3a4b521b780a7e771cc336a2dba389a0861592bbce09a476190bb0c8b4b3"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2d06d3005e668744e11ed80812e61efd77d70bb7f03e33c1598c301eea20efbb"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:9d41beda9dc97ca9ab0b9888cb71f7539124bc05df02c0cff6e5acc5a19dcc6e"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ba23302c0c61a9999784e73809427c9dbedd79f66a13d84ad1b1943802eaaf59"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6748dbf9bfa5ba1afcc7556b71cda0d7ce5f24768043a02a58846e4a443d808d"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0b0cad37311123211dc91eadcb322ef4d4a66008d3e1bdc404808992260e1a0e"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fb2171a4486bb075316ee754c6d8382ea6eb8b399d4ec62fde2b591f879778a"}, - {file = "yarl-1.18.3-cp311-cp311-win32.whl", hash = "sha256:61b1a825a13bef4a5f10b1885245377d3cd0bf87cba068e1d9a88c2ae36880e1"}, - {file = "yarl-1.18.3-cp311-cp311-win_amd64.whl", hash = "sha256:b9d60031cf568c627d028239693fd718025719c02c9f55df0a53e587aab951b5"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1dd4bdd05407ced96fed3d7f25dbbf88d2ffb045a0db60dbc247f5b3c5c25d50"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7c33dd1931a95e5d9a772d0ac5e44cac8957eaf58e3c8da8c1414de7dd27c576"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b411eddcfd56a2f0cd6a384e9f4f7aa3efee14b188de13048c25b5e91f1640"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:436c4fc0a4d66b2badc6c5fc5ef4e47bb10e4fd9bf0c79524ac719a01f3607c2"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e35ef8683211db69ffe129a25d5634319a677570ab6b2eba4afa860f54eeaf75"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84b2deecba4a3f1a398df819151eb72d29bfeb3b69abb145a00ddc8d30094512"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e5a1fea0fd4f5bfa7440a47eff01d9822a65b4488f7cff83155a0f31a2ecba"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0e883008013c0e4aef84dcfe2a0b172c4d23c2669412cf5b3371003941f72bb"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a3f356548e34a70b0172d8890006c37be92995f62d95a07b4a42e90fba54272"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ccd17349166b1bee6e529b4add61727d3f55edb7babbe4069b5764c9587a8cc6"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b958ddd075ddba5b09bb0be8a6d9906d2ce933aee81100db289badbeb966f54e"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c7d79f7d9aabd6011004e33b22bc13056a3e3fb54794d138af57f5ee9d9032cb"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4891ed92157e5430874dad17b15eb1fda57627710756c27422200c52d8a4e393"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ce1af883b94304f493698b00d0f006d56aea98aeb49d75ec7d98cd4a777e9285"}, - {file = "yarl-1.18.3-cp312-cp312-win32.whl", hash = "sha256:f91c4803173928a25e1a55b943c81f55b8872f0018be83e3ad4938adffb77dd2"}, - {file = "yarl-1.18.3-cp312-cp312-win_amd64.whl", hash = "sha256:7e2ee16578af3b52ac2f334c3b1f92262f47e02cc6193c598502bd46f5cd1477"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:90adb47ad432332d4f0bc28f83a5963f426ce9a1a8809f5e584e704b82685dcb"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:913829534200eb0f789d45349e55203a091f45c37a2674678744ae52fae23efa"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ef9f7768395923c3039055c14334ba4d926f3baf7b776c923c93d80195624782"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a19f62ff30117e706ebc9090b8ecc79aeb77d0b1f5ec10d2d27a12bc9f66d0"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e17c9361d46a4d5addf777c6dd5eab0715a7684c2f11b88c67ac37edfba6c482"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a74a13a4c857a84a845505fd2d68e54826a2cd01935a96efb1e9d86c728e186"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41f7ce59d6ee7741af71d82020346af364949314ed3d87553763a2df1829cc58"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f52a265001d830bc425f82ca9eabda94a64a4d753b07d623a9f2863fde532b53"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:82123d0c954dc58db301f5021a01854a85bf1f3bb7d12ae0c01afc414a882ca2"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2ec9bbba33b2d00999af4631a3397d1fd78290c48e2a3e52d8dd72db3a067ac8"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:fbd6748e8ab9b41171bb95c6142faf068f5ef1511935a0aa07025438dd9a9bc1"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:877d209b6aebeb5b16c42cbb377f5f94d9e556626b1bfff66d7b0d115be88d0a"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b464c4ab4bfcb41e3bfd3f1c26600d038376c2de3297760dfe064d2cb7ea8e10"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8d39d351e7faf01483cc7ff7c0213c412e38e5a340238826be7e0e4da450fdc8"}, - {file = "yarl-1.18.3-cp313-cp313-win32.whl", hash = "sha256:61ee62ead9b68b9123ec24bc866cbef297dd266175d53296e2db5e7f797f902d"}, - {file = "yarl-1.18.3-cp313-cp313-win_amd64.whl", hash = "sha256:578e281c393af575879990861823ef19d66e2b1d0098414855dd367e234f5b3c"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:61e5e68cb65ac8f547f6b5ef933f510134a6bf31bb178be428994b0cb46c2a04"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe57328fbc1bfd0bd0514470ac692630f3901c0ee39052ae47acd1d90a436719"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a440a2a624683108a1b454705ecd7afc1c3438a08e890a1513d468671d90a04e"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09c7907c8548bcd6ab860e5f513e727c53b4a714f459b084f6580b49fa1b9cee"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4f6450109834af88cb4cc5ecddfc5380ebb9c228695afc11915a0bf82116789"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9ca04806f3be0ac6d558fffc2fdf8fcef767e0489d2684a21912cc4ed0cd1b8"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77a6e85b90a7641d2e07184df5557132a337f136250caafc9ccaa4a2a998ca2c"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6333c5a377c8e2f5fae35e7b8f145c617b02c939d04110c76f29ee3676b5f9a5"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0b3c92fa08759dbf12b3a59579a4096ba9af8dd344d9a813fc7f5070d86bbab1"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:4ac515b860c36becb81bb84b667466885096b5fc85596948548b667da3bf9f24"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:045b8482ce9483ada4f3f23b3774f4e1bf4f23a2d5c912ed5170f68efb053318"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a4bb030cf46a434ec0225bddbebd4b89e6471814ca851abb8696170adb163985"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:54d6921f07555713b9300bee9c50fb46e57e2e639027089b1d795ecd9f7fa910"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1d407181cfa6e70077df3377938c08012d18893f9f20e92f7d2f314a437c30b1"}, - {file = "yarl-1.18.3-cp39-cp39-win32.whl", hash = "sha256:ac36703a585e0929b032fbaab0707b75dc12703766d0b53486eabd5139ebadd5"}, - {file = "yarl-1.18.3-cp39-cp39-win_amd64.whl", hash = "sha256:ba87babd629f8af77f557b61e49e7c7cac36f22f871156b91e10a6e9d4f829e9"}, - {file = "yarl-1.18.3-py3-none-any.whl", hash = "sha256:b57f4f58099328dfb26c6a771d09fb20dbbae81d20cfb66141251ea063bd101b"}, - {file = "yarl-1.18.3.tar.gz", hash = "sha256:ac1801c45cbf77b6c99242eeff4fffb5e4e73a800b5c4ad4fc0be5def634d2e1"}, + {file = "yarl-1.20.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f1f6670b9ae3daedb325fa55fbe31c22c8228f6e0b513772c2e1c623caa6ab22"}, + {file = "yarl-1.20.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:85a231fa250dfa3308f3c7896cc007a47bc76e9e8e8595c20b7426cac4884c62"}, + {file = "yarl-1.20.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1a06701b647c9939d7019acdfa7ebbfbb78ba6aa05985bb195ad716ea759a569"}, + {file = "yarl-1.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7595498d085becc8fb9203aa314b136ab0516c7abd97e7d74f7bb4eb95042abe"}, + {file = "yarl-1.20.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:af5607159085dcdb055d5678fc2d34949bd75ae6ea6b4381e784bbab1c3aa195"}, + {file = "yarl-1.20.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:95b50910e496567434cb77a577493c26bce0f31c8a305135f3bda6a2483b8e10"}, + {file = "yarl-1.20.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b594113a301ad537766b4e16a5a6750fcbb1497dcc1bc8a4daae889e6402a634"}, + {file = "yarl-1.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:083ce0393ea173cd37834eb84df15b6853b555d20c52703e21fbababa8c129d2"}, + {file = "yarl-1.20.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f1a350a652bbbe12f666109fbddfdf049b3ff43696d18c9ab1531fbba1c977a"}, + {file = "yarl-1.20.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fb0caeac4a164aadce342f1597297ec0ce261ec4532bbc5a9ca8da5622f53867"}, + {file = "yarl-1.20.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:d88cc43e923f324203f6ec14434fa33b85c06d18d59c167a0637164863b8e995"}, + {file = "yarl-1.20.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e52d6ed9ea8fd3abf4031325dc714aed5afcbfa19ee4a89898d663c9976eb487"}, + {file = "yarl-1.20.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ce360ae48a5e9961d0c730cf891d40698a82804e85f6e74658fb175207a77cb2"}, + {file = "yarl-1.20.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:06d06c9d5b5bc3eb56542ceeba6658d31f54cf401e8468512447834856fb0e61"}, + {file = "yarl-1.20.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c27d98f4e5c4060582f44e58309c1e55134880558f1add7a87c1bc36ecfade19"}, + {file = "yarl-1.20.0-cp310-cp310-win32.whl", hash = "sha256:f4d3fa9b9f013f7050326e165c3279e22850d02ae544ace285674cb6174b5d6d"}, + {file = "yarl-1.20.0-cp310-cp310-win_amd64.whl", hash = "sha256:bc906b636239631d42eb8a07df8359905da02704a868983265603887ed68c076"}, + {file = "yarl-1.20.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fdb5204d17cb32b2de2d1e21c7461cabfacf17f3645e4b9039f210c5d3378bf3"}, + {file = "yarl-1.20.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:eaddd7804d8e77d67c28d154ae5fab203163bd0998769569861258e525039d2a"}, + {file = "yarl-1.20.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:634b7ba6b4a85cf67e9df7c13a7fb2e44fa37b5d34501038d174a63eaac25ee2"}, + {file = "yarl-1.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d409e321e4addf7d97ee84162538c7258e53792eb7c6defd0c33647d754172e"}, + {file = "yarl-1.20.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ea52f7328a36960ba3231c6677380fa67811b414798a6e071c7085c57b6d20a9"}, + {file = "yarl-1.20.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c8703517b924463994c344dcdf99a2d5ce9eca2b6882bb640aa555fb5efc706a"}, + {file = "yarl-1.20.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:077989b09ffd2f48fb2d8f6a86c5fef02f63ffe6b1dd4824c76de7bb01e4f2e2"}, + {file = "yarl-1.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0acfaf1da020253f3533526e8b7dd212838fdc4109959a2c53cafc6db611bff2"}, + {file = "yarl-1.20.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b4230ac0b97ec5eeb91d96b324d66060a43fd0d2a9b603e3327ed65f084e41f8"}, + {file = "yarl-1.20.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0a6a1e6ae21cdd84011c24c78d7a126425148b24d437b5702328e4ba640a8902"}, + {file = "yarl-1.20.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:86de313371ec04dd2531f30bc41a5a1a96f25a02823558ee0f2af0beaa7ca791"}, + {file = "yarl-1.20.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:dd59c9dd58ae16eaa0f48c3d0cbe6be8ab4dc7247c3ff7db678edecbaf59327f"}, + {file = "yarl-1.20.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a0bc5e05f457b7c1994cc29e83b58f540b76234ba6b9648a4971ddc7f6aa52da"}, + {file = "yarl-1.20.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c9471ca18e6aeb0e03276b5e9b27b14a54c052d370a9c0c04a68cefbd1455eb4"}, + {file = "yarl-1.20.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:40ed574b4df723583a26c04b298b283ff171bcc387bc34c2683235e2487a65a5"}, + {file = "yarl-1.20.0-cp311-cp311-win32.whl", hash = "sha256:db243357c6c2bf3cd7e17080034ade668d54ce304d820c2a58514a4e51d0cfd6"}, + {file = "yarl-1.20.0-cp311-cp311-win_amd64.whl", hash = "sha256:8c12cd754d9dbd14204c328915e23b0c361b88f3cffd124129955e60a4fbfcfb"}, + {file = "yarl-1.20.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e06b9f6cdd772f9b665e5ba8161968e11e403774114420737f7884b5bd7bdf6f"}, + {file = "yarl-1.20.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b9ae2fbe54d859b3ade40290f60fe40e7f969d83d482e84d2c31b9bff03e359e"}, + {file = "yarl-1.20.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6d12b8945250d80c67688602c891237994d203d42427cb14e36d1a732eda480e"}, + {file = "yarl-1.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:087e9731884621b162a3e06dc0d2d626e1542a617f65ba7cc7aeab279d55ad33"}, + {file = "yarl-1.20.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:69df35468b66c1a6e6556248e6443ef0ec5f11a7a4428cf1f6281f1879220f58"}, + {file = "yarl-1.20.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b2992fe29002fd0d4cbaea9428b09af9b8686a9024c840b8a2b8f4ea4abc16f"}, + {file = "yarl-1.20.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4c903e0b42aab48abfbac668b5a9d7b6938e721a6341751331bcd7553de2dcae"}, + {file = "yarl-1.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf099e2432131093cc611623e0b0bcc399b8cddd9a91eded8bfb50402ec35018"}, + {file = "yarl-1.20.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a7f62f5dc70a6c763bec9ebf922be52aa22863d9496a9a30124d65b489ea672"}, + {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:54ac15a8b60382b2bcefd9a289ee26dc0920cf59b05368c9b2b72450751c6eb8"}, + {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:25b3bc0763a7aca16a0f1b5e8ef0f23829df11fb539a1b70476dcab28bd83da7"}, + {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b2586e36dc070fc8fad6270f93242124df68b379c3a251af534030a4a33ef594"}, + {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:866349da9d8c5290cfefb7fcc47721e94de3f315433613e01b435473be63daa6"}, + {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:33bb660b390a0554d41f8ebec5cd4475502d84104b27e9b42f5321c5192bfcd1"}, + {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:737e9f171e5a07031cbee5e9180f6ce21a6c599b9d4b2c24d35df20a52fabf4b"}, + {file = "yarl-1.20.0-cp312-cp312-win32.whl", hash = "sha256:839de4c574169b6598d47ad61534e6981979ca2c820ccb77bf70f4311dd2cc64"}, + {file = "yarl-1.20.0-cp312-cp312-win_amd64.whl", hash = "sha256:3d7dbbe44b443b0c4aa0971cb07dcb2c2060e4a9bf8d1301140a33a93c98e18c"}, + {file = "yarl-1.20.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2137810a20b933b1b1b7e5cf06a64c3ed3b4747b0e5d79c9447c00db0e2f752f"}, + {file = "yarl-1.20.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:447c5eadd750db8389804030d15f43d30435ed47af1313303ed82a62388176d3"}, + {file = "yarl-1.20.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:42fbe577272c203528d402eec8bf4b2d14fd49ecfec92272334270b850e9cd7d"}, + {file = "yarl-1.20.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18e321617de4ab170226cd15006a565d0fa0d908f11f724a2c9142d6b2812ab0"}, + {file = "yarl-1.20.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4345f58719825bba29895011e8e3b545e6e00257abb984f9f27fe923afca2501"}, + {file = "yarl-1.20.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d9b980d7234614bc4674468ab173ed77d678349c860c3af83b1fffb6a837ddc"}, + {file = "yarl-1.20.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af4baa8a445977831cbaa91a9a84cc09debb10bc8391f128da2f7bd070fc351d"}, + {file = "yarl-1.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:123393db7420e71d6ce40d24885a9e65eb1edefc7a5228db2d62bcab3386a5c0"}, + {file = "yarl-1.20.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ab47acc9332f3de1b39e9b702d9c916af7f02656b2a86a474d9db4e53ef8fd7a"}, + {file = "yarl-1.20.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4a34c52ed158f89876cba9c600b2c964dfc1ca52ba7b3ab6deb722d1d8be6df2"}, + {file = "yarl-1.20.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:04d8cfb12714158abf2618f792c77bc5c3d8c5f37353e79509608be4f18705c9"}, + {file = "yarl-1.20.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7dc63ad0d541c38b6ae2255aaa794434293964677d5c1ec5d0116b0e308031f5"}, + {file = "yarl-1.20.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d02b591a64e4e6ca18c5e3d925f11b559c763b950184a64cf47d74d7e41877"}, + {file = "yarl-1.20.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:95fc9876f917cac7f757df80a5dda9de59d423568460fe75d128c813b9af558e"}, + {file = "yarl-1.20.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bb769ae5760cd1c6a712135ee7915f9d43f11d9ef769cb3f75a23e398a92d384"}, + {file = "yarl-1.20.0-cp313-cp313-win32.whl", hash = "sha256:70e0c580a0292c7414a1cead1e076c9786f685c1fc4757573d2967689b370e62"}, + {file = "yarl-1.20.0-cp313-cp313-win_amd64.whl", hash = "sha256:4c43030e4b0af775a85be1fa0433119b1565673266a70bf87ef68a9d5ba3174c"}, + {file = "yarl-1.20.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b6c4c3d0d6a0ae9b281e492b1465c72de433b782e6b5001c8e7249e085b69051"}, + {file = "yarl-1.20.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8681700f4e4df891eafa4f69a439a6e7d480d64e52bf460918f58e443bd3da7d"}, + {file = "yarl-1.20.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:84aeb556cb06c00652dbf87c17838eb6d92cfd317799a8092cee0e570ee11229"}, + {file = "yarl-1.20.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f166eafa78810ddb383e930d62e623d288fb04ec566d1b4790099ae0f31485f1"}, + {file = "yarl-1.20.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5d3d6d14754aefc7a458261027a562f024d4f6b8a798adb472277f675857b1eb"}, + {file = "yarl-1.20.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a8f64df8ed5d04c51260dbae3cc82e5649834eebea9eadfd829837b8093eb00"}, + {file = "yarl-1.20.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4d9949eaf05b4d30e93e4034a7790634bbb41b8be2d07edd26754f2e38e491de"}, + {file = "yarl-1.20.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c366b254082d21cc4f08f522ac201d0d83a8b8447ab562732931d31d80eb2a5"}, + {file = "yarl-1.20.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:91bc450c80a2e9685b10e34e41aef3d44ddf99b3a498717938926d05ca493f6a"}, + {file = "yarl-1.20.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9c2aa4387de4bc3a5fe158080757748d16567119bef215bec643716b4fbf53f9"}, + {file = "yarl-1.20.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:d2cbca6760a541189cf87ee54ff891e1d9ea6406079c66341008f7ef6ab61145"}, + {file = "yarl-1.20.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:798a5074e656f06b9fad1a162be5a32da45237ce19d07884d0b67a0aa9d5fdda"}, + {file = "yarl-1.20.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:f106e75c454288472dbe615accef8248c686958c2e7dd3b8d8ee2669770d020f"}, + {file = "yarl-1.20.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:3b60a86551669c23dc5445010534d2c5d8a4e012163218fc9114e857c0586fdd"}, + {file = "yarl-1.20.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3e429857e341d5e8e15806118e0294f8073ba9c4580637e59ab7b238afca836f"}, + {file = "yarl-1.20.0-cp313-cp313t-win32.whl", hash = "sha256:65a4053580fe88a63e8e4056b427224cd01edfb5f951498bfefca4052f0ce0ac"}, + {file = "yarl-1.20.0-cp313-cp313t-win_amd64.whl", hash = "sha256:53b2da3a6ca0a541c1ae799c349788d480e5144cac47dba0266c7cb6c76151fe"}, + {file = "yarl-1.20.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:119bca25e63a7725b0c9d20ac67ca6d98fa40e5a894bd5d4686010ff73397914"}, + {file = "yarl-1.20.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:35d20fb919546995f1d8c9e41f485febd266f60e55383090010f272aca93edcc"}, + {file = "yarl-1.20.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:484e7a08f72683c0f160270566b4395ea5412b4359772b98659921411d32ad26"}, + {file = "yarl-1.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d8a3d54a090e0fff5837cd3cc305dd8a07d3435a088ddb1f65e33b322f66a94"}, + {file = "yarl-1.20.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:f0cf05ae2d3d87a8c9022f3885ac6dea2b751aefd66a4f200e408a61ae9b7f0d"}, + {file = "yarl-1.20.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a884b8974729e3899d9287df46f015ce53f7282d8d3340fa0ed57536b440621c"}, + {file = "yarl-1.20.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f8d8aa8dd89ffb9a831fedbcb27d00ffd9f4842107d52dc9d57e64cb34073d5c"}, + {file = "yarl-1.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b4e88d6c3c8672f45a30867817e4537df1bbc6f882a91581faf1f6d9f0f1b5a"}, + {file = "yarl-1.20.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bdb77efde644d6f1ad27be8a5d67c10b7f769804fff7a966ccb1da5a4de4b656"}, + {file = "yarl-1.20.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4ba5e59f14bfe8d261a654278a0f6364feef64a794bd456a8c9e823071e5061c"}, + {file = "yarl-1.20.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:d0bf955b96ea44ad914bc792c26a0edcd71b4668b93cbcd60f5b0aeaaed06c64"}, + {file = "yarl-1.20.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:27359776bc359ee6eaefe40cb19060238f31228799e43ebd3884e9c589e63b20"}, + {file = "yarl-1.20.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:04d9c7a1dc0a26efb33e1acb56c8849bd57a693b85f44774356c92d610369efa"}, + {file = "yarl-1.20.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:faa709b66ae0e24c8e5134033187a972d849d87ed0a12a0366bedcc6b5dc14a5"}, + {file = "yarl-1.20.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:44869ee8538208fe5d9342ed62c11cc6a7a1af1b3d0bb79bb795101b6e77f6e0"}, + {file = "yarl-1.20.0-cp39-cp39-win32.whl", hash = "sha256:b7fa0cb9fd27ffb1211cde944b41f5c67ab1c13a13ebafe470b1e206b8459da8"}, + {file = "yarl-1.20.0-cp39-cp39-win_amd64.whl", hash = "sha256:d4fad6e5189c847820288286732075f213eabf81be4d08d6cc309912e62be5b7"}, + {file = "yarl-1.20.0-py3-none-any.whl", hash = "sha256:5d0fe6af927a47a230f31e6004621fd0959eaa915fc62acfafa67ff7229a3124"}, + {file = "yarl-1.20.0.tar.gz", hash = "sha256:686d51e51ee5dfe62dec86e4866ee0e9ed66df700d55c828a615640adc885307"}, ] [package.dependencies] idna = ">=2.0" multidict = ">=4.0" -propcache = ">=0.2.0" +propcache = ">=0.2.1" [[package]] name = "zipp" @@ -5428,4 +5483,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.1" python-versions = ">=3.11,<3.13" -content-hash = "0da43d42c9cdb0b990cfd184ba776e3ce2a5ee72fbd076e980d7111c772d6000" +content-hash = "f3ede96fb76c14d02da37c1132b41a14fa4045787807446fac2cd1750be193e0" diff --git a/api/pyproject.toml b/api/pyproject.toml index d8e74d6260..974a369ca2 100644 --- a/api/pyproject.toml +++ b/api/pyproject.toml @@ -35,7 +35,7 @@ name = "prowler-api" package-mode = false # Needed for the SDK compatibility requires-python = ">=3.11,<3.13" -version = "1.6.0" +version = "1.7.0" [project.scripts] celery = "src.backend.config.settings.celery" @@ -46,6 +46,7 @@ coverage = "7.5.4" django-silk = "5.3.2" docker = "7.1.0" freezegun = "1.5.1" +marshmallow = ">=3.15.0,<4.0.0" mypy = "1.10.1" pylint = "3.2.5" pytest = "8.2.2" diff --git a/api/src/backend/api/migrations/0017_m365_provider.py b/api/src/backend/api/migrations/0017_m365_provider.py new file mode 100644 index 0000000000..62817560c5 --- /dev/null +++ b/api/src/backend/api/migrations/0017_m365_provider.py @@ -0,0 +1,32 @@ +# Generated by Django 5.1.7 on 2025-04-16 08:47 + +from django.db import migrations + +import api.db_utils + + +class Migration(migrations.Migration): + dependencies = [ + ("api", "0016_finding_compliance_resource_details_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="provider", + name="provider", + field=api.db_utils.ProviderEnumField( + choices=[ + ("aws", "AWS"), + ("azure", "Azure"), + ("gcp", "GCP"), + ("kubernetes", "Kubernetes"), + ("m365", "M365"), + ], + default="aws", + ), + ), + migrations.RunSQL( + "ALTER TYPE provider ADD VALUE IF NOT EXISTS 'm365';", + reverse_sql=migrations.RunSQL.noop, + ), + ] diff --git a/api/src/backend/api/models.py b/api/src/backend/api/models.py index 69b7ead46a..01f88178f0 100644 --- a/api/src/backend/api/models.py +++ b/api/src/backend/api/models.py @@ -191,6 +191,7 @@ class Provider(RowLevelSecurityProtectedModel): AZURE = "azure", _("Azure") GCP = "gcp", _("GCP") KUBERNETES = "kubernetes", _("Kubernetes") + M365 = "m365", _("M365") @staticmethod def validate_aws_uid(value): @@ -214,6 +215,15 @@ class Provider(RowLevelSecurityProtectedModel): pointer="/data/attributes/uid", ) + @staticmethod + def validate_m365_uid(value): + if not re.match(r"^[a-zA-Z0-9-]+\.onmicrosoft\.com$", value): + raise ModelValidationError( + detail="M365 tenant ID must be a valid domain.", + code="m365-uid", + pointer="/data/attributes/uid", + ) + @staticmethod def validate_gcp_uid(value): if not re.match(r"^[a-z][a-z0-9-]{5,29}$", value): diff --git a/api/src/backend/api/specs/v1.yaml b/api/src/backend/api/specs/v1.yaml index 30c9dbb675..bb7c580815 100644 --- a/api/src/backend/api/specs/v1.yaml +++ b/api/src/backend/api/specs/v1.yaml @@ -1,7 +1,7 @@ openapi: 3.0.3 info: title: Prowler API - version: 1.6.0 + version: 1.7.0 description: |- Prowler API specification. @@ -83,11 +83,13 @@ paths: - azure - gcp - kubernetes + - m365 description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 - in: query name: filter[provider_type__in] schema: @@ -99,6 +101,7 @@ paths: - azure - gcp - kubernetes + - m365 description: |- Multiple values may be separated by commas. @@ -106,6 +109,7 @@ paths: * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 explode: false style: form - in: query @@ -450,11 +454,13 @@ paths: - azure - gcp - kubernetes + - m365 description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 - in: query name: filter[provider_type__in] schema: @@ -466,6 +472,7 @@ paths: - azure - gcp - kubernetes + - m365 description: |- Multiple values may be separated by commas. @@ -473,6 +480,7 @@ paths: * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 explode: false style: form - in: query @@ -962,11 +970,13 @@ paths: - azure - gcp - kubernetes + - m365 description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 - in: query name: filter[provider_type__in] schema: @@ -978,6 +988,7 @@ paths: - azure - gcp - kubernetes + - m365 description: |- Multiple values may be separated by commas. @@ -985,6 +996,7 @@ paths: * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 explode: false style: form - in: query @@ -1395,11 +1407,13 @@ paths: - azure - gcp - kubernetes + - m365 description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 - in: query name: filter[provider_type__in] schema: @@ -1411,6 +1425,7 @@ paths: - azure - gcp - kubernetes + - m365 description: |- Multiple values may be separated by commas. @@ -1418,6 +1433,7 @@ paths: * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 explode: false style: form - in: query @@ -2047,11 +2063,13 @@ paths: - azure - gcp - kubernetes + - m365 description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 - in: query name: filter[provider_type__in] schema: @@ -2063,6 +2081,7 @@ paths: - azure - gcp - kubernetes + - m365 description: |- Multiple values may be separated by commas. @@ -2070,6 +2089,7 @@ paths: * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 explode: false style: form - in: query @@ -2204,11 +2224,13 @@ paths: - azure - gcp - kubernetes + - m365 description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 - in: query name: filter[provider_type__in] schema: @@ -2220,6 +2242,7 @@ paths: - azure - gcp - kubernetes + - m365 description: |- Multiple values may be separated by commas. @@ -2227,6 +2250,7 @@ paths: * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 explode: false style: form - in: query @@ -2377,11 +2401,13 @@ paths: - azure - gcp - kubernetes + - m365 description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 - in: query name: filter[provider_type__in] schema: @@ -2393,6 +2419,7 @@ paths: - azure - gcp - kubernetes + - m365 description: |- Multiple values may be separated by commas. @@ -2400,6 +2427,7 @@ paths: * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 explode: false style: form - in: query @@ -2863,11 +2891,13 @@ paths: - azure - gcp - kubernetes + - m365 description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 - in: query name: filter[provider__in] schema: @@ -3441,11 +3471,13 @@ paths: - azure - gcp - kubernetes + - m365 description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 - in: query name: filter[provider_type__in] schema: @@ -3457,6 +3489,7 @@ paths: - azure - gcp - kubernetes + - m365 description: |- Multiple values may be separated by commas. @@ -3464,6 +3497,7 @@ paths: * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 explode: false style: form - in: query @@ -4167,11 +4201,13 @@ paths: - azure - gcp - kubernetes + - m365 description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 - in: query name: filter[provider_type__in] schema: @@ -4183,6 +4219,7 @@ paths: - azure - gcp - kubernetes + - m365 description: |- Multiple values may be separated by commas. @@ -4190,6 +4227,7 @@ paths: * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 explode: false style: form - in: query @@ -8347,6 +8385,33 @@ components: - client_id - client_secret - tenant_id + - type: object + title: M365 Static Credentials + properties: + client_id: + type: string + description: The Azure application (client) ID for authentication + in Azure AD. + client_secret: + type: string + description: The client secret associated with the application + (client) ID, providing secure access. + tenant_id: + type: string + description: The Azure tenant ID, representing the directory + where the application is registered. + user: + type: email + description: User microsoft email address. + encrypted_password: + type: string + description: User encrypted password. + required: + - client_id + - client_secret + - tenant_id + - user + - encrypted_password - type: object title: GCP Static Credentials properties: @@ -8814,12 +8879,14 @@ components: - azure - gcp - kubernetes + - m365 type: string description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 uid: type: string title: Unique identifier for the provider, set by the provider @@ -8926,12 +8993,14 @@ components: - azure - gcp - kubernetes + - m365 type: string description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 uid: type: string title: Unique identifier for the provider, set by the provider @@ -8969,12 +9038,14 @@ components: - azure - gcp - kubernetes + - m365 type: string description: |- * `aws` - AWS * `azure` - Azure * `gcp` - GCP * `kubernetes` - Kubernetes + * `m365` - M365 uid: type: string minLength: 3 @@ -9559,6 +9630,33 @@ components: - client_id - client_secret - tenant_id + - type: object + title: M365 Static Credentials + properties: + client_id: + type: string + description: The Azure application (client) ID for authentication + in Azure AD. + client_secret: + type: string + description: The client secret associated with the application + (client) ID, providing secure access. + tenant_id: + type: string + description: The Azure tenant ID, representing the directory where + the application is registered. + user: + type: email + description: User microsoft email address. + encrypted_password: + type: string + description: User encrypted password. + required: + - client_id + - client_secret + - tenant_id + - user + - encrypted_password - type: object title: GCP Static Credentials properties: @@ -9741,6 +9839,33 @@ components: - client_id - client_secret - tenant_id + - type: object + title: M365 Static Credentials + properties: + client_id: + type: string + description: The Azure application (client) ID for authentication + in Azure AD. + client_secret: + type: string + description: The client secret associated with the application + (client) ID, providing secure access. + tenant_id: + type: string + description: The Azure tenant ID, representing the directory + where the application is registered. + user: + type: email + description: User microsoft email address. + encrypted_password: + type: string + description: User encrypted password. + required: + - client_id + - client_secret + - tenant_id + - user + - encrypted_password - type: object title: GCP Static Credentials properties: @@ -9939,6 +10064,33 @@ components: - client_id - client_secret - tenant_id + - type: object + title: M365 Static Credentials + properties: + client_id: + type: string + description: The Azure application (client) ID for authentication + in Azure AD. + client_secret: + type: string + description: The client secret associated with the application + (client) ID, providing secure access. + tenant_id: + type: string + description: The Azure tenant ID, representing the directory where + the application is registered. + user: + type: email + description: User microsoft email address. + encrypted_password: + type: string + description: User encrypted password. + required: + - client_id + - client_secret + - tenant_id + - user + - encrypted_password - type: object title: GCP Static Credentials properties: diff --git a/api/src/backend/api/tests/test_utils.py b/api/src/backend/api/tests/test_utils.py index 02a97249c6..0777267484 100644 --- a/api/src/backend/api/tests/test_utils.py +++ b/api/src/backend/api/tests/test_utils.py @@ -19,6 +19,7 @@ from prowler.providers.aws.aws_provider import AwsProvider from prowler.providers.azure.azure_provider import AzureProvider from prowler.providers.gcp.gcp_provider import GcpProvider from prowler.providers.kubernetes.kubernetes_provider import KubernetesProvider +from prowler.providers.m365.m365_provider import M365Provider class TestMergeDicts: @@ -104,6 +105,7 @@ class TestReturnProwlerProvider: (Provider.ProviderChoices.GCP.value, GcpProvider), (Provider.ProviderChoices.AZURE.value, AzureProvider), (Provider.ProviderChoices.KUBERNETES.value, KubernetesProvider), + (Provider.ProviderChoices.M365.value, M365Provider), ], ) def test_return_prowler_provider(self, provider_type, expected_provider): @@ -176,6 +178,10 @@ class TestGetProwlerProviderKwargs: Provider.ProviderChoices.KUBERNETES.value, {"context": "provider_uid"}, ), + ( + Provider.ProviderChoices.M365.value, + {}, + ), ], ) def test_get_prowler_provider_kwargs(self, provider_type, expected_extra_kwargs): diff --git a/api/src/backend/api/utils.py b/api/src/backend/api/utils.py index 31d009dba5..63581c266e 100644 --- a/api/src/backend/api/utils.py +++ b/api/src/backend/api/utils.py @@ -11,6 +11,7 @@ from prowler.providers.azure.azure_provider import AzureProvider from prowler.providers.common.models import Connection from prowler.providers.gcp.gcp_provider import GcpProvider from prowler.providers.kubernetes.kubernetes_provider import KubernetesProvider +from prowler.providers.m365.m365_provider import M365Provider class CustomOAuth2Client(OAuth2Client): @@ -51,14 +52,14 @@ def merge_dicts(default_dict: dict, replacement_dict: dict) -> dict: def return_prowler_provider( provider: Provider, -) -> [AwsProvider | AzureProvider | GcpProvider | KubernetesProvider]: +) -> [AwsProvider | AzureProvider | GcpProvider | KubernetesProvider | M365Provider]: """Return the Prowler provider class based on the given provider type. Args: provider (Provider): The provider object containing the provider type and associated secrets. Returns: - AwsProvider | AzureProvider | GcpProvider | KubernetesProvider: The corresponding provider class. + AwsProvider | AzureProvider | GcpProvider | KubernetesProvider | M365Provider: The corresponding provider class. Raises: ValueError: If the provider type specified in `provider.provider` is not supported. @@ -72,6 +73,8 @@ def return_prowler_provider( prowler_provider = AzureProvider case Provider.ProviderChoices.KUBERNETES.value: prowler_provider = KubernetesProvider + case Provider.ProviderChoices.M365.value: + prowler_provider = M365Provider case _: raise ValueError(f"Provider type {provider.provider} not supported") return prowler_provider @@ -104,15 +107,15 @@ def get_prowler_provider_kwargs(provider: Provider) -> dict: def initialize_prowler_provider( provider: Provider, -) -> AwsProvider | AzureProvider | GcpProvider | KubernetesProvider: +) -> AwsProvider | AzureProvider | GcpProvider | KubernetesProvider | M365Provider: """Initialize a Prowler provider instance based on the given provider type. Args: provider (Provider): The provider object containing the provider type and associated secrets. Returns: - AwsProvider | AzureProvider | GcpProvider | KubernetesProvider: An instance of the corresponding provider class - (`AwsProvider`, `AzureProvider`, `GcpProvider`, or `KubernetesProvider`) initialized with the + AwsProvider | AzureProvider | GcpProvider | KubernetesProvider | M365Provider: An instance of the corresponding provider class + (`AwsProvider`, `AzureProvider`, `GcpProvider`, `KubernetesProvider` or `M365Provider`) initialized with the provider's secrets. """ prowler_provider = return_prowler_provider(provider) @@ -130,10 +133,12 @@ def prowler_provider_connection_test(provider: Provider) -> Connection: Connection: A connection object representing the result of the connection test for the specified provider. """ prowler_provider = return_prowler_provider(provider) + try: prowler_provider_kwargs = provider.secret.secret except Provider.secret.RelatedObjectDoesNotExist as secret_error: return Connection(is_connected=False, error=secret_error) + return prowler_provider.test_connection( **prowler_provider_kwargs, provider_id=provider.uid, raise_on_exception=False ) diff --git a/api/src/backend/api/v1/serializer_utils/providers.py b/api/src/backend/api/v1/serializer_utils/providers.py new file mode 100644 index 0000000000..231e5dc1bb --- /dev/null +++ b/api/src/backend/api/v1/serializer_utils/providers.py @@ -0,0 +1,172 @@ +from drf_spectacular.utils import extend_schema_field +from rest_framework_json_api import serializers + + +@extend_schema_field( + { + "oneOf": [ + { + "type": "object", + "title": "AWS Static Credentials", + "properties": { + "aws_access_key_id": { + "type": "string", + "description": "The AWS access key ID. Required for environments where no IAM role is being " + "assumed and direct AWS access is needed.", + }, + "aws_secret_access_key": { + "type": "string", + "description": "The AWS secret access key. Must accompany 'aws_access_key_id' to authorize " + "access to AWS resources.", + }, + "aws_session_token": { + "type": "string", + "description": "The session token associated with temporary credentials. Only needed for " + "session-based or temporary AWS access.", + }, + }, + "required": ["aws_access_key_id", "aws_secret_access_key"], + }, + { + "type": "object", + "title": "AWS Assume Role", + "properties": { + "role_arn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the role to assume. Required for AWS role " + "assumption.", + }, + "external_id": { + "type": "string", + "description": "An identifier to enhance security for role assumption.", + }, + "aws_access_key_id": { + "type": "string", + "description": "The AWS access key ID. Only required if the environment lacks pre-configured " + "AWS credentials.", + }, + "aws_secret_access_key": { + "type": "string", + "description": "The AWS secret access key. Required if 'aws_access_key_id' is provided or if " + "no AWS credentials are pre-configured.", + }, + "aws_session_token": { + "type": "string", + "description": "The session token for temporary credentials, if applicable.", + }, + "session_duration": { + "type": "integer", + "minimum": 900, + "maximum": 43200, + "default": 3600, + "description": "The duration (in seconds) for the role session.", + }, + "role_session_name": { + "type": "string", + "description": "An identifier for the role session, useful for tracking sessions in AWS logs. " + "The regex used to validate this parameter is a string of characters consisting of " + "upper- and lower-case alphanumeric characters with no spaces. You can also include " + "underscores or any of the following characters: =,.@-\n\n" + "Examples:\n" + "- MySession123\n" + "- User_Session-1\n" + "- Test.Session@2", + "pattern": "^[a-zA-Z0-9=,.@_-]+$", + }, + }, + "required": ["role_arn", "external_id"], + }, + { + "type": "object", + "title": "Azure Static Credentials", + "properties": { + "client_id": { + "type": "string", + "description": "The Azure application (client) ID for authentication in Azure AD.", + }, + "client_secret": { + "type": "string", + "description": "The client secret associated with the application (client) ID, providing " + "secure access.", + }, + "tenant_id": { + "type": "string", + "description": "The Azure tenant ID, representing the directory where the application is " + "registered.", + }, + }, + "required": ["client_id", "client_secret", "tenant_id"], + }, + { + "type": "object", + "title": "M365 Static Credentials", + "properties": { + "client_id": { + "type": "string", + "description": "The Azure application (client) ID for authentication in Azure AD.", + }, + "client_secret": { + "type": "string", + "description": "The client secret associated with the application (client) ID, providing " + "secure access.", + }, + "tenant_id": { + "type": "string", + "description": "The Azure tenant ID, representing the directory where the application is " + "registered.", + }, + "user": { + "type": "email", + "description": "User microsoft email address.", + }, + "encrypted_password": { + "type": "string", + "description": "User encrypted password.", + }, + }, + "required": [ + "client_id", + "client_secret", + "tenant_id", + "user", + "encrypted_password", + ], + }, + { + "type": "object", + "title": "GCP Static Credentials", + "properties": { + "client_id": { + "type": "string", + "description": "The client ID from Google Cloud, used to identify the application for GCP " + "access.", + }, + "client_secret": { + "type": "string", + "description": "The client secret associated with the GCP client ID, required for secure " + "access.", + }, + "refresh_token": { + "type": "string", + "description": "A refresh token that allows the application to obtain new access tokens for " + "extended use.", + }, + }, + "required": ["client_id", "client_secret", "refresh_token"], + }, + { + "type": "object", + "title": "Kubernetes Static Credentials", + "properties": { + "kubeconfig_content": { + "type": "string", + "description": "The content of the Kubernetes kubeconfig file, encoded as a string.", + } + }, + "required": ["kubeconfig_content"], + }, + ] + } +) +class ProviderSecretField(serializers.JSONField): + pass diff --git a/api/src/backend/api/v1/serializers.py b/api/src/backend/api/v1/serializers.py index 96fe46eb85..920384ba65 100644 --- a/api/src/backend/api/v1/serializers.py +++ b/api/src/backend/api/v1/serializers.py @@ -42,6 +42,7 @@ from api.v1.serializer_utils.integrations import ( IntegrationCredentialField, S3ConfigSerializer, ) +from api.v1.serializer_utils.providers import ProviderSecretField # Tokens @@ -1141,6 +1142,8 @@ class BaseWriteProviderSecretSerializer(BaseWriteSerializer): serializer = GCPProviderSecret(data=secret) elif provider_type == Provider.ProviderChoices.KUBERNETES.value: serializer = KubernetesProviderSecret(data=secret) + elif provider_type == Provider.ProviderChoices.M365.value: + serializer = M365ProviderSecret(data=secret) else: raise serializers.ValidationError( {"provider": f"Provider type not supported {provider_type}"} @@ -1180,6 +1183,17 @@ class AzureProviderSecret(serializers.Serializer): resource_name = "provider-secrets" +class M365ProviderSecret(serializers.Serializer): + client_id = serializers.CharField() + client_secret = serializers.CharField() + tenant_id = serializers.CharField() + user = serializers.EmailField() + encrypted_password = serializers.CharField() + + class Meta: + resource_name = "provider-secrets" + + class GCPProviderSecret(serializers.Serializer): client_id = serializers.CharField() client_secret = serializers.CharField() @@ -1211,141 +1225,6 @@ class AWSRoleAssumptionProviderSecret(serializers.Serializer): resource_name = "provider-secrets" -@extend_schema_field( - { - "oneOf": [ - { - "type": "object", - "title": "AWS Static Credentials", - "properties": { - "aws_access_key_id": { - "type": "string", - "description": "The AWS access key ID. Required for environments where no IAM role is being " - "assumed and direct AWS access is needed.", - }, - "aws_secret_access_key": { - "type": "string", - "description": "The AWS secret access key. Must accompany 'aws_access_key_id' to authorize " - "access to AWS resources.", - }, - "aws_session_token": { - "type": "string", - "description": "The session token associated with temporary credentials. Only needed for " - "session-based or temporary AWS access.", - }, - }, - "required": ["aws_access_key_id", "aws_secret_access_key"], - }, - { - "type": "object", - "title": "AWS Assume Role", - "properties": { - "role_arn": { - "type": "string", - "description": "The Amazon Resource Name (ARN) of the role to assume. Required for AWS role " - "assumption.", - }, - "external_id": { - "type": "string", - "description": "An identifier to enhance security for role assumption.", - }, - "aws_access_key_id": { - "type": "string", - "description": "The AWS access key ID. Only required if the environment lacks pre-configured " - "AWS credentials.", - }, - "aws_secret_access_key": { - "type": "string", - "description": "The AWS secret access key. Required if 'aws_access_key_id' is provided or if " - "no AWS credentials are pre-configured.", - }, - "aws_session_token": { - "type": "string", - "description": "The session token for temporary credentials, if applicable.", - }, - "session_duration": { - "type": "integer", - "minimum": 900, - "maximum": 43200, - "default": 3600, - "description": "The duration (in seconds) for the role session.", - }, - "role_session_name": { - "type": "string", - "description": "An identifier for the role session, useful for tracking sessions in AWS logs. " - "The regex used to validate this parameter is a string of characters consisting of " - "upper- and lower-case alphanumeric characters with no spaces. You can also include " - "underscores or any of the following characters: =,.@-\n\n" - "Examples:\n" - "- MySession123\n" - "- User_Session-1\n" - "- Test.Session@2", - "pattern": "^[a-zA-Z0-9=,.@_-]+$", - }, - }, - "required": ["role_arn", "external_id"], - }, - { - "type": "object", - "title": "Azure Static Credentials", - "properties": { - "client_id": { - "type": "string", - "description": "The Azure application (client) ID for authentication in Azure AD.", - }, - "client_secret": { - "type": "string", - "description": "The client secret associated with the application (client) ID, providing " - "secure access.", - }, - "tenant_id": { - "type": "string", - "description": "The Azure tenant ID, representing the directory where the application is " - "registered.", - }, - }, - "required": ["client_id", "client_secret", "tenant_id"], - }, - { - "type": "object", - "title": "GCP Static Credentials", - "properties": { - "client_id": { - "type": "string", - "description": "The client ID from Google Cloud, used to identify the application for GCP " - "access.", - }, - "client_secret": { - "type": "string", - "description": "The client secret associated with the GCP client ID, required for secure " - "access.", - }, - "refresh_token": { - "type": "string", - "description": "A refresh token that allows the application to obtain new access tokens for " - "extended use.", - }, - }, - "required": ["client_id", "client_secret", "refresh_token"], - }, - { - "type": "object", - "title": "Kubernetes Static Credentials", - "properties": { - "kubeconfig_content": { - "type": "string", - "description": "The content of the Kubernetes kubeconfig file, encoded as a string.", - } - }, - "required": ["kubeconfig_content"], - }, - ] - } -) -class ProviderSecretField(serializers.JSONField): - pass - - class ProviderSecretSerializer(RLSSerializer): """ Serializer for the ProviderSecret model. diff --git a/api/src/backend/api/v1/views.py b/api/src/backend/api/v1/views.py index e8dd81ac29..606078b558 100644 --- a/api/src/backend/api/v1/views.py +++ b/api/src/backend/api/v1/views.py @@ -247,7 +247,7 @@ class SchemaView(SpectacularAPIView): def get(self, request, *args, **kwargs): spectacular_settings.TITLE = "Prowler API" - spectacular_settings.VERSION = "1.6.0" + spectacular_settings.VERSION = "1.7.0" spectacular_settings.DESCRIPTION = ( "Prowler API specification.\n\nThis file is auto-generated." ) diff --git a/poetry.lock b/poetry.lock index 96e4b10349..96465562a4 100644 --- a/poetry.lock +++ b/poetry.lock @@ -14,100 +14,105 @@ files = [ [[package]] name = "aiohappyeyeballs" -version = "2.4.4" +version = "2.6.1" description = "Happy Eyeballs for asyncio" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "aiohappyeyeballs-2.4.4-py3-none-any.whl", hash = "sha256:a980909d50efcd44795c4afeca523296716d50cd756ddca6af8c65b996e27de8"}, - {file = "aiohappyeyeballs-2.4.4.tar.gz", hash = "sha256:5fdd7d87889c63183afc18ce9271f9b0a7d32c2303e394468dd45d514a757745"}, + {file = "aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8"}, + {file = "aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558"}, ] [[package]] name = "aiohttp" -version = "3.11.11" +version = "3.11.18" description = "Async http client/server framework (asyncio)" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "aiohttp-3.11.11-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a60804bff28662cbcf340a4d61598891f12eea3a66af48ecfdc975ceec21e3c8"}, - {file = "aiohttp-3.11.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4b4fa1cb5f270fb3eab079536b764ad740bb749ce69a94d4ec30ceee1b5940d5"}, - {file = "aiohttp-3.11.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:731468f555656767cda219ab42e033355fe48c85fbe3ba83a349631541715ba2"}, - {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb23d8bb86282b342481cad4370ea0853a39e4a32a0042bb52ca6bdde132df43"}, - {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f047569d655f81cb70ea5be942ee5d4421b6219c3f05d131f64088c73bb0917f"}, - {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd7659baae9ccf94ae5fe8bfaa2c7bc2e94d24611528395ce88d009107e00c6d"}, - {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af01e42ad87ae24932138f154105e88da13ce7d202a6de93fafdafb2883a00ef"}, - {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5854be2f3e5a729800bac57a8d76af464e160f19676ab6aea74bde18ad19d438"}, - {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6526e5fb4e14f4bbf30411216780c9967c20c5a55f2f51d3abd6de68320cc2f3"}, - {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:85992ee30a31835fc482468637b3e5bd085fa8fe9392ba0bdcbdc1ef5e9e3c55"}, - {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:88a12ad8ccf325a8a5ed80e6d7c3bdc247d66175afedbe104ee2aaca72960d8e"}, - {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0a6d3fbf2232e3a08c41eca81ae4f1dff3d8f1a30bae415ebe0af2d2458b8a33"}, - {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84a585799c58b795573c7fa9b84c455adf3e1d72f19a2bf498b54a95ae0d194c"}, - {file = "aiohttp-3.11.11-cp310-cp310-win32.whl", hash = "sha256:bfde76a8f430cf5c5584553adf9926534352251d379dcb266ad2b93c54a29745"}, - {file = "aiohttp-3.11.11-cp310-cp310-win_amd64.whl", hash = "sha256:0fd82b8e9c383af11d2b26f27a478640b6b83d669440c0a71481f7c865a51da9"}, - {file = "aiohttp-3.11.11-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ba74ec819177af1ef7f59063c6d35a214a8fde6f987f7661f4f0eecc468a8f76"}, - {file = "aiohttp-3.11.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4af57160800b7a815f3fe0eba9b46bf28aafc195555f1824555fa2cfab6c1538"}, - {file = "aiohttp-3.11.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ffa336210cf9cd8ed117011085817d00abe4c08f99968deef0013ea283547204"}, - {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81b8fe282183e4a3c7a1b72f5ade1094ed1c6345a8f153506d114af5bf8accd9"}, - {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3af41686ccec6a0f2bdc66686dc0f403c41ac2089f80e2214a0f82d001052c03"}, - {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:70d1f9dde0e5dd9e292a6d4d00058737052b01f3532f69c0c65818dac26dc287"}, - {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:249cc6912405917344192b9f9ea5cd5b139d49e0d2f5c7f70bdfaf6b4dbf3a2e"}, - {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0eb98d90b6690827dcc84c246811feeb4e1eea683c0eac6caed7549be9c84665"}, - {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ec82bf1fda6cecce7f7b915f9196601a1bd1a3079796b76d16ae4cce6d0ef89b"}, - {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9fd46ce0845cfe28f108888b3ab17abff84ff695e01e73657eec3f96d72eef34"}, - {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:bd176afcf8f5d2aed50c3647d4925d0db0579d96f75a31e77cbaf67d8a87742d"}, - {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:ec2aa89305006fba9ffb98970db6c8221541be7bee4c1d027421d6f6df7d1ce2"}, - {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:92cde43018a2e17d48bb09c79e4d4cb0e236de5063ce897a5e40ac7cb4878773"}, - {file = "aiohttp-3.11.11-cp311-cp311-win32.whl", hash = "sha256:aba807f9569455cba566882c8938f1a549f205ee43c27b126e5450dc9f83cc62"}, - {file = "aiohttp-3.11.11-cp311-cp311-win_amd64.whl", hash = "sha256:ae545f31489548c87b0cced5755cfe5a5308d00407000e72c4fa30b19c3220ac"}, - {file = "aiohttp-3.11.11-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e595c591a48bbc295ebf47cb91aebf9bd32f3ff76749ecf282ea7f9f6bb73886"}, - {file = "aiohttp-3.11.11-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3ea1b59dc06396b0b424740a10a0a63974c725b1c64736ff788a3689d36c02d2"}, - {file = "aiohttp-3.11.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8811f3f098a78ffa16e0ea36dffd577eb031aea797cbdba81be039a4169e242c"}, - {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7227b87a355ce1f4bf83bfae4399b1f5bb42e0259cb9405824bd03d2f4336a"}, - {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d40f9da8cabbf295d3a9dae1295c69975b86d941bc20f0a087f0477fa0a66231"}, - {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffb3dc385f6bb1568aa974fe65da84723210e5d9707e360e9ecb51f59406cd2e"}, - {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8f5f7515f3552d899c61202d99dcb17d6e3b0de777900405611cd747cecd1b8"}, - {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3499c7ffbfd9c6a3d8d6a2b01c26639da7e43d47c7b4f788016226b1e711caa8"}, - {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8e2bf8029dbf0810c7bfbc3e594b51c4cc9101fbffb583a3923aea184724203c"}, - {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b6212a60e5c482ef90f2d788835387070a88d52cf6241d3916733c9176d39eab"}, - {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d119fafe7b634dbfa25a8c597718e69a930e4847f0b88e172744be24515140da"}, - {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:6fba278063559acc730abf49845d0e9a9e1ba74f85f0ee6efd5803f08b285853"}, - {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:92fc484e34b733704ad77210c7957679c5c3877bd1e6b6d74b185e9320cc716e"}, - {file = "aiohttp-3.11.11-cp312-cp312-win32.whl", hash = "sha256:9f5b3c1ed63c8fa937a920b6c1bec78b74ee09593b3f5b979ab2ae5ef60d7600"}, - {file = "aiohttp-3.11.11-cp312-cp312-win_amd64.whl", hash = "sha256:1e69966ea6ef0c14ee53ef7a3d68b564cc408121ea56c0caa2dc918c1b2f553d"}, - {file = "aiohttp-3.11.11-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:541d823548ab69d13d23730a06f97460f4238ad2e5ed966aaf850d7c369782d9"}, - {file = "aiohttp-3.11.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:929f3ed33743a49ab127c58c3e0a827de0664bfcda566108989a14068f820194"}, - {file = "aiohttp-3.11.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0882c2820fd0132240edbb4a51eb8ceb6eef8181db9ad5291ab3332e0d71df5f"}, - {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b63de12e44935d5aca7ed7ed98a255a11e5cb47f83a9fded7a5e41c40277d104"}, - {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa54f8ef31d23c506910c21163f22b124facb573bff73930735cf9fe38bf7dff"}, - {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a344d5dc18074e3872777b62f5f7d584ae4344cd6006c17ba12103759d407af3"}, - {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b7fb429ab1aafa1f48578eb315ca45bd46e9c37de11fe45c7f5f4138091e2f1"}, - {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c341c7d868750e31961d6d8e60ff040fb9d3d3a46d77fd85e1ab8e76c3e9a5c4"}, - {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ed9ee95614a71e87f1a70bc81603f6c6760128b140bc4030abe6abaa988f1c3d"}, - {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:de8d38f1c2810fa2a4f1d995a2e9c70bb8737b18da04ac2afbf3971f65781d87"}, - {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:a9b7371665d4f00deb8f32208c7c5e652059b0fda41cf6dbcac6114a041f1cc2"}, - {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:620598717fce1b3bd14dd09947ea53e1ad510317c85dda2c9c65b622edc96b12"}, - {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bf8d9bfee991d8acc72d060d53860f356e07a50f0e0d09a8dfedea1c554dd0d5"}, - {file = "aiohttp-3.11.11-cp313-cp313-win32.whl", hash = "sha256:9d73ee3725b7a737ad86c2eac5c57a4a97793d9f442599bea5ec67ac9f4bdc3d"}, - {file = "aiohttp-3.11.11-cp313-cp313-win_amd64.whl", hash = "sha256:c7a06301c2fb096bdb0bd25fe2011531c1453b9f2c163c8031600ec73af1cc99"}, - {file = "aiohttp-3.11.11-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3e23419d832d969f659c208557de4a123e30a10d26e1e14b73431d3c13444c2e"}, - {file = "aiohttp-3.11.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:21fef42317cf02e05d3b09c028712e1d73a9606f02467fd803f7c1f39cc59add"}, - {file = "aiohttp-3.11.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1f21bb8d0235fc10c09ce1d11ffbd40fc50d3f08a89e4cf3a0c503dc2562247a"}, - {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1642eceeaa5ab6c9b6dfeaaa626ae314d808188ab23ae196a34c9d97efb68350"}, - {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2170816e34e10f2fd120f603e951630f8a112e1be3b60963a1f159f5699059a6"}, - {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8be8508d110d93061197fd2d6a74f7401f73b6d12f8822bbcd6d74f2b55d71b1"}, - {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4eed954b161e6b9b65f6be446ed448ed3921763cc432053ceb606f89d793927e"}, - {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6c9af134da4bc9b3bd3e6a70072509f295d10ee60c697826225b60b9959acdd"}, - {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:44167fc6a763d534a6908bdb2592269b4bf30a03239bcb1654781adf5e49caf1"}, - {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:479b8c6ebd12aedfe64563b85920525d05d394b85f166b7873c8bde6da612f9c"}, - {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:10b4ff0ad793d98605958089fabfa350e8e62bd5d40aa65cdc69d6785859f94e"}, - {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:b540bd67cfb54e6f0865ceccd9979687210d7ed1a1cc8c01f8e67e2f1e883d28"}, - {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1dac54e8ce2ed83b1f6b1a54005c87dfed139cf3f777fdc8afc76e7841101226"}, - {file = "aiohttp-3.11.11-cp39-cp39-win32.whl", hash = "sha256:568c1236b2fde93b7720f95a890741854c1200fba4a3471ff48b2934d2d93fd3"}, - {file = "aiohttp-3.11.11-cp39-cp39-win_amd64.whl", hash = "sha256:943a8b052e54dfd6439fd7989f67fc6a7f2138d0a2cf0a7de5f18aa4fe7eb3b1"}, - {file = "aiohttp-3.11.11.tar.gz", hash = "sha256:bb49c7f1e6ebf3821a42d81d494f538107610c3a705987f53068546b0e90303e"}, + {file = "aiohttp-3.11.18-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:96264854fedbea933a9ca4b7e0c745728f01380691687b7365d18d9e977179c4"}, + {file = "aiohttp-3.11.18-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9602044ff047043430452bc3a2089743fa85da829e6fc9ee0025351d66c332b6"}, + {file = "aiohttp-3.11.18-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5691dc38750fcb96a33ceef89642f139aa315c8a193bbd42a0c33476fd4a1609"}, + {file = "aiohttp-3.11.18-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:554c918ec43f8480b47a5ca758e10e793bd7410b83701676a4782672d670da55"}, + {file = "aiohttp-3.11.18-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a4076a2b3ba5b004b8cffca6afe18a3b2c5c9ef679b4d1e9859cf76295f8d4f"}, + {file = "aiohttp-3.11.18-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:767a97e6900edd11c762be96d82d13a1d7c4fc4b329f054e88b57cdc21fded94"}, + {file = "aiohttp-3.11.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0ddc9337a0fb0e727785ad4f41163cc314376e82b31846d3835673786420ef1"}, + {file = "aiohttp-3.11.18-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f414f37b244f2a97e79b98d48c5ff0789a0b4b4609b17d64fa81771ad780e415"}, + {file = "aiohttp-3.11.18-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fdb239f47328581e2ec7744ab5911f97afb10752332a6dd3d98e14e429e1a9e7"}, + {file = "aiohttp-3.11.18-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f2c50bad73ed629cc326cc0f75aed8ecfb013f88c5af116f33df556ed47143eb"}, + {file = "aiohttp-3.11.18-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0a8d8f20c39d3fa84d1c28cdb97f3111387e48209e224408e75f29c6f8e0861d"}, + {file = "aiohttp-3.11.18-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:106032eaf9e62fd6bc6578c8b9e6dc4f5ed9a5c1c7fb2231010a1b4304393421"}, + {file = "aiohttp-3.11.18-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:b491e42183e8fcc9901d8dcd8ae644ff785590f1727f76ca86e731c61bfe6643"}, + {file = "aiohttp-3.11.18-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ad8c745ff9460a16b710e58e06a9dec11ebc0d8f4dd82091cefb579844d69868"}, + {file = "aiohttp-3.11.18-cp310-cp310-win32.whl", hash = "sha256:8e57da93e24303a883146510a434f0faf2f1e7e659f3041abc4e3fb3f6702a9f"}, + {file = "aiohttp-3.11.18-cp310-cp310-win_amd64.whl", hash = "sha256:cc93a4121d87d9f12739fc8fab0a95f78444e571ed63e40bfc78cd5abe700ac9"}, + {file = "aiohttp-3.11.18-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:427fdc56ccb6901ff8088544bde47084845ea81591deb16f957897f0f0ba1be9"}, + {file = "aiohttp-3.11.18-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c828b6d23b984255b85b9b04a5b963a74278b7356a7de84fda5e3b76866597b"}, + {file = "aiohttp-3.11.18-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5c2eaa145bb36b33af1ff2860820ba0589e165be4ab63a49aebfd0981c173b66"}, + {file = "aiohttp-3.11.18-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d518ce32179f7e2096bf4e3e8438cf445f05fedd597f252de9f54c728574756"}, + {file = "aiohttp-3.11.18-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0700055a6e05c2f4711011a44364020d7a10fbbcd02fbf3e30e8f7e7fddc8717"}, + {file = "aiohttp-3.11.18-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8bd1cde83e4684324e6ee19adfc25fd649d04078179890be7b29f76b501de8e4"}, + {file = "aiohttp-3.11.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73b8870fe1c9a201b8c0d12c94fe781b918664766728783241a79e0468427e4f"}, + {file = "aiohttp-3.11.18-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:25557982dd36b9e32c0a3357f30804e80790ec2c4d20ac6bcc598533e04c6361"}, + {file = "aiohttp-3.11.18-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7e889c9df381a2433802991288a61e5a19ceb4f61bd14f5c9fa165655dcb1fd1"}, + {file = "aiohttp-3.11.18-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:9ea345fda05bae217b6cce2acf3682ce3b13d0d16dd47d0de7080e5e21362421"}, + {file = "aiohttp-3.11.18-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9f26545b9940c4b46f0a9388fd04ee3ad7064c4017b5a334dd450f616396590e"}, + {file = "aiohttp-3.11.18-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:3a621d85e85dccabd700294494d7179ed1590b6d07a35709bb9bd608c7f5dd1d"}, + {file = "aiohttp-3.11.18-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9c23fd8d08eb9c2af3faeedc8c56e134acdaf36e2117ee059d7defa655130e5f"}, + {file = "aiohttp-3.11.18-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d9e6b0e519067caa4fd7fb72e3e8002d16a68e84e62e7291092a5433763dc0dd"}, + {file = "aiohttp-3.11.18-cp311-cp311-win32.whl", hash = "sha256:122f3e739f6607e5e4c6a2f8562a6f476192a682a52bda8b4c6d4254e1138f4d"}, + {file = "aiohttp-3.11.18-cp311-cp311-win_amd64.whl", hash = "sha256:e6f3c0a3a1e73e88af384b2e8a0b9f4fb73245afd47589df2afcab6b638fa0e6"}, + {file = "aiohttp-3.11.18-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:63d71eceb9cad35d47d71f78edac41fcd01ff10cacaa64e473d1aec13fa02df2"}, + {file = "aiohttp-3.11.18-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d1929da615840969929e8878d7951b31afe0bac883d84418f92e5755d7b49508"}, + {file = "aiohttp-3.11.18-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7d0aebeb2392f19b184e3fdd9e651b0e39cd0f195cdb93328bd124a1d455cd0e"}, + {file = "aiohttp-3.11.18-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3849ead845e8444f7331c284132ab314b4dac43bfae1e3cf350906d4fff4620f"}, + {file = "aiohttp-3.11.18-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e8452ad6b2863709f8b3d615955aa0807bc093c34b8e25b3b52097fe421cb7f"}, + {file = "aiohttp-3.11.18-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b8d2b42073611c860a37f718b3d61ae8b4c2b124b2e776e2c10619d920350ec"}, + {file = "aiohttp-3.11.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fbf91f6a0ac317c0a07eb328a1384941872f6761f2e6f7208b63c4cc0a7ff6"}, + {file = "aiohttp-3.11.18-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ff5625413fec55216da5eaa011cf6b0a2ed67a565914a212a51aa3755b0009"}, + {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7f33a92a2fde08e8c6b0c61815521324fc1612f397abf96eed86b8e31618fdb4"}, + {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:11d5391946605f445ddafda5eab11caf310f90cdda1fd99865564e3164f5cff9"}, + {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3cc314245deb311364884e44242e00c18b5896e4fe6d5f942e7ad7e4cb640adb"}, + {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0f421843b0f70740772228b9e8093289924359d306530bcd3926f39acbe1adda"}, + {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e220e7562467dc8d589e31c1acd13438d82c03d7f385c9cd41a3f6d1d15807c1"}, + {file = "aiohttp-3.11.18-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ab2ef72f8605046115bc9aa8e9d14fd49086d405855f40b79ed9e5c1f9f4faea"}, + {file = "aiohttp-3.11.18-cp312-cp312-win32.whl", hash = "sha256:12a62691eb5aac58d65200c7ae94d73e8a65c331c3a86a2e9670927e94339ee8"}, + {file = "aiohttp-3.11.18-cp312-cp312-win_amd64.whl", hash = "sha256:364329f319c499128fd5cd2d1c31c44f234c58f9b96cc57f743d16ec4f3238c8"}, + {file = "aiohttp-3.11.18-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:474215ec618974054cf5dc465497ae9708543cbfc312c65212325d4212525811"}, + {file = "aiohttp-3.11.18-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6ced70adf03920d4e67c373fd692123e34d3ac81dfa1c27e45904a628567d804"}, + {file = "aiohttp-3.11.18-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2d9f6c0152f8d71361905aaf9ed979259537981f47ad099c8b3d81e0319814bd"}, + {file = "aiohttp-3.11.18-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a35197013ed929c0aed5c9096de1fc5a9d336914d73ab3f9df14741668c0616c"}, + {file = "aiohttp-3.11.18-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:540b8a1f3a424f1af63e0af2d2853a759242a1769f9f1ab053996a392bd70118"}, + {file = "aiohttp-3.11.18-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9e6710ebebfce2ba21cee6d91e7452d1125100f41b906fb5af3da8c78b764c1"}, + {file = "aiohttp-3.11.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8af2ef3b4b652ff109f98087242e2ab974b2b2b496304063585e3d78de0b000"}, + {file = "aiohttp-3.11.18-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:28c3f975e5ae3dbcbe95b7e3dcd30e51da561a0a0f2cfbcdea30fc1308d72137"}, + {file = "aiohttp-3.11.18-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c28875e316c7b4c3e745172d882d8a5c835b11018e33432d281211af35794a93"}, + {file = "aiohttp-3.11.18-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:13cd38515568ae230e1ef6919e2e33da5d0f46862943fcda74e7e915096815f3"}, + {file = "aiohttp-3.11.18-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0e2a92101efb9f4c2942252c69c63ddb26d20f46f540c239ccfa5af865197bb8"}, + {file = "aiohttp-3.11.18-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:e6d3e32b8753c8d45ac550b11a1090dd66d110d4ef805ffe60fa61495360b3b2"}, + {file = "aiohttp-3.11.18-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ea4cf2488156e0f281f93cc2fd365025efcba3e2d217cbe3df2840f8c73db261"}, + {file = "aiohttp-3.11.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d4df95ad522c53f2b9ebc07f12ccd2cb15550941e11a5bbc5ddca2ca56316d7"}, + {file = "aiohttp-3.11.18-cp313-cp313-win32.whl", hash = "sha256:cdd1bbaf1e61f0d94aced116d6e95fe25942f7a5f42382195fd9501089db5d78"}, + {file = "aiohttp-3.11.18-cp313-cp313-win_amd64.whl", hash = "sha256:bdd619c27e44382cf642223f11cfd4d795161362a5a1fc1fa3940397bc89db01"}, + {file = "aiohttp-3.11.18-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:469ac32375d9a716da49817cd26f1916ec787fc82b151c1c832f58420e6d3533"}, + {file = "aiohttp-3.11.18-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3cec21dd68924179258ae14af9f5418c1ebdbba60b98c667815891293902e5e0"}, + {file = "aiohttp-3.11.18-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b426495fb9140e75719b3ae70a5e8dd3a79def0ae3c6c27e012fc59f16544a4a"}, + {file = "aiohttp-3.11.18-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad2f41203e2808616292db5d7170cccf0c9f9c982d02544443c7eb0296e8b0c7"}, + {file = "aiohttp-3.11.18-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5bc0ae0a5e9939e423e065a3e5b00b24b8379f1db46046d7ab71753dfc7dd0e1"}, + {file = "aiohttp-3.11.18-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe7cdd3f7d1df43200e1c80f1aed86bb36033bf65e3c7cf46a2b97a253ef8798"}, + {file = "aiohttp-3.11.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5199be2a2f01ffdfa8c3a6f5981205242986b9e63eb8ae03fd18f736e4840721"}, + {file = "aiohttp-3.11.18-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ccec9e72660b10f8e283e91aa0295975c7bd85c204011d9f5eb69310555cf30"}, + {file = "aiohttp-3.11.18-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1596ebf17e42e293cbacc7a24c3e0dc0f8f755b40aff0402cb74c1ff6baec1d3"}, + {file = "aiohttp-3.11.18-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:eab7b040a8a873020113ba814b7db7fa935235e4cbaf8f3da17671baa1024863"}, + {file = "aiohttp-3.11.18-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:5d61df4a05476ff891cff0030329fee4088d40e4dc9b013fac01bc3c745542c2"}, + {file = "aiohttp-3.11.18-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:46533e6792e1410f9801d09fd40cbbff3f3518d1b501d6c3c5b218f427f6ff08"}, + {file = "aiohttp-3.11.18-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c1b90407ced992331dd6d4f1355819ea1c274cc1ee4d5b7046c6761f9ec11829"}, + {file = "aiohttp-3.11.18-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a2fd04ae4971b914e54fe459dd7edbbd3f2ba875d69e057d5e3c8e8cac094935"}, + {file = "aiohttp-3.11.18-cp39-cp39-win32.whl", hash = "sha256:b2f317d1678002eee6fe85670039fb34a757972284614638f82b903a03feacdc"}, + {file = "aiohttp-3.11.18-cp39-cp39-win_amd64.whl", hash = "sha256:5e7007b8d1d09bce37b54111f593d173691c530b80f27c6493b928dabed9e6ef"}, + {file = "aiohttp-3.11.18.tar.gz", hash = "sha256:ae856e1138612b7e412db63b7708735cff4d38d0399f6a5435d3dac2669f558a"}, ] [package.dependencies] @@ -168,14 +173,14 @@ files = [ [[package]] name = "anyio" -version = "4.8.0" +version = "4.9.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a"}, - {file = "anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a"}, + {file = "anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c"}, + {file = "anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028"}, ] [package.dependencies] @@ -185,20 +190,20 @@ sniffio = ">=1.1" typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""} [package.extras] -doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "trustme", "truststore (>=0.9.1) ; python_version >= \"3.10\"", "uvloop (>=0.21) ; platform_python_implementation == \"CPython\" and platform_system != \"Windows\" and python_version < \"3.14\""] +doc = ["Sphinx (>=8.2,<9.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"] +test = ["anyio[trio]", "blockbuster (>=1.5.23)", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "trustme", "truststore (>=0.9.1) ; python_version >= \"3.10\"", "uvloop (>=0.21) ; platform_python_implementation == \"CPython\" and platform_system != \"Windows\" and python_version < \"3.14\""] trio = ["trio (>=0.26.1)"] [[package]] name = "astroid" -version = "3.3.8" +version = "3.3.9" description = "An abstract syntax tree for Python with inference support." optional = false python-versions = ">=3.9.0" groups = ["dev"] files = [ - {file = "astroid-3.3.8-py3-none-any.whl", hash = "sha256:187ccc0c248bfbba564826c26f070494f7bc964fd286b6d9fff4420e55de828c"}, - {file = "astroid-3.3.8.tar.gz", hash = "sha256:a88c7994f914a4ea8572fac479459f4955eeccc877be3f2d959a33273b0cf40b"}, + {file = "astroid-3.3.9-py3-none-any.whl", hash = "sha256:d05bfd0acba96a7bd43e222828b7d9bc1e138aaeb0649707908d3702a9831248"}, + {file = "astroid-3.3.9.tar.gz", hash = "sha256:622cc8e3048684aa42c820d9d218978021c3c3d174fb03a9f0d615921744f550"}, ] [package.dependencies] @@ -219,34 +224,34 @@ files = [ [[package]] name = "attrs" -version = "24.3.0" +version = "25.3.0" description = "Classes Without Boilerplate" optional = false python-versions = ">=3.8" groups = ["main", "dev"] files = [ - {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, - {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, + {file = "attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3"}, + {file = "attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b"}, ] [package.extras] benchmark = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] cov = ["cloudpickle ; platform_python_implementation == \"CPython\"", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] dev = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] -docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier"] tests = ["cloudpickle ; platform_python_implementation == \"CPython\"", "hypothesis", "mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-xdist[psutil]"] tests-mypy = ["mypy (>=1.11.1) ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\"", "pytest-mypy-plugins ; platform_python_implementation == \"CPython\" and python_version >= \"3.10\""] [[package]] name = "authlib" -version = "1.4.0" +version = "1.5.2" description = "The ultimate Python library in building OAuth and OpenID Connect servers and clients." optional = false python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "Authlib-1.4.0-py2.py3-none-any.whl", hash = "sha256:4bb20b978c8b636222b549317c1815e1fe62234fc1c5efe8855d84aebf3a74e3"}, - {file = "authlib-1.4.0.tar.gz", hash = "sha256:1c1e6608b5ed3624aeeee136ca7f8c120d6f51f731aa152b153d54741840e1f2"}, + {file = "authlib-1.5.2-py2.py3-none-any.whl", hash = "sha256:8804dd4402ac5e4a0435ac49e0b6e19e395357cfa632a3f624dcb4f6df13b4b1"}, + {file = "authlib-1.5.2.tar.gz", hash = "sha256:fe85ec7e50c5f86f1e2603518bb3b4f632985eb4a355e52256530790e326c512"}, ] [package.dependencies] @@ -254,21 +259,21 @@ cryptography = "*" [[package]] name = "aws-sam-translator" -version = "1.94.0" +version = "1.97.0" description = "AWS SAM Translator is a library that transform SAM templates into AWS CloudFormation templates" optional = false python-versions = "!=4.0,<=4.0,>=3.8" groups = ["dev"] files = [ - {file = "aws_sam_translator-1.94.0-py3-none-any.whl", hash = "sha256:100e33eeffcfa81f7c45cadeb0ee29596ce829f6b4d2745140f04fa19a41f539"}, - {file = "aws_sam_translator-1.94.0.tar.gz", hash = "sha256:8ec258d9f7ece72ef91c81f4edb45a2db064c16844b6afac90c575893beaa391"}, + {file = "aws_sam_translator-1.97.0-py3-none-any.whl", hash = "sha256:305701ab49eb546fd720b3682e99cadcd43539f4ddb8395ea03c90c9e14d3325"}, + {file = "aws_sam_translator-1.97.0.tar.gz", hash = "sha256:6f7ec94de0a9b220dd1f1a0bf7e2df95dd44a85592301ee830744da2f209b7e6"}, ] [package.dependencies] boto3 = ">=1.19.5,<2.dev0" jsonschema = ">=3.2,<5" pydantic = ">=1.8,<1.10.15 || >1.10.15,<1.10.17 || >1.10.17,<3" -typing-extensions = ">=4.4" +typing_extensions = ">=4.4" [package.extras] dev = ["black (==24.3.0)", "boto3 (>=1.23,<2)", "boto3-stubs[appconfig,serverlessrepo] (>=1.19.5,<2.dev0)", "coverage (>=5.3,<8)", "dateparser (>=1.1,<2.0)", "mypy (>=1.3.0,<1.4.0)", "parameterized (>=0.7,<1.0)", "pytest (>=6.2,<8)", "pytest-cov (>=2.10,<5)", "pytest-env (>=0.6,<1)", "pytest-rerunfailures (>=9.1,<12)", "pytest-xdist (>=2.5,<4)", "pyyaml (>=6.0,<7.0)", "requests (>=2.28,<3.0)", "ruamel.yaml (==0.17.21)", "ruff (>=0.4.5,<0.5.0)", "tenacity (>=8.0,<9.0)", "types-PyYAML (>=6.0,<7.0)", "types-jsonschema (>=3.2,<4.0)"] @@ -315,14 +320,14 @@ files = [ [[package]] name = "azure-core" -version = "1.32.0" +version = "1.33.0" description = "Microsoft Azure Core Library for Python" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "azure_core-1.32.0-py3-none-any.whl", hash = "sha256:eac191a0efb23bfa83fddf321b27b122b4ec847befa3091fa736a5c32c50d7b4"}, - {file = "azure_core-1.32.0.tar.gz", hash = "sha256:22b3c35d6b2dae14990f6c1be2912bf23ffe50b220e708a28ab1bb92b1c730e5"}, + {file = "azure_core-1.33.0-py3-none-any.whl", hash = "sha256:9b5b6d0223a1d38c37500e6971118c1e0f13f54951e6893968b38910bc9cda8f"}, + {file = "azure_core-1.33.0.tar.gz", hash = "sha256:f367aa07b5e3005fec2c1e184b882b0b039910733907d001c20fb08ebb8c0eb9"}, ] [package.dependencies] @@ -332,6 +337,7 @@ typing-extensions = ">=4.6.0" [package.extras] aio = ["aiohttp (>=3.0)"] +tracing = ["opentelemetry-api (>=1.26,<2.0)"] [[package]] name = "azure-identity" @@ -707,18 +713,18 @@ aio = ["azure-core[aio] (>=1.30.0)"] [[package]] name = "babel" -version = "2.16.0" +version = "2.17.0" description = "Internationalization utilities" optional = false python-versions = ">=3.8" groups = ["docs"] files = [ - {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, - {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, + {file = "babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2"}, + {file = "babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d"}, ] [package.extras] -dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] +dev = ["backports.zoneinfo ; python_version < \"3.9\"", "freezegun (>=1.0,<2.0)", "jinja2 (>=3.0)", "pytest (>=6.0)", "pytest-cov", "pytz", "setuptools", "tzdata ; sys_platform == \"win32\""] [[package]] name = "bandit" @@ -849,26 +855,26 @@ crt = ["awscrt (==0.22.0)"] [[package]] name = "cachetools" -version = "5.5.0" +version = "5.5.2" description = "Extensible memoizing collections and decorators" optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, - {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, + {file = "cachetools-5.5.2-py3-none-any.whl", hash = "sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a"}, + {file = "cachetools-5.5.2.tar.gz", hash = "sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4"}, ] [[package]] name = "certifi" -version = "2024.12.14" +version = "2025.1.31" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" groups = ["main", "dev", "docs"] files = [ - {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"}, - {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"}, + {file = "certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe"}, + {file = "certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651"}, ] [[package]] @@ -954,18 +960,18 @@ pycparser = "*" [[package]] name = "cfn-lint" -version = "1.22.5" +version = "1.34.1" description = "Checks CloudFormation templates for practices and behaviour that could potentially be improved" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "cfn_lint-1.22.5-py3-none-any.whl", hash = "sha256:18309e59cc03ff18b02676688df7eb1a17f5276da3776f31946fc0d9aa9b8fe7"}, - {file = "cfn_lint-1.22.5.tar.gz", hash = "sha256:8b4f55e283143e99d8d331627637226c291cecfb936606f7aab2d940e71e566d"}, + {file = "cfn_lint-1.34.1-py3-none-any.whl", hash = "sha256:2c21a908fa5d9b0c1caac2081c10261eaae7fce88364e4edc607717892f36d68"}, + {file = "cfn_lint-1.34.1.tar.gz", hash = "sha256:58f4352c370a710b72b389eda0acd6762e62f926e534d2eb1609d5326ded4bed"}, ] [package.dependencies] -aws-sam-translator = ">=1.94.0" +aws-sam-translator = ">=1.97.0" jsonpatch = "*" networkx = ">=2.4,<4" pyyaml = ">5.4" @@ -1349,21 +1355,21 @@ files = [ [[package]] name = "deprecated" -version = "1.2.15" +version = "1.2.18" description = "Python @deprecated decorator to deprecate old python classes, functions or methods." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" groups = ["main"] files = [ - {file = "Deprecated-1.2.15-py2.py3-none-any.whl", hash = "sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320"}, - {file = "deprecated-1.2.15.tar.gz", hash = "sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d"}, + {file = "Deprecated-1.2.18-py2.py3-none-any.whl", hash = "sha256:bd5011788200372a32418f888e326a09ff80d0214bd961147cfed01b5c018eec"}, + {file = "deprecated-1.2.18.tar.gz", hash = "sha256:422b6f6d859da6f2ef57857761bfb392480502a64c3028ca9bbe86085d72115d"}, ] [package.dependencies] wrapt = ">=1.10,<2" [package.extras] -dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "jinja2 (>=3.0.3,<3.1.0)", "setuptools ; python_version >= \"3.12\"", "sphinx (<2)", "tox"] +dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "setuptools ; python_version >= \"3.12\"", "tox"] [[package]] name = "detect-secrets" @@ -1387,14 +1393,14 @@ word-list = ["pyahocorasick"] [[package]] name = "dill" -version = "0.3.9" +version = "0.4.0" description = "serialize all of Python" optional = false python-versions = ">=3.8" groups = ["dev"] files = [ - {file = "dill-0.3.9-py3-none-any.whl", hash = "sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a"}, - {file = "dill-0.3.9.tar.gz", hash = "sha256:81aa267dddf68cbfe8029c42ca9ec6a4ab3b22371d1c450abc54422577b4512c"}, + {file = "dill-0.4.0-py3-none-any.whl", hash = "sha256:44f54bf6412c2c8464c14e8243eb163690a9800dbe2c367330883b19c7561049"}, + {file = "dill-0.4.0.tar.gz", hash = "sha256:0633f1d2df477324f53a895b02c901fb961bdbf65a17122586ea7019292cbcf0"}, ] [package.extras] @@ -1601,104 +1607,116 @@ python-dateutil = ">=2.7" [[package]] name = "frozenlist" -version = "1.5.0" +version = "1.6.0" description = "A list-like structure which implements collections.abc.MutableSequence" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5b6a66c18b5b9dd261ca98dffcb826a525334b2f29e7caa54e182255c5f6a65a"}, - {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d1b3eb7b05ea246510b43a7e53ed1653e55c2121019a97e60cad7efb881a97bb"}, - {file = "frozenlist-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15538c0cbf0e4fa11d1e3a71f823524b0c46299aed6e10ebb4c2089abd8c3bec"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e79225373c317ff1e35f210dd5f1344ff31066ba8067c307ab60254cd3a78ad5"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9272fa73ca71266702c4c3e2d4a28553ea03418e591e377a03b8e3659d94fa76"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:498524025a5b8ba81695761d78c8dd7382ac0b052f34e66939c42df860b8ff17"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92b5278ed9d50fe610185ecd23c55d8b307d75ca18e94c0e7de328089ac5dcba"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f3c8c1dacd037df16e85227bac13cca58c30da836c6f936ba1df0c05d046d8d"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2ac49a9bedb996086057b75bf93538240538c6d9b38e57c82d51f75a73409d2"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e66cc454f97053b79c2ab09c17fbe3c825ea6b4de20baf1be28919460dd7877f"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3ba5f9a0dfed20337d3e966dc359784c9f96503674c2faf015f7fe8e96798c"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6321899477db90bdeb9299ac3627a6a53c7399c8cd58d25da094007402b039ab"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76e4753701248476e6286f2ef492af900ea67d9706a0155335a40ea21bf3b2f5"}, - {file = "frozenlist-1.5.0-cp310-cp310-win32.whl", hash = "sha256:977701c081c0241d0955c9586ffdd9ce44f7a7795df39b9151cd9a6fd0ce4cfb"}, - {file = "frozenlist-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:189f03b53e64144f90990d29a27ec4f7997d91ed3d01b51fa39d2dbe77540fd4"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fd74520371c3c4175142d02a976aee0b4cb4a7cc912a60586ffd8d5929979b30"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2f3f7a0fbc219fb4455264cae4d9f01ad41ae6ee8524500f381de64ffaa077d5"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f47c9c9028f55a04ac254346e92977bf0f166c483c74b4232bee19a6697e4778"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0996c66760924da6e88922756d99b47512a71cfd45215f3570bf1e0b694c206a"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2fe128eb4edeabe11896cb6af88fca5346059f6c8d807e3b910069f39157869"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a8ea951bbb6cacd492e3948b8da8c502a3f814f5d20935aae74b5df2b19cf3d"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de537c11e4aa01d37db0d403b57bd6f0546e71a82347a97c6a9f0dcc532b3a45"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c2623347b933fcb9095841f1cc5d4ff0b278addd743e0e966cb3d460278840d"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cee6798eaf8b1416ef6909b06f7dc04b60755206bddc599f52232606e18179d3"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f5f9da7f5dbc00a604fe74aa02ae7c98bcede8a3b8b9666f9f86fc13993bc71a"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:90646abbc7a5d5c7c19461d2e3eeb76eb0b204919e6ece342feb6032c9325ae9"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bdac3c7d9b705d253b2ce370fde941836a5f8b3c5c2b8fd70940a3ea3af7f4f2"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03d33c2ddbc1816237a67f66336616416e2bbb6beb306e5f890f2eb22b959cdf"}, - {file = "frozenlist-1.5.0-cp311-cp311-win32.whl", hash = "sha256:237f6b23ee0f44066219dae14c70ae38a63f0440ce6750f868ee08775073f942"}, - {file = "frozenlist-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:0cc974cc93d32c42e7b0f6cf242a6bd941c57c61b618e78b6c0a96cb72788c1d"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f"}, - {file = "frozenlist-1.5.0-cp312-cp312-win32.whl", hash = "sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8"}, - {file = "frozenlist-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a1a048f9215c90973402e26c01d1cff8a209e1f1b53f72b95c13db61b00f953"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd47a5181ce5fcb463b5d9e17ecfdb02b678cca31280639255ce9d0e5aa67af0"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1431d60b36d15cda188ea222033eec8e0eab488f39a272461f2e6d9e1a8e63c2"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6482a5851f5d72767fbd0e507e80737f9c8646ae7fd303def99bfe813f76cf7f"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44c49271a937625619e862baacbd037a7ef86dd1ee215afc298a417ff3270608"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12f78f98c2f1c2429d42e6a485f433722b0061d5c0b0139efa64f396efb5886b"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce3aa154c452d2467487765e3adc730a8c153af77ad84096bc19ce19a2400840"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b7dc0c4338e6b8b091e8faf0db3168a37101943e687f373dce00959583f7439"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45e0896250900b5aa25180f9aec243e84e92ac84bd4a74d9ad4138ef3f5c97de"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:561eb1c9579d495fddb6da8959fd2a1fca2c6d060d4113f5844b433fc02f2641"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:df6e2f325bfee1f49f81aaac97d2aa757c7646534a06f8f577ce184afe2f0a9e"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:140228863501b44b809fb39ec56b5d4071f4d0aa6d216c19cbb08b8c5a7eadb9"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7707a25d6a77f5d27ea7dc7d1fc608aa0a478193823f88511ef5e6b8a48f9d03"}, - {file = "frozenlist-1.5.0-cp313-cp313-win32.whl", hash = "sha256:31a9ac2b38ab9b5a8933b693db4939764ad3f299fcaa931a3e605bc3460e693c"}, - {file = "frozenlist-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:11aabdd62b8b9c4b84081a3c246506d1cddd2dd93ff0ad53ede5defec7886b28"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dd94994fc91a6177bfaafd7d9fd951bc8689b0a98168aa26b5f543868548d3ca"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0da8bbec082bf6bf18345b180958775363588678f64998c2b7609e34719b10"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73f2e31ea8dd7df61a359b731716018c2be196e5bb3b74ddba107f694fbd7604"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:828afae9f17e6de596825cf4228ff28fbdf6065974e5ac1410cecc22f699d2b3"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1577515d35ed5649d52ab4319db757bb881ce3b2b796d7283e6634d99ace307"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2150cc6305a2c2ab33299453e2968611dacb970d2283a14955923062c8d00b10"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a72b7a6e3cd2725eff67cd64c8f13335ee18fc3c7befc05aed043d24c7b9ccb9"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c16d2fa63e0800723139137d667e1056bee1a1cf7965153d2d104b62855e9b99"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:17dcc32fc7bda7ce5875435003220a457bcfa34ab7924a49a1c19f55b6ee185c"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:97160e245ea33d8609cd2b8fd997c850b56db147a304a262abc2b3be021a9171"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f1e6540b7fa044eee0bb5111ada694cf3dc15f2b0347ca125ee9ca984d5e9e6e"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:91d6c171862df0a6c61479d9724f22efb6109111017c87567cfeb7b5d1449fdf"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c1fac3e2ace2eb1052e9f7c7db480818371134410e1f5c55d65e8f3ac6d1407e"}, - {file = "frozenlist-1.5.0-cp38-cp38-win32.whl", hash = "sha256:b97f7b575ab4a8af9b7bc1d2ef7f29d3afee2226bd03ca3875c16451ad5a7723"}, - {file = "frozenlist-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:374ca2dabdccad8e2a76d40b1d037f5bd16824933bf7bcea3e59c891fd4a0923"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9bbcdfaf4af7ce002694a4e10a0159d5a8d20056a12b05b45cea944a4953f972"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1893f948bf6681733aaccf36c5232c231e3b5166d607c5fa77773611df6dc336"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b5e23253bb709ef57a8e95e6ae48daa9ac5f265637529e4ce6b003a37b2621f"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f253985bb515ecd89629db13cb58d702035ecd8cfbca7d7a7e29a0e6d39af5f"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04a5c6babd5e8fb7d3c871dc8b321166b80e41b637c31a995ed844a6139942b6"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fe0f1c29ba24ba6ff6abf688cb0b7cf1efab6b6aa6adc55441773c252f7411"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:226d72559fa19babe2ccd920273e767c96a49b9d3d38badd7c91a0fdeda8ea08"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b731db116ab3aedec558573c1a5eec78822b32292fe4f2f0345b7f697745c2"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:366d8f93e3edfe5a918c874702f78faac300209a4d5bf38352b2c1bdc07a766d"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1b96af8c582b94d381a1c1f51ffaedeb77c821c690ea5f01da3d70a487dd0a9b"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c03eff4a41bd4e38415cbed054bbaff4a075b093e2394b6915dca34a40d1e38b"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:50cf5e7ee9b98f22bdecbabf3800ae78ddcc26e4a435515fc72d97903e8488e0"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e76bfbc72353269c44e0bc2cfe171900fbf7f722ad74c9a7b638052afe6a00c"}, - {file = "frozenlist-1.5.0-cp39-cp39-win32.whl", hash = "sha256:666534d15ba8f0fda3f53969117383d5dc021266b3c1a42c9ec4855e4b58b9d3"}, - {file = "frozenlist-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:5c28f4b5dbef8a0d8aad0d4de24d1e9e981728628afaf4ea0792f5d0939372f0"}, - {file = "frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3"}, - {file = "frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817"}, + {file = "frozenlist-1.6.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e6e558ea1e47fd6fa8ac9ccdad403e5dd5ecc6ed8dda94343056fa4277d5c65e"}, + {file = "frozenlist-1.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f4b3cd7334a4bbc0c472164f3744562cb72d05002cc6fcf58adb104630bbc352"}, + {file = "frozenlist-1.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9799257237d0479736e2b4c01ff26b5c7f7694ac9692a426cb717f3dc02fff9b"}, + {file = "frozenlist-1.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a7bb0fe1f7a70fb5c6f497dc32619db7d2cdd53164af30ade2f34673f8b1fc"}, + {file = "frozenlist-1.6.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:36d2fc099229f1e4237f563b2a3e0ff7ccebc3999f729067ce4e64a97a7f2869"}, + {file = "frozenlist-1.6.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f27a9f9a86dcf00708be82359db8de86b80d029814e6693259befe82bb58a106"}, + {file = "frozenlist-1.6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75ecee69073312951244f11b8627e3700ec2bfe07ed24e3a685a5979f0412d24"}, + {file = "frozenlist-1.6.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2c7d5aa19714b1b01a0f515d078a629e445e667b9da869a3cd0e6fe7dec78bd"}, + {file = "frozenlist-1.6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69bbd454f0fb23b51cadc9bdba616c9678e4114b6f9fa372d462ff2ed9323ec8"}, + {file = "frozenlist-1.6.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7daa508e75613809c7a57136dec4871a21bca3080b3a8fc347c50b187df4f00c"}, + {file = "frozenlist-1.6.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:89ffdb799154fd4d7b85c56d5fa9d9ad48946619e0eb95755723fffa11022d75"}, + {file = "frozenlist-1.6.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:920b6bd77d209931e4c263223381d63f76828bec574440f29eb497cf3394c249"}, + {file = "frozenlist-1.6.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d3ceb265249fb401702fce3792e6b44c1166b9319737d21495d3611028d95769"}, + {file = "frozenlist-1.6.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:52021b528f1571f98a7d4258c58aa8d4b1a96d4f01d00d51f1089f2e0323cb02"}, + {file = "frozenlist-1.6.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0f2ca7810b809ed0f1917293050163c7654cefc57a49f337d5cd9de717b8fad3"}, + {file = "frozenlist-1.6.0-cp310-cp310-win32.whl", hash = "sha256:0e6f8653acb82e15e5443dba415fb62a8732b68fe09936bb6d388c725b57f812"}, + {file = "frozenlist-1.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:f1a39819a5a3e84304cd286e3dc62a549fe60985415851b3337b6f5cc91907f1"}, + {file = "frozenlist-1.6.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae8337990e7a45683548ffb2fee1af2f1ed08169284cd829cdd9a7fa7470530d"}, + {file = "frozenlist-1.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8c952f69dd524558694818a461855f35d36cc7f5c0adddce37e962c85d06eac0"}, + {file = "frozenlist-1.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8f5fef13136c4e2dee91bfb9a44e236fff78fc2cd9f838eddfc470c3d7d90afe"}, + {file = "frozenlist-1.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:716bbba09611b4663ecbb7cd022f640759af8259e12a6ca939c0a6acd49eedba"}, + {file = "frozenlist-1.6.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7b8c4dc422c1a3ffc550b465090e53b0bf4839047f3e436a34172ac67c45d595"}, + {file = "frozenlist-1.6.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b11534872256e1666116f6587a1592ef395a98b54476addb5e8d352925cb5d4a"}, + {file = "frozenlist-1.6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c6eceb88aaf7221f75be6ab498dc622a151f5f88d536661af3ffc486245a626"}, + {file = "frozenlist-1.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62c828a5b195570eb4b37369fcbbd58e96c905768d53a44d13044355647838ff"}, + {file = "frozenlist-1.6.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1c6bd2c6399920c9622362ce95a7d74e7f9af9bfec05fff91b8ce4b9647845a"}, + {file = "frozenlist-1.6.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:49ba23817781e22fcbd45fd9ff2b9b8cdb7b16a42a4851ab8025cae7b22e96d0"}, + {file = "frozenlist-1.6.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:431ef6937ae0f853143e2ca67d6da76c083e8b1fe3df0e96f3802fd37626e606"}, + {file = "frozenlist-1.6.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9d124b38b3c299ca68433597ee26b7819209cb8a3a9ea761dfe9db3a04bba584"}, + {file = "frozenlist-1.6.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:118e97556306402e2b010da1ef21ea70cb6d6122e580da64c056b96f524fbd6a"}, + {file = "frozenlist-1.6.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:fb3b309f1d4086b5533cf7bbcf3f956f0ae6469664522f1bde4feed26fba60f1"}, + {file = "frozenlist-1.6.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:54dece0d21dce4fdb188a1ffc555926adf1d1c516e493c2914d7c370e454bc9e"}, + {file = "frozenlist-1.6.0-cp311-cp311-win32.whl", hash = "sha256:654e4ba1d0b2154ca2f096bed27461cf6160bc7f504a7f9a9ef447c293caf860"}, + {file = "frozenlist-1.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:3e911391bffdb806001002c1f860787542f45916c3baf764264a52765d5a5603"}, + {file = "frozenlist-1.6.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c5b9e42ace7d95bf41e19b87cec8f262c41d3510d8ad7514ab3862ea2197bfb1"}, + {file = "frozenlist-1.6.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ca9973735ce9f770d24d5484dcb42f68f135351c2fc81a7a9369e48cf2998a29"}, + {file = "frozenlist-1.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6ac40ec76041c67b928ca8aaffba15c2b2ee3f5ae8d0cb0617b5e63ec119ca25"}, + {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95b7a8a3180dfb280eb044fdec562f9b461614c0ef21669aea6f1d3dac6ee576"}, + {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c444d824e22da6c9291886d80c7d00c444981a72686e2b59d38b285617cb52c8"}, + {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb52c8166499a8150bfd38478248572c924c003cbb45fe3bcd348e5ac7c000f9"}, + {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b35298b2db9c2468106278537ee529719228950a5fdda686582f68f247d1dc6e"}, + {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d108e2d070034f9d57210f22fefd22ea0d04609fc97c5f7f5a686b3471028590"}, + {file = "frozenlist-1.6.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e1be9111cb6756868ac242b3c2bd1f09d9aea09846e4f5c23715e7afb647103"}, + {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:94bb451c664415f02f07eef4ece976a2c65dcbab9c2f1705b7031a3a75349d8c"}, + {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:d1a686d0b0949182b8faddea596f3fc11f44768d1f74d4cad70213b2e139d821"}, + {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:ea8e59105d802c5a38bdbe7362822c522230b3faba2aa35c0fa1765239b7dd70"}, + {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:abc4e880a9b920bc5020bf6a431a6bb40589d9bca3975c980495f63632e8382f"}, + {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9a79713adfe28830f27a3c62f6b5406c37376c892b05ae070906f07ae4487046"}, + {file = "frozenlist-1.6.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9a0318c2068e217a8f5e3b85e35899f5a19e97141a45bb925bb357cfe1daf770"}, + {file = "frozenlist-1.6.0-cp312-cp312-win32.whl", hash = "sha256:853ac025092a24bb3bf09ae87f9127de9fe6e0c345614ac92536577cf956dfcc"}, + {file = "frozenlist-1.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:2bdfe2d7e6c9281c6e55523acd6c2bf77963cb422fdc7d142fb0cb6621b66878"}, + {file = "frozenlist-1.6.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1d7fb014fe0fbfee3efd6a94fc635aeaa68e5e1720fe9e57357f2e2c6e1a647e"}, + {file = "frozenlist-1.6.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01bcaa305a0fdad12745502bfd16a1c75b14558dabae226852f9159364573117"}, + {file = "frozenlist-1.6.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8b314faa3051a6d45da196a2c495e922f987dc848e967d8cfeaee8a0328b1cd4"}, + {file = "frozenlist-1.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da62fecac21a3ee10463d153549d8db87549a5e77eefb8c91ac84bb42bb1e4e3"}, + {file = "frozenlist-1.6.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d1eb89bf3454e2132e046f9599fbcf0a4483ed43b40f545551a39316d0201cd1"}, + {file = "frozenlist-1.6.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d18689b40cb3936acd971f663ccb8e2589c45db5e2c5f07e0ec6207664029a9c"}, + {file = "frozenlist-1.6.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e67ddb0749ed066b1a03fba812e2dcae791dd50e5da03be50b6a14d0c1a9ee45"}, + {file = "frozenlist-1.6.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fc5e64626e6682638d6e44398c9baf1d6ce6bc236d40b4b57255c9d3f9761f1f"}, + {file = "frozenlist-1.6.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:437cfd39564744ae32ad5929e55b18ebd88817f9180e4cc05e7d53b75f79ce85"}, + {file = "frozenlist-1.6.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:62dd7df78e74d924952e2feb7357d826af8d2f307557a779d14ddf94d7311be8"}, + {file = "frozenlist-1.6.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:a66781d7e4cddcbbcfd64de3d41a61d6bdde370fc2e38623f30b2bd539e84a9f"}, + {file = "frozenlist-1.6.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:482fe06e9a3fffbcd41950f9d890034b4a54395c60b5e61fae875d37a699813f"}, + {file = "frozenlist-1.6.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:e4f9373c500dfc02feea39f7a56e4f543e670212102cc2eeb51d3a99c7ffbde6"}, + {file = "frozenlist-1.6.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e69bb81de06827147b7bfbaeb284d85219fa92d9f097e32cc73675f279d70188"}, + {file = "frozenlist-1.6.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7613d9977d2ab4a9141dde4a149f4357e4065949674c5649f920fec86ecb393e"}, + {file = "frozenlist-1.6.0-cp313-cp313-win32.whl", hash = "sha256:4def87ef6d90429f777c9d9de3961679abf938cb6b7b63d4a7eb8a268babfce4"}, + {file = "frozenlist-1.6.0-cp313-cp313-win_amd64.whl", hash = "sha256:37a8a52c3dfff01515e9bbbee0e6063181362f9de3db2ccf9bc96189b557cbfd"}, + {file = "frozenlist-1.6.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:46138f5a0773d064ff663d273b309b696293d7a7c00a0994c5c13a5078134b64"}, + {file = "frozenlist-1.6.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f88bc0a2b9c2a835cb888b32246c27cdab5740059fb3688852bf91e915399b91"}, + {file = "frozenlist-1.6.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:777704c1d7655b802c7850255639672e90e81ad6fa42b99ce5ed3fbf45e338dd"}, + {file = "frozenlist-1.6.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85ef8d41764c7de0dcdaf64f733a27352248493a85a80661f3c678acd27e31f2"}, + {file = "frozenlist-1.6.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:da5cb36623f2b846fb25009d9d9215322318ff1c63403075f812b3b2876c8506"}, + {file = "frozenlist-1.6.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cbb56587a16cf0fb8acd19e90ff9924979ac1431baea8681712716a8337577b0"}, + {file = "frozenlist-1.6.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6154c3ba59cda3f954c6333025369e42c3acd0c6e8b6ce31eb5c5b8116c07e0"}, + {file = "frozenlist-1.6.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e8246877afa3f1ae5c979fe85f567d220f86a50dc6c493b9b7d8191181ae01e"}, + {file = "frozenlist-1.6.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b0f6cce16306d2e117cf9db71ab3a9e8878a28176aeaf0dbe35248d97b28d0c"}, + {file = "frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:1b8e8cd8032ba266f91136d7105706ad57770f3522eac4a111d77ac126a25a9b"}, + {file = "frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:e2ada1d8515d3ea5378c018a5f6d14b4994d4036591a52ceaf1a1549dec8e1ad"}, + {file = "frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:cdb2c7f071e4026c19a3e32b93a09e59b12000751fc9b0b7758da899e657d215"}, + {file = "frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:03572933a1969a6d6ab509d509e5af82ef80d4a5d4e1e9f2e1cdd22c77a3f4d2"}, + {file = "frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:77effc978947548b676c54bbd6a08992759ea6f410d4987d69feea9cd0919911"}, + {file = "frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a2bda8be77660ad4089caf2223fdbd6db1858462c4b85b67fbfa22102021e497"}, + {file = "frozenlist-1.6.0-cp313-cp313t-win32.whl", hash = "sha256:a4d96dc5bcdbd834ec6b0f91027817214216b5b30316494d2b1aebffb87c534f"}, + {file = "frozenlist-1.6.0-cp313-cp313t-win_amd64.whl", hash = "sha256:e18036cb4caa17ea151fd5f3d70be9d354c99eb8cf817a3ccde8a7873b074348"}, + {file = "frozenlist-1.6.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:536a1236065c29980c15c7229fbb830dedf809708c10e159b8136534233545f0"}, + {file = "frozenlist-1.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ed5e3a4462ff25ca84fb09e0fada8ea267df98a450340ead4c91b44857267d70"}, + {file = "frozenlist-1.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e19c0fc9f4f030fcae43b4cdec9e8ab83ffe30ec10c79a4a43a04d1af6c5e1ad"}, + {file = "frozenlist-1.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7c608f833897501dac548585312d73a7dca028bf3b8688f0d712b7acfaf7fb3"}, + {file = "frozenlist-1.6.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0dbae96c225d584f834b8d3cc688825911960f003a85cb0fd20b6e5512468c42"}, + {file = "frozenlist-1.6.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:625170a91dd7261a1d1c2a0c1a353c9e55d21cd67d0852185a5fef86587e6f5f"}, + {file = "frozenlist-1.6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1db8b2fc7ee8a940b547a14c10e56560ad3ea6499dc6875c354e2335812f739d"}, + {file = "frozenlist-1.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4da6fc43048b648275a220e3a61c33b7fff65d11bdd6dcb9d9c145ff708b804c"}, + {file = "frozenlist-1.6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ef8e7e8f2f3820c5f175d70fdd199b79e417acf6c72c5d0aa8f63c9f721646f"}, + {file = "frozenlist-1.6.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:aa733d123cc78245e9bb15f29b44ed9e5780dc6867cfc4e544717b91f980af3b"}, + {file = "frozenlist-1.6.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:ba7f8d97152b61f22d7f59491a781ba9b177dd9f318486c5fbc52cde2db12189"}, + {file = "frozenlist-1.6.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:56a0b8dd6d0d3d971c91f1df75e824986667ccce91e20dca2023683814344791"}, + {file = "frozenlist-1.6.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:5c9e89bf19ca148efcc9e3c44fd4c09d5af85c8a7dd3dbd0da1cb83425ef4983"}, + {file = "frozenlist-1.6.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:1330f0a4376587face7637dfd245380a57fe21ae8f9d360c1c2ef8746c4195fa"}, + {file = "frozenlist-1.6.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2187248203b59625566cac53572ec8c2647a140ee2738b4e36772930377a533c"}, + {file = "frozenlist-1.6.0-cp39-cp39-win32.whl", hash = "sha256:2b8cf4cfea847d6c12af06091561a89740f1f67f331c3fa8623391905e878530"}, + {file = "frozenlist-1.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:1255d5d64328c5a0d066ecb0f02034d086537925f1f04b50b1ae60d37afbf572"}, + {file = "frozenlist-1.6.0-py3-none-any.whl", hash = "sha256:535eec9987adb04701266b92745d6cdcef2e77669299359c3009c3404dd5d191"}, + {file = "frozenlist-1.6.0.tar.gz", hash = "sha256:b99655c32c1c8e06d111e7f41c06c29a5318cb1835df23a45518e02a47c63b68"}, ] [[package]] @@ -1755,22 +1773,22 @@ test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock ; python_version < \"3. [[package]] name = "google-api-core" -version = "2.24.0" +version = "2.24.2" description = "Google API client core library" optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "google_api_core-2.24.0-py3-none-any.whl", hash = "sha256:10d82ac0fca69c82a25b3efdeefccf6f28e02ebb97925a8cce8edbfe379929d9"}, - {file = "google_api_core-2.24.0.tar.gz", hash = "sha256:e255640547a597a4da010876d333208ddac417d60add22b6851a0c66a831fcaf"}, + {file = "google_api_core-2.24.2-py3-none-any.whl", hash = "sha256:810a63ac95f3c441b7c0e43d344e372887f62ce9071ba972eacf32672e072de9"}, + {file = "google_api_core-2.24.2.tar.gz", hash = "sha256:81718493daf06d96d6bc76a91c23874dbf2fac0adbbf542831b805ee6e974696"}, ] [package.dependencies] -google-auth = ">=2.14.1,<3.0.dev0" -googleapis-common-protos = ">=1.56.2,<2.0.dev0" -proto-plus = ">=1.22.3,<2.0.0dev" -protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0.dev0" -requests = ">=2.18.0,<3.0.0.dev0" +google-auth = ">=2.14.1,<3.0.0" +googleapis-common-protos = ">=1.56.2,<2.0.0" +proto-plus = ">=1.22.3,<2.0.0" +protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<7.0.0" +requests = ">=2.18.0,<3.0.0" [package.extras] async-rest = ["google-auth[aiohttp] (>=2.35.0,<3.0.dev0)"] @@ -1799,14 +1817,14 @@ uritemplate = ">=3.0.1,<5" [[package]] name = "google-auth" -version = "2.37.0" +version = "2.39.0" description = "Google Authentication Library" optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "google_auth-2.37.0-py2.py3-none-any.whl", hash = "sha256:42664f18290a6be591be5329a96fe30184be1a1badb7292a7f686a9659de9ca0"}, - {file = "google_auth-2.37.0.tar.gz", hash = "sha256:0054623abf1f9c83492c63d3f47e77f0a544caa3d40b2d98e099a611c2dd5d00"}, + {file = "google_auth-2.39.0-py2.py3-none-any.whl", hash = "sha256:0150b6711e97fb9f52fe599f55648950cc4540015565d8fbb31be2ad6e1548a2"}, + {file = "google_auth-2.39.0.tar.gz", hash = "sha256:73222d43cdc35a3aeacbfdcaf73142a97839f10de930550d89ebfe1d0a00cde7"}, ] [package.dependencies] @@ -1815,12 +1833,14 @@ pyasn1-modules = ">=0.2.1" rsa = ">=3.1.4,<5" [package.extras] -aiohttp = ["aiohttp (>=3.6.2,<4.0.0.dev0)", "requests (>=2.20.0,<3.0.0.dev0)"] +aiohttp = ["aiohttp (>=3.6.2,<4.0.0)", "requests (>=2.20.0,<3.0.0)"] enterprise-cert = ["cryptography", "pyopenssl"] -pyjwt = ["cryptography (>=38.0.3)", "pyjwt (>=2.0)"] -pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] +pyjwt = ["cryptography (<39.0.0) ; python_version < \"3.8\"", "cryptography (>=38.0.3)", "pyjwt (>=2.0)"] +pyopenssl = ["cryptography (<39.0.0) ; python_version < \"3.8\"", "cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] reauth = ["pyu2f (>=0.1.5)"] -requests = ["requests (>=2.20.0,<3.0.0.dev0)"] +requests = ["requests (>=2.20.0,<3.0.0)"] +testing = ["aiohttp (<3.10.0)", "aiohttp (>=3.6.2,<4.0.0)", "aioresponses", "cryptography (<39.0.0) ; python_version < \"3.8\"", "cryptography (>=38.0.3)", "flask", "freezegun", "grpcio", "mock", "oauth2client", "packaging", "pyjwt (>=2.0)", "pyopenssl (<24.3.0)", "pyopenssl (>=20.0.0)", "pytest", "pytest-asyncio", "pytest-cov", "pytest-localserver", "pyu2f (>=0.1.5)", "requests (>=2.20.0,<3.0.0)", "responses", "urllib3"] +urllib3 = ["packaging", "urllib3"] [[package]] name = "google-auth-httplib2" @@ -1840,21 +1860,21 @@ httplib2 = ">=0.19.0" [[package]] name = "googleapis-common-protos" -version = "1.66.0" +version = "1.70.0" description = "Common protobufs used in Google APIs" optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "googleapis_common_protos-1.66.0-py2.py3-none-any.whl", hash = "sha256:d7abcd75fabb2e0ec9f74466401f6c119a0b498e27370e9be4c94cb7e382b8ed"}, - {file = "googleapis_common_protos-1.66.0.tar.gz", hash = "sha256:c3e7b33d15fdca5374cc0a7346dd92ffa847425cc4ea941d970f13680052ec8c"}, + {file = "googleapis_common_protos-1.70.0-py3-none-any.whl", hash = "sha256:b8bfcca8c25a2bb253e0e0b0adaf8c00773e5e6af6fd92397576680b807e0fd8"}, + {file = "googleapis_common_protos-1.70.0.tar.gz", hash = "sha256:0e1b44e0ea153e6594f9f394fef15193a68aaaea2d843f83e2742717ca753257"}, ] [package.dependencies] -protobuf = ">=3.20.2,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0.dev0" +protobuf = ">=3.20.2,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<7.0.0" [package.extras] -grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] +grpc = ["grpcio (>=1.44.0,<2.0.0)"] [[package]] name = "grapheme" @@ -1872,14 +1892,14 @@ test = ["pytest", "sphinx", "sphinx-autobuild", "twine", "wheel"] [[package]] name = "graphql-core" -version = "3.2.5" +version = "3.2.6" description = "GraphQL implementation for Python, a port of GraphQL.js, the JavaScript reference implementation for GraphQL." optional = false python-versions = "<4,>=3.6" groups = ["dev"] files = [ - {file = "graphql_core-3.2.5-py3-none-any.whl", hash = "sha256:2f150d5096448aa4f8ab26268567bbfeef823769893b39c1a2e1409590939c8a"}, - {file = "graphql_core-3.2.5.tar.gz", hash = "sha256:e671b90ed653c808715645e3998b7ab67d382d55467b7e2978549111bbabf8d5"}, + {file = "graphql_core-3.2.6-py3-none-any.whl", hash = "sha256:78b016718c161a6fb20a7d97bbf107f331cd1afe53e45566c59f776ed7f0b45f"}, + {file = "graphql_core-3.2.6.tar.gz", hash = "sha256:c08eec22f9e40f0bd61d805907e3b3b1b9a320bc606e23dc145eebca07c8fbab"}, ] [package.dependencies] @@ -1899,42 +1919,42 @@ files = [ [[package]] name = "h2" -version = "4.1.0" -description = "HTTP/2 State-Machine based protocol implementation" +version = "4.2.0" +description = "Pure-Python HTTP/2 protocol implementation" optional = false -python-versions = ">=3.6.1" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "h2-4.1.0-py3-none-any.whl", hash = "sha256:03a46bcf682256c95b5fd9e9a99c1323584c3eec6440d379b9903d709476bc6d"}, - {file = "h2-4.1.0.tar.gz", hash = "sha256:a83aca08fbe7aacb79fec788c9c0bac936343560ed9ec18b82a13a12c28d2abb"}, + {file = "h2-4.2.0-py3-none-any.whl", hash = "sha256:479a53ad425bb29af087f3458a61d30780bc818e4ebcf01f0b536ba916462ed0"}, + {file = "h2-4.2.0.tar.gz", hash = "sha256:c8a52129695e88b1a0578d8d2cc6842bbd79128ac685463b887ee278126ad01f"}, ] [package.dependencies] -hpack = ">=4.0,<5" -hyperframe = ">=6.0,<7" +hpack = ">=4.1,<5" +hyperframe = ">=6.1,<7" [[package]] name = "hpack" -version = "4.0.0" -description = "Pure-Python HPACK header compression" +version = "4.1.0" +description = "Pure-Python HPACK header encoding" optional = false -python-versions = ">=3.6.1" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "hpack-4.0.0-py3-none-any.whl", hash = "sha256:84a076fad3dc9a9f8063ccb8041ef100867b1878b25ef0ee63847a5d53818a6c"}, - {file = "hpack-4.0.0.tar.gz", hash = "sha256:fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095"}, + {file = "hpack-4.1.0-py3-none-any.whl", hash = "sha256:157ac792668d995c657d93111f46b4535ed114f0c9c8d672271bbec7eae1b496"}, + {file = "hpack-4.1.0.tar.gz", hash = "sha256:ec5eca154f7056aa06f196a557655c5b009b382873ac8d1e66e79e87535f1dca"}, ] [[package]] name = "httpcore" -version = "1.0.7" +version = "1.0.8" description = "A minimal low-level HTTP client." optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd"}, - {file = "httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c"}, + {file = "httpcore-1.0.8-py3-none-any.whl", hash = "sha256:5254cf149bcb5f75e9d1b2b9f729ea4a4b883d1ad7379fc632b727cec23674be"}, + {file = "httpcore-1.0.8.tar.gz", hash = "sha256:86e94505ed24ea06514883fd44d2bc02d90e77e7979c8eb71b90f41d364a1bad"}, ] [package.dependencies] @@ -1990,14 +2010,14 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "hyperframe" -version = "6.0.1" -description = "HTTP/2 framing layer for Python" +version = "6.1.0" +description = "Pure-Python HTTP/2 framing" optional = false -python-versions = ">=3.6.1" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "hyperframe-6.0.1-py3-none-any.whl", hash = "sha256:0ec6bafd80d8ad2195c4f03aacba3a8265e57bc4cff261e802bf39970ed02a15"}, - {file = "hyperframe-6.0.1.tar.gz", hash = "sha256:ae510046231dc8e9ecb1a6586f63d2347bf4c8905914aa84ba585ae85f28a914"}, + {file = "hyperframe-6.1.0-py3-none-any.whl", hash = "sha256:b03380493a519fce58ea5af42e4a42317bf9bd425596f7a0835ffce80f1a42e5"}, + {file = "hyperframe-6.1.0.tar.gz", hash = "sha256:f630908a00854a7adeabd6382b43923a4c4cd4b821fcb527e6ab9e15382a3b08"}, ] [[package]] @@ -2017,14 +2037,14 @@ all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2 [[package]] name = "importlib-metadata" -version = "8.5.0" +version = "8.6.1" description = "Read metadata from Python packages" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main", "dev", "docs"] files = [ - {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, - {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, + {file = "importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e"}, + {file = "importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580"}, ] markers = {dev = "python_version < \"3.10\"", docs = "python_version < \"3.10\""} @@ -2037,19 +2057,19 @@ cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3) ; python_version < \"3.9\"", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +test = ["flufl.flake8", "importlib_resources (>=1.3) ; python_version < \"3.9\"", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] type = ["pytest-mypy"] [[package]] name = "iniconfig" -version = "2.0.0" +version = "2.1.0" description = "brain-dead simple config-ini parsing" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" groups = ["dev"] files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, + {file = "iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760"}, + {file = "iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7"}, ] [[package]] @@ -2066,18 +2086,19 @@ files = [ [[package]] name = "isort" -version = "5.13.2" +version = "6.0.1" description = "A Python utility / library to sort Python imports." optional = false -python-versions = ">=3.8.0" +python-versions = ">=3.9.0" groups = ["dev"] files = [ - {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, - {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, + {file = "isort-6.0.1-py3-none-any.whl", hash = "sha256:2dc5d7f65c9678d94c88dfc29161a320eec67328bc97aad576874cb4be1e9615"}, + {file = "isort-6.0.1.tar.gz", hash = "sha256:1cb5df28dfbc742e490c5e41bad6da41b805b0a8be7bc93cd0fb2a8a890ac450"}, ] [package.extras] -colors = ["colorama (>=0.4.6)"] +colors = ["colorama"] +plugins = ["setuptools"] [[package]] name = "itsdangerous" @@ -2123,14 +2144,14 @@ files = [ [[package]] name = "joserfc" -version = "1.0.2" +version = "1.0.4" description = "The ultimate Python library for JOSE RFCs, including JWS, JWE, JWK, JWA, JWT" optional = false python-versions = ">=3.8" groups = ["dev"] files = [ - {file = "joserfc-1.0.2-py3-none-any.whl", hash = "sha256:8d3e0253b0b24aeaf049d7bf7a847040dd6462de24cefd0c14abfc8b353f9619"}, - {file = "joserfc-1.0.2.tar.gz", hash = "sha256:f3c4efa35a62fc100097e4bec2584f5fd21b878eee3eb5324bc9b37d2969b2a4"}, + {file = "joserfc-1.0.4-py3-none-any.whl", hash = "sha256:ecf3a5999f89d3a663485ab7c4f633541586d6f44e664ee760197299f39ed51b"}, + {file = "joserfc-1.0.4.tar.gz", hash = "sha256:dc3fc216cfcfc952d4c0d4b06c759a04711af0b667e5973adc47dbb1ba784127"}, ] [package.dependencies] @@ -2206,20 +2227,20 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- [[package]] name = "jsonschema-path" -version = "0.3.3" +version = "0.3.4" description = "JSONSchema Spec with object-oriented paths" optional = false python-versions = "<4.0.0,>=3.8.0" groups = ["dev"] files = [ - {file = "jsonschema_path-0.3.3-py3-none-any.whl", hash = "sha256:203aff257f8038cd3c67be614fe6b2001043408cb1b4e36576bc4921e09d83c4"}, - {file = "jsonschema_path-0.3.3.tar.gz", hash = "sha256:f02e5481a4288ec062f8e68c808569e427d905bedfecb7f2e4c69ef77957c382"}, + {file = "jsonschema_path-0.3.4-py3-none-any.whl", hash = "sha256:f502191fdc2b22050f9a81c9237be9d27145b9001c55842bece5e94e382e52f8"}, + {file = "jsonschema_path-0.3.4.tar.gz", hash = "sha256:8365356039f16cc65fddffafda5f58766e34bebab7d6d105616ab52bc4297001"}, ] [package.dependencies] pathable = ">=0.4.1,<0.5.0" PyYAML = ">=5.1" -referencing = ">=0.28.0,<0.36.0" +referencing = "<0.37.0" requests = ">=2.31.0,<3.0.0" [[package]] @@ -2267,68 +2288,45 @@ adal = ["adal (>=1.0.2)"] [[package]] name = "lazy-object-proxy" -version = "1.10.0" +version = "1.11.0" description = "A fast and thorough lazy object proxy." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "lazy-object-proxy-1.10.0.tar.gz", hash = "sha256:78247b6d45f43a52ef35c25b5581459e85117225408a4128a3daf8bf9648ac69"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:855e068b0358ab916454464a884779c7ffa312b8925c6f7401e952dcf3b89977"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab7004cf2e59f7c2e4345604a3e6ea0d92ac44e1c2375527d56492014e690c3"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc0d2fc424e54c70c4bc06787e4072c4f3b1aa2f897dfdc34ce1013cf3ceef05"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e2adb09778797da09d2b5ebdbceebf7dd32e2c96f79da9052b2e87b6ea495895"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b1f711e2c6dcd4edd372cf5dec5c5a30d23bba06ee012093267b3376c079ec83"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-win32.whl", hash = "sha256:76a095cfe6045c7d0ca77db9934e8f7b71b14645f0094ffcd842349ada5c5fb9"}, - {file = "lazy_object_proxy-1.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:b4f87d4ed9064b2628da63830986c3d2dca7501e6018347798313fcf028e2fd4"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fec03caabbc6b59ea4a638bee5fce7117be8e99a4103d9d5ad77f15d6f81020c"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02c83f957782cbbe8136bee26416686a6ae998c7b6191711a04da776dc9e47d4"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009e6bb1f1935a62889ddc8541514b6a9e1fcf302667dcb049a0be5c8f613e56"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:75fc59fc450050b1b3c203c35020bc41bd2695ed692a392924c6ce180c6f1dc9"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:782e2c9b2aab1708ffb07d4bf377d12901d7a1d99e5e410d648d892f8967ab1f"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-win32.whl", hash = "sha256:edb45bb8278574710e68a6b021599a10ce730d156e5b254941754a9cc0b17d03"}, - {file = "lazy_object_proxy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:e271058822765ad5e3bca7f05f2ace0de58a3f4e62045a8c90a0dfd2f8ad8cc6"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e98c8af98d5707dcdecc9ab0863c0ea6e88545d42ca7c3feffb6b4d1e370c7ba"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:952c81d415b9b80ea261d2372d2a4a2332a3890c2b83e0535f263ddfe43f0d43"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80b39d3a151309efc8cc48675918891b865bdf742a8616a337cb0090791a0de9"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e221060b701e2aa2ea991542900dd13907a5c90fa80e199dbf5a03359019e7a3"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:92f09ff65ecff3108e56526f9e2481b8116c0b9e1425325e13245abfd79bdb1b"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-win32.whl", hash = "sha256:3ad54b9ddbe20ae9f7c1b29e52f123120772b06dbb18ec6be9101369d63a4074"}, - {file = "lazy_object_proxy-1.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:127a789c75151db6af398b8972178afe6bda7d6f68730c057fbbc2e96b08d282"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4ed0518a14dd26092614412936920ad081a424bdcb54cc13349a8e2c6d106a"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ad9e6ed739285919aa9661a5bbed0aaf410aa60231373c5579c6b4801bd883c"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fc0a92c02fa1ca1e84fc60fa258458e5bf89d90a1ddaeb8ed9cc3147f417255"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0aefc7591920bbd360d57ea03c995cebc204b424524a5bd78406f6e1b8b2a5d8"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5faf03a7d8942bb4476e3b62fd0f4cf94eaf4618e304a19865abf89a35c0bbee"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-win32.whl", hash = "sha256:e333e2324307a7b5d86adfa835bb500ee70bfcd1447384a822e96495796b0ca4"}, - {file = "lazy_object_proxy-1.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:cb73507defd385b7705c599a94474b1d5222a508e502553ef94114a143ec6696"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:366c32fe5355ef5fc8a232c5436f4cc66e9d3e8967c01fb2e6302fd6627e3d94"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2297f08f08a2bb0d32a4265e98a006643cd7233fb7983032bd61ac7a02956b3b"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18dd842b49456aaa9a7cf535b04ca4571a302ff72ed8740d06b5adcd41fe0757"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:217138197c170a2a74ca0e05bddcd5f1796c735c37d0eee33e43259b192aa424"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9a3a87cf1e133e5b1994144c12ca4aa3d9698517fe1e2ca82977781b16955658"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-win32.whl", hash = "sha256:30b339b2a743c5288405aa79a69e706a06e02958eab31859f7f3c04980853b70"}, - {file = "lazy_object_proxy-1.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:a899b10e17743683b293a729d3a11f2f399e8a90c73b089e29f5d0fe3509f0dd"}, - {file = "lazy_object_proxy-1.10.0-pp310.pp311.pp312.pp38.pp39-none-any.whl", hash = "sha256:80fa48bd89c8f2f456fc0765c11c23bf5af827febacd2f523ca5bc1893fcc09d"}, + {file = "lazy_object_proxy-1.11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:132bc8a34f2f2d662a851acfd1b93df769992ed1b81e2b1fda7db3e73b0d5a18"}, + {file = "lazy_object_proxy-1.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:01261a3afd8621a1accb5682df2593dc7ec7d21d38f411011a5712dcd418fbed"}, + {file = "lazy_object_proxy-1.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:090935756cc041e191f22f4f9c7fd4fe9a454717067adf5b1bbd2ce3046b556e"}, + {file = "lazy_object_proxy-1.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:76ec715017f06410f57df442c1a8d66e6b5f7035077785b129817f5ae58810a4"}, + {file = "lazy_object_proxy-1.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9a9f39098e93a63618a79eef2889ae3cf0605f676cd4797fdfd49fcd7ddc318b"}, + {file = "lazy_object_proxy-1.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:ee13f67f4fcd044ef27bfccb1c93d39c100046fec1fad6e9a1fcdfd17492aeb3"}, + {file = "lazy_object_proxy-1.11.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fd4c84eafd8dd15ea16f7d580758bc5c2ce1f752faec877bb2b1f9f827c329cd"}, + {file = "lazy_object_proxy-1.11.0-cp313-cp313-win_amd64.whl", hash = "sha256:d2503427bda552d3aefcac92f81d9e7ca631e680a2268cbe62cd6a58de6409b7"}, + {file = "lazy_object_proxy-1.11.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0613116156801ab3fccb9e2b05ed83b08ea08c2517fdc6c6bc0d4697a1a376e3"}, + {file = "lazy_object_proxy-1.11.0-cp313-cp313t-win_amd64.whl", hash = "sha256:bb03c507d96b65f617a6337dedd604399d35face2cdf01526b913fb50c4cb6e8"}, + {file = "lazy_object_proxy-1.11.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28c174db37946f94b97a97b579932ff88f07b8d73a46b6b93322b9ac06794a3b"}, + {file = "lazy_object_proxy-1.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:d662f0669e27704495ff1f647070eb8816931231c44e583f4d0701b7adf6272f"}, + {file = "lazy_object_proxy-1.11.0-py3-none-any.whl", hash = "sha256:a56a5093d433341ff7da0e89f9b486031ccd222ec8e52ec84d0ec1cdc819674b"}, + {file = "lazy_object_proxy-1.11.0.tar.gz", hash = "sha256:18874411864c9fbbbaa47f9fc1dd7aea754c86cfde21278ef427639d1dd78e9c"}, ] [[package]] name = "markdown" -version = "3.7" +version = "3.8" description = "Python implementation of John Gruber's Markdown." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["docs"] files = [ - {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, - {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, + {file = "markdown-3.8-py3-none-any.whl", hash = "sha256:794a929b79c5af141ef5ab0f2f642d0f7b1872981250230e72682346f7cc90dc"}, + {file = "markdown-3.8.tar.gz", hash = "sha256:7df81e63f0df5c4b24b7d156eb81e4690595239b7d70937d0409f1b0de319c6f"}, ] [package.dependencies] importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} [package.extras] -docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] +docs = ["mdx_gh_links (>=0.2)", "mkdocs (>=1.6)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] testing = ["coverage", "pyyaml"] [[package]] @@ -2429,14 +2427,14 @@ files = [ [[package]] name = "marshmallow" -version = "3.25.1" +version = "3.26.1" description = "A lightweight library for converting complex datatypes to and from native Python datatypes." optional = false python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "marshmallow-3.25.1-py3-none-any.whl", hash = "sha256:ec5d00d873ce473b7f2ffcb7104286a376c354cab0c2fa12f5573dab03e87210"}, - {file = "marshmallow-3.25.1.tar.gz", hash = "sha256:f4debda3bb11153d81ac34b0d582bf23053055ee11e791b54b4b35493468040a"}, + {file = "marshmallow-3.26.1-py3-none-any.whl", hash = "sha256:3350409f20a70a7e4e11a27661187b77cdcaeb20abca41c1454fe33636bea09c"}, + {file = "marshmallow-3.26.1.tar.gz", hash = "sha256:e6d8affb6cb61d39d26402096dc0aee12d5a26d490a121f118d2e81dc0719dc6"}, ] [package.dependencies] @@ -2502,20 +2500,20 @@ std-uritemplate = ">=2.0.0" [[package]] name = "microsoft-kiota-authentication-azure" -version = "1.9.1" +version = "1.9.2" description = "Core abstractions for kiota generated libraries in Python" optional = false python-versions = "<4.0,>=3.9" groups = ["main"] files = [ - {file = "microsoft_kiota_authentication_azure-1.9.1-py3-none-any.whl", hash = "sha256:3a3030b01e0cbf007736ec6548ac483742e04ad0d20979b49e293a683f839fc6"}, - {file = "microsoft_kiota_authentication_azure-1.9.1.tar.gz", hash = "sha256:8ba31b1ecf78777128daf3191c7ecd28bfc2d10d0fe80260dd5c07a9ccd5d7f5"}, + {file = "microsoft_kiota_authentication_azure-1.9.2-py3-none-any.whl", hash = "sha256:56840f8b15df8aedfd143fb2deb7cc7fae4ac0bafb1a50546b7313a7b3ab4ca0"}, + {file = "microsoft_kiota_authentication_azure-1.9.2.tar.gz", hash = "sha256:171045f522a93d9340fbddc4cabb218f14f1d9d289e82e535b3d9291986c3d5a"}, ] [package.dependencies] aiohttp = ">=3.8.0" azure-core = ">=1.21.1" -microsoft-kiota-abstractions = ">=1.9.1,<1.10.0" +microsoft-kiota-abstractions = ">=1.9.2,<1.10.0" opentelemetry-api = ">=1.27.0" opentelemetry-sdk = ">=1.27.0" @@ -2539,63 +2537,63 @@ opentelemetry-sdk = ">=1.27.0" [[package]] name = "microsoft-kiota-serialization-form" -version = "1.9.1" +version = "1.9.2" description = "Core abstractions for kiota generated libraries in Python" optional = false python-versions = "<4.0,>=3.9" groups = ["main"] files = [ - {file = "microsoft_kiota_serialization_form-1.9.1-py3-none-any.whl", hash = "sha256:d86c0dc08b51288f2851a265dde729b200998bca1dd1681bbebcb27cd274ba34"}, - {file = "microsoft_kiota_serialization_form-1.9.1.tar.gz", hash = "sha256:58b81eca5e0ad66bcbd6a4b65ba91e6255d3510f4c4f576fb4f5e83ca9a310c3"}, + {file = "microsoft_kiota_serialization_form-1.9.2-py3-none-any.whl", hash = "sha256:7b997efb2c8750b1d4fbc00878ba2a3e6e1df3fcefc8815226c90fcc9c54f218"}, + {file = "microsoft_kiota_serialization_form-1.9.2.tar.gz", hash = "sha256:badfbe65d8ec3369bd58b01022d13ef590edf14babeef94188efe3f4ec24fe41"}, ] [package.dependencies] -microsoft-kiota-abstractions = ">=1.9.1,<1.10.0" +microsoft-kiota-abstractions = ">=1.9.2,<1.10.0" [[package]] name = "microsoft-kiota-serialization-json" -version = "1.9.1" +version = "1.9.2" description = "Core abstractions for kiota generated libraries in Python" optional = false python-versions = "<4.0,>=3.9" groups = ["main"] files = [ - {file = "microsoft_kiota_serialization_json-1.9.1-py3-none-any.whl", hash = "sha256:ab752bf642a77266713bac3942a4c547dde60b917f674a9ab63261490fecf841"}, - {file = "microsoft_kiota_serialization_json-1.9.1.tar.gz", hash = "sha256:0039458b885875daf246f1e8c0296551695e0ec70f3e4689b00b270ce923c0cc"}, + {file = "microsoft_kiota_serialization_json-1.9.2-py3-none-any.whl", hash = "sha256:8f4ecf485607fff3df5ce8fa9b9c957bc7f4bff1658b183703e180af753098e3"}, + {file = "microsoft_kiota_serialization_json-1.9.2.tar.gz", hash = "sha256:19f7beb69c67b2cb77ca96f77824ee78a693929e20237bb5476ea54f69118bf1"}, ] [package.dependencies] -microsoft-kiota-abstractions = ">=1.9.1,<1.10.0" +microsoft-kiota-abstractions = ">=1.9.2,<1.10.0" [[package]] name = "microsoft-kiota-serialization-multipart" -version = "1.9.1" +version = "1.9.2" description = "Core abstractions for kiota generated libraries in Python" optional = false python-versions = "<4.0,>=3.9" groups = ["main"] files = [ - {file = "microsoft_kiota_serialization_multipart-1.9.1-py3-none-any.whl", hash = "sha256:1ee69d8e3b2c0d24431b85fc1628534f97dcafed45dcb6bb3f0143824ce8a665"}, - {file = "microsoft_kiota_serialization_multipart-1.9.1.tar.gz", hash = "sha256:288790a486aad33aac0a7329f05b8851e9be82f50cc9a8f19fe6f267a4f2b183"}, + {file = "microsoft_kiota_serialization_multipart-1.9.2-py3-none-any.whl", hash = "sha256:641ad374046f1c7adff90d110bdc68d77418adb1e479a716f4ffea3647f0ead6"}, + {file = "microsoft_kiota_serialization_multipart-1.9.2.tar.gz", hash = "sha256:b1851409205668d83f5c7a35a8b6fca974b341985b4a92841e95aaec93b7ca0a"}, ] [package.dependencies] -microsoft-kiota-abstractions = ">=1.9.1,<1.10.0" +microsoft-kiota-abstractions = ">=1.9.2,<1.10.0" [[package]] name = "microsoft-kiota-serialization-text" -version = "1.9.1" +version = "1.9.2" description = "Core abstractions for kiota generated libraries in Python" optional = false python-versions = "<4.0,>=3.9" groups = ["main"] files = [ - {file = "microsoft_kiota_serialization_text-1.9.1-py3-none-any.whl", hash = "sha256:021fbfad887f7525f9e1c8bbe225d0aa1b25befe54357ae0f739f47576d946ff"}, - {file = "microsoft_kiota_serialization_text-1.9.1.tar.gz", hash = "sha256:b4b1f61c2388edd704ab33a1792f92f3507db9648d389197a625e152b52743ab"}, + {file = "microsoft_kiota_serialization_text-1.9.2-py3-none-any.whl", hash = "sha256:6e63129ea29eb9b976f4ed56fc6595d204e29fc309958b639299e9f9f4e5edb4"}, + {file = "microsoft_kiota_serialization_text-1.9.2.tar.gz", hash = "sha256:4289508ebac0cefdc4fa21c545051769a9409913972355ccda9116b647f978f2"}, ] [package.dependencies] -microsoft-kiota-abstractions = ">=1.9.1,<1.10.0" +microsoft-kiota-abstractions = ">=1.9.2,<1.10.0" [[package]] name = "mkdocs" @@ -2804,18 +2802,18 @@ tests = ["pytest (>=4.6)"] [[package]] name = "msal" -version = "1.31.1" +version = "1.32.0" description = "The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect." optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "msal-1.31.1-py3-none-any.whl", hash = "sha256:29d9882de247e96db01386496d59f29035e5e841bcac892e6d7bf4390bf6bd17"}, - {file = "msal-1.31.1.tar.gz", hash = "sha256:11b5e6a3f802ffd3a72107203e20c4eac6ef53401961b880af2835b723d80578"}, + {file = "msal-1.32.0-py3-none-any.whl", hash = "sha256:9dbac5384a10bbbf4dae5c7ea0d707d14e087b92c5aa4954b3feaa2d1aa0bcb7"}, + {file = "msal-1.32.0.tar.gz", hash = "sha256:5445fe3af1da6be484991a7ab32eaa82461dc2347de105b76af92c610c3335c2"}, ] [package.dependencies] -cryptography = ">=2.5,<46" +cryptography = ">=2.5,<47" PyJWT = {version = ">=1.0.0,<3", extras = ["crypto"]} requests = ">=2.0.0,<3" @@ -2824,30 +2822,32 @@ broker = ["pymsalruntime (>=0.14,<0.18) ; python_version >= \"3.6\" and platform [[package]] name = "msal-extensions" -version = "1.2.0" +version = "1.3.1" description = "Microsoft Authentication Library extensions (MSAL EX) provides a persistence API that can save your data on disk, encrypted on Windows, macOS and Linux. Concurrent data access will be coordinated by a file lock mechanism." optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "msal_extensions-1.2.0-py3-none-any.whl", hash = "sha256:cf5ba83a2113fa6dc011a254a72f1c223c88d7dfad74cc30617c4679a417704d"}, - {file = "msal_extensions-1.2.0.tar.gz", hash = "sha256:6f41b320bfd2933d631a215c91ca0dd3e67d84bd1a2f50ce917d5874ec646bef"}, + {file = "msal_extensions-1.3.1-py3-none-any.whl", hash = "sha256:96d3de4d034504e969ac5e85bae8106c8373b5c6568e4c8fa7af2eca9dbe6bca"}, + {file = "msal_extensions-1.3.1.tar.gz", hash = "sha256:c5b0fd10f65ef62b5f1d62f4251d51cbcaf003fcedae8c91b040a488614be1a4"}, ] [package.dependencies] msal = ">=1.29,<2" -portalocker = ">=1.4,<3" + +[package.extras] +portalocker = ["portalocker (>=1.4,<4)"] [[package]] name = "msgraph-core" -version = "1.3.2" +version = "1.3.3" description = "Core component of the Microsoft Graph Python SDK" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "msgraph_core-1.3.2-py3-none-any.whl", hash = "sha256:96d3d1ad1d2bc3d1d5eb76599e18cb699ccc78781b3492702b2f23ec8f22ae6e"}, - {file = "msgraph_core-1.3.2.tar.gz", hash = "sha256:d23964bfb20f636874ef875a984f5ab9e48fc4854f1530c6e4a617b84d59777d"}, + {file = "msgraph_core-1.3.3-py3-none-any.whl", hash = "sha256:9dbbc0c88e174c1d5da1c17d286965d6b26ebaf24996c7af64a39e2069006cf6"}, + {file = "msgraph_core-1.3.3.tar.gz", hash = "sha256:a3226b08b4cf9b6dbb16b868be21d5f82d8ee514ae8e46d9f0cad896159ef8d3"}, ] [package.dependencies] @@ -2906,104 +2906,116 @@ async = ["aiodns ; python_version >= \"3.5\"", "aiohttp (>=3.0) ; python_version [[package]] name = "multidict" -version = "6.1.0" +version = "6.4.3" description = "multidict implementation" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60"}, - {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1"}, - {file = "multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7"}, - {file = "multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0"}, - {file = "multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753"}, - {file = "multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80"}, - {file = "multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3"}, - {file = "multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133"}, - {file = "multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6"}, - {file = "multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81"}, - {file = "multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd"}, - {file = "multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167"}, - {file = "multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43"}, - {file = "multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada"}, - {file = "multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a"}, - {file = "multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506"}, - {file = "multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a"}, + {file = "multidict-6.4.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:32a998bd8a64ca48616eac5a8c1cc4fa38fb244a3facf2eeb14abe186e0f6cc5"}, + {file = "multidict-6.4.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a54ec568f1fc7f3c313c2f3b16e5db346bf3660e1309746e7fccbbfded856188"}, + {file = "multidict-6.4.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a7be07e5df178430621c716a63151165684d3e9958f2bbfcb644246162007ab7"}, + {file = "multidict-6.4.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b128dbf1c939674a50dd0b28f12c244d90e5015e751a4f339a96c54f7275e291"}, + {file = "multidict-6.4.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b9cb19dfd83d35b6ff24a4022376ea6e45a2beba8ef3f0836b8a4b288b6ad685"}, + {file = "multidict-6.4.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3cf62f8e447ea2c1395afa289b332e49e13d07435369b6f4e41f887db65b40bf"}, + {file = "multidict-6.4.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:909f7d43ff8f13d1adccb6a397094adc369d4da794407f8dd592c51cf0eae4b1"}, + {file = "multidict-6.4.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0bb8f8302fbc7122033df959e25777b0b7659b1fd6bcb9cb6bed76b5de67afef"}, + {file = "multidict-6.4.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:224b79471b4f21169ea25ebc37ed6f058040c578e50ade532e2066562597b8a9"}, + {file = "multidict-6.4.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a7bd27f7ab3204f16967a6f899b3e8e9eb3362c0ab91f2ee659e0345445e0078"}, + {file = "multidict-6.4.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:99592bd3162e9c664671fd14e578a33bfdba487ea64bcb41d281286d3c870ad7"}, + {file = "multidict-6.4.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a62d78a1c9072949018cdb05d3c533924ef8ac9bcb06cbf96f6d14772c5cd451"}, + {file = "multidict-6.4.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:3ccdde001578347e877ca4f629450973c510e88e8865d5aefbcb89b852ccc666"}, + {file = "multidict-6.4.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:eccb67b0e78aa2e38a04c5ecc13bab325a43e5159a181a9d1a6723db913cbb3c"}, + {file = "multidict-6.4.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8b6fcf6054fc4114a27aa865f8840ef3d675f9316e81868e0ad5866184a6cba5"}, + {file = "multidict-6.4.3-cp310-cp310-win32.whl", hash = "sha256:f92c7f62d59373cd93bc9969d2da9b4b21f78283b1379ba012f7ee8127b3152e"}, + {file = "multidict-6.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:b57e28dbc031d13916b946719f213c494a517b442d7b48b29443e79610acd887"}, + {file = "multidict-6.4.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f6f19170197cc29baccd33ccc5b5d6a331058796485857cf34f7635aa25fb0cd"}, + {file = "multidict-6.4.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f2882bf27037eb687e49591690e5d491e677272964f9ec7bc2abbe09108bdfb8"}, + {file = "multidict-6.4.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fbf226ac85f7d6b6b9ba77db4ec0704fde88463dc17717aec78ec3c8546c70ad"}, + {file = "multidict-6.4.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e329114f82ad4b9dd291bef614ea8971ec119ecd0f54795109976de75c9a852"}, + {file = "multidict-6.4.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:1f4e0334d7a555c63f5c8952c57ab6f1c7b4f8c7f3442df689fc9f03df315c08"}, + {file = "multidict-6.4.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:740915eb776617b57142ce0bb13b7596933496e2f798d3d15a20614adf30d229"}, + {file = "multidict-6.4.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255dac25134d2b141c944b59a0d2f7211ca12a6d4779f7586a98b4b03ea80508"}, + {file = "multidict-6.4.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4e8535bd4d741039b5aad4285ecd9b902ef9e224711f0b6afda6e38d7ac02c7"}, + {file = "multidict-6.4.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c433a33be000dd968f5750722eaa0991037be0be4a9d453eba121774985bc8"}, + {file = "multidict-6.4.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4eb33b0bdc50acd538f45041f5f19945a1f32b909b76d7b117c0c25d8063df56"}, + {file = "multidict-6.4.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:75482f43465edefd8a5d72724887ccdcd0c83778ded8f0cb1e0594bf71736cc0"}, + {file = "multidict-6.4.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ce5b3082e86aee80b3925ab4928198450d8e5b6466e11501fe03ad2191c6d777"}, + {file = "multidict-6.4.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e413152e3212c4d39f82cf83c6f91be44bec9ddea950ce17af87fbf4e32ca6b2"}, + {file = "multidict-6.4.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:8aac2eeff69b71f229a405c0a4b61b54bade8e10163bc7b44fcd257949620618"}, + {file = "multidict-6.4.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ab583ac203af1d09034be41458feeab7863c0635c650a16f15771e1386abf2d7"}, + {file = "multidict-6.4.3-cp311-cp311-win32.whl", hash = "sha256:1b2019317726f41e81154df636a897de1bfe9228c3724a433894e44cd2512378"}, + {file = "multidict-6.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:43173924fa93c7486402217fab99b60baf78d33806af299c56133a3755f69589"}, + {file = "multidict-6.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1f1c2f58f08b36f8475f3ec6f5aeb95270921d418bf18f90dffd6be5c7b0e676"}, + {file = "multidict-6.4.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:26ae9ad364fc61b936fb7bf4c9d8bd53f3a5b4417142cd0be5c509d6f767e2f1"}, + {file = "multidict-6.4.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:659318c6c8a85f6ecfc06b4e57529e5a78dfdd697260cc81f683492ad7e9435a"}, + {file = "multidict-6.4.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1eb72c741fd24d5a28242ce72bb61bc91f8451877131fa3fe930edb195f7054"}, + {file = "multidict-6.4.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3cd06d88cb7398252284ee75c8db8e680aa0d321451132d0dba12bc995f0adcc"}, + {file = "multidict-6.4.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4543d8dc6470a82fde92b035a92529317191ce993533c3c0c68f56811164ed07"}, + {file = "multidict-6.4.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:30a3ebdc068c27e9d6081fca0e2c33fdf132ecea703a72ea216b81a66860adde"}, + {file = "multidict-6.4.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b038f10e23f277153f86f95c777ba1958bcd5993194fda26a1d06fae98b2f00c"}, + {file = "multidict-6.4.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c605a2b2dc14282b580454b9b5d14ebe0668381a3a26d0ac39daa0ca115eb2ae"}, + {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8bd2b875f4ca2bb527fe23e318ddd509b7df163407b0fb717df229041c6df5d3"}, + {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c2e98c840c9c8e65c0e04b40c6c5066c8632678cd50c8721fdbcd2e09f21a507"}, + {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:66eb80dd0ab36dbd559635e62fba3083a48a252633164857a1d1684f14326427"}, + {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c23831bdee0a2a3cf21be057b5e5326292f60472fb6c6f86392bbf0de70ba731"}, + {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1535cec6443bfd80d028052e9d17ba6ff8a5a3534c51d285ba56c18af97e9713"}, + {file = "multidict-6.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3b73e7227681f85d19dec46e5b881827cd354aabe46049e1a61d2f9aaa4e285a"}, + {file = "multidict-6.4.3-cp312-cp312-win32.whl", hash = "sha256:8eac0c49df91b88bf91f818e0a24c1c46f3622978e2c27035bfdca98e0e18124"}, + {file = "multidict-6.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:11990b5c757d956cd1db7cb140be50a63216af32cd6506329c2c59d732d802db"}, + {file = "multidict-6.4.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a76534263d03ae0cfa721fea40fd2b5b9d17a6f85e98025931d41dc49504474"}, + {file = "multidict-6.4.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:805031c2f599eee62ac579843555ed1ce389ae00c7e9f74c2a1b45e0564a88dd"}, + {file = "multidict-6.4.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c56c179839d5dcf51d565132185409d1d5dd8e614ba501eb79023a6cab25576b"}, + {file = "multidict-6.4.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c64f4ddb3886dd8ab71b68a7431ad4aa01a8fa5be5b11543b29674f29ca0ba3"}, + {file = "multidict-6.4.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3002a856367c0b41cad6784f5b8d3ab008eda194ed7864aaa58f65312e2abcac"}, + {file = "multidict-6.4.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3d75e621e7d887d539d6e1d789f0c64271c250276c333480a9e1de089611f790"}, + {file = "multidict-6.4.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:995015cf4a3c0d72cbf453b10a999b92c5629eaf3a0c3e1efb4b5c1f602253bb"}, + {file = "multidict-6.4.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2b0fabae7939d09d7d16a711468c385272fa1b9b7fb0d37e51143585d8e72e0"}, + {file = "multidict-6.4.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:61ed4d82f8a1e67eb9eb04f8587970d78fe7cddb4e4d6230b77eda23d27938f9"}, + {file = "multidict-6.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:062428944a8dc69df9fdc5d5fc6279421e5f9c75a9ee3f586f274ba7b05ab3c8"}, + {file = "multidict-6.4.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:b90e27b4674e6c405ad6c64e515a505c6d113b832df52fdacb6b1ffd1fa9a1d1"}, + {file = "multidict-6.4.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7d50d4abf6729921e9613d98344b74241572b751c6b37feed75fb0c37bd5a817"}, + {file = "multidict-6.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:43fe10524fb0a0514be3954be53258e61d87341008ce4914f8e8b92bee6f875d"}, + {file = "multidict-6.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:236966ca6c472ea4e2d3f02f6673ebfd36ba3f23159c323f5a496869bc8e47c9"}, + {file = "multidict-6.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:422a5ec315018e606473ba1f5431e064cf8b2a7468019233dcf8082fabad64c8"}, + {file = "multidict-6.4.3-cp313-cp313-win32.whl", hash = "sha256:f901a5aace8e8c25d78960dcc24c870c8d356660d3b49b93a78bf38eb682aac3"}, + {file = "multidict-6.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:1c152c49e42277bc9a2f7b78bd5fa10b13e88d1b0328221e7aef89d5c60a99a5"}, + {file = "multidict-6.4.3-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:be8751869e28b9c0d368d94f5afcb4234db66fe8496144547b4b6d6a0645cfc6"}, + {file = "multidict-6.4.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0d4b31f8a68dccbcd2c0ea04f0e014f1defc6b78f0eb8b35f2265e8716a6df0c"}, + {file = "multidict-6.4.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:032efeab3049e37eef2ff91271884303becc9e54d740b492a93b7e7266e23756"}, + {file = "multidict-6.4.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e78006af1a7c8a8007e4f56629d7252668344442f66982368ac06522445e375"}, + {file = "multidict-6.4.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:daeac9dd30cda8703c417e4fddccd7c4dc0c73421a0b54a7da2713be125846be"}, + {file = "multidict-6.4.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f6f90700881438953eae443a9c6f8a509808bc3b185246992c4233ccee37fea"}, + {file = "multidict-6.4.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f84627997008390dd15762128dcf73c3365f4ec0106739cde6c20a07ed198ec8"}, + {file = "multidict-6.4.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3307b48cd156153b117c0ea54890a3bdbf858a5b296ddd40dc3852e5f16e9b02"}, + {file = "multidict-6.4.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ead46b0fa1dcf5af503a46e9f1c2e80b5d95c6011526352fa5f42ea201526124"}, + {file = "multidict-6.4.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:1748cb2743bedc339d63eb1bca314061568793acd603a6e37b09a326334c9f44"}, + {file = "multidict-6.4.3-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:acc9fa606f76fc111b4569348cc23a771cb52c61516dcc6bcef46d612edb483b"}, + {file = "multidict-6.4.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:31469d5832b5885adeb70982e531ce86f8c992334edd2f2254a10fa3182ac504"}, + {file = "multidict-6.4.3-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:ba46b51b6e51b4ef7bfb84b82f5db0dc5e300fb222a8a13b8cd4111898a869cf"}, + {file = "multidict-6.4.3-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:389cfefb599edf3fcfd5f64c0410da686f90f5f5e2c4d84e14f6797a5a337af4"}, + {file = "multidict-6.4.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:64bc2bbc5fba7b9db5c2c8d750824f41c6994e3882e6d73c903c2afa78d091e4"}, + {file = "multidict-6.4.3-cp313-cp313t-win32.whl", hash = "sha256:0ecdc12ea44bab2807d6b4a7e5eef25109ab1c82a8240d86d3c1fc9f3b72efd5"}, + {file = "multidict-6.4.3-cp313-cp313t-win_amd64.whl", hash = "sha256:7146a8742ea71b5d7d955bffcef58a9e6e04efba704b52a460134fefd10a8208"}, + {file = "multidict-6.4.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5427a2679e95a642b7f8b0f761e660c845c8e6fe3141cddd6b62005bd133fc21"}, + {file = "multidict-6.4.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:24a8caa26521b9ad09732972927d7b45b66453e6ebd91a3c6a46d811eeb7349b"}, + {file = "multidict-6.4.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6b5a272bc7c36a2cd1b56ddc6bff02e9ce499f9f14ee4a45c45434ef083f2459"}, + {file = "multidict-6.4.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edf74dc5e212b8c75165b435c43eb0d5e81b6b300a938a4eb82827119115e840"}, + {file = "multidict-6.4.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9f35de41aec4b323c71f54b0ca461ebf694fb48bec62f65221f52e0017955b39"}, + {file = "multidict-6.4.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae93e0ff43b6f6892999af64097b18561691ffd835e21a8348a441e256592e1f"}, + {file = "multidict-6.4.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5e3929269e9d7eff905d6971d8b8c85e7dbc72c18fb99c8eae6fe0a152f2e343"}, + {file = "multidict-6.4.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb6214fe1750adc2a1b801a199d64b5a67671bf76ebf24c730b157846d0e90d2"}, + {file = "multidict-6.4.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6d79cf5c0c6284e90f72123f4a3e4add52d6c6ebb4a9054e88df15b8d08444c6"}, + {file = "multidict-6.4.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2427370f4a255262928cd14533a70d9738dfacadb7563bc3b7f704cc2360fc4e"}, + {file = "multidict-6.4.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:fbd8d737867912b6c5f99f56782b8cb81f978a97b4437a1c476de90a3e41c9a1"}, + {file = "multidict-6.4.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:0ee1bf613c448997f73fc4efb4ecebebb1c02268028dd4f11f011f02300cf1e8"}, + {file = "multidict-6.4.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:578568c4ba5f2b8abd956baf8b23790dbfdc953e87d5b110bce343b4a54fc9e7"}, + {file = "multidict-6.4.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:a059ad6b80de5b84b9fa02a39400319e62edd39d210b4e4f8c4f1243bdac4752"}, + {file = "multidict-6.4.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:dd53893675b729a965088aaadd6a1f326a72b83742b056c1065bdd2e2a42b4df"}, + {file = "multidict-6.4.3-cp39-cp39-win32.whl", hash = "sha256:abcfed2c4c139f25c2355e180bcc077a7cae91eefbb8b3927bb3f836c9586f1f"}, + {file = "multidict-6.4.3-cp39-cp39-win_amd64.whl", hash = "sha256:b1b389ae17296dd739015d5ddb222ee99fd66adeae910de21ac950e00979d897"}, + {file = "multidict-6.4.3-py3-none-any.whl", hash = "sha256:59fe01ee8e2a1e8ceb3f6dbb216b09c8d9f4ef1c22c4fc825d045a147fa2ebc9"}, + {file = "multidict-6.4.3.tar.gz", hash = "sha256:3ada0b058c9f213c5f95ba301f922d402ac234f1111a7d8fd70f1b99f3c281ec"}, ] [package.dependencies] @@ -3027,16 +3039,40 @@ docs = ["sphinx (>=8,<9)", "sphinx-autobuild"] [[package]] name = "mypy-extensions" -version = "1.0.0" +version = "1.1.0" description = "Type system extensions for programs checked with the mypy type checker." optional = false -python-versions = ">=3.5" +python-versions = ">=3.8" groups = ["dev"] files = [ - {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, - {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, + {file = "mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505"}, + {file = "mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558"}, ] +[[package]] +name = "narwhals" +version = "1.35.0" +description = "Extremely lightweight compatibility layer between dataframe libraries" +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "narwhals-1.35.0-py3-none-any.whl", hash = "sha256:7562af132fa3f8aaaf34dc96d7ec95bdca29d1c795e8fcf14e01edf1d32122bc"}, + {file = "narwhals-1.35.0.tar.gz", hash = "sha256:07477d18487fbc940243b69818a177ed7119b737910a8a254fb67688b48a7c96"}, +] + +[package.extras] +cudf = ["cudf (>=24.10.0)"] +dask = ["dask[dataframe] (>=2024.8)"] +duckdb = ["duckdb (>=1.0)"] +ibis = ["ibis-framework (>=6.0.0)", "packaging", "pyarrow-hotfix", "rich"] +modin = ["modin"] +pandas = ["pandas (>=0.25.3)"] +polars = ["polars (>=0.20.3)"] +pyarrow = ["pyarrow (>=11.0.0)"] +pyspark = ["pyspark (>=3.5.0)"] +sqlframe = ["sqlframe (>=3.22.0)"] + [[package]] name = "nest-asyncio" version = "1.6.0" @@ -3056,6 +3092,7 @@ description = "Python package for creating and manipulating graphs and networks" optional = false python-versions = ">=3.9" groups = ["dev"] +markers = "python_version < \"3.10\"" files = [ {file = "networkx-3.2.1-py3-none-any.whl", hash = "sha256:f18c69adc97877c42332c170849c96cefa91881c99a7cb3e95b7c659ebdc1ec2"}, {file = "networkx-3.2.1.tar.gz", hash = "sha256:9f1bb5cf3409bf324e0a722c20bdb4c20ee39bf1c30ce8ae499c8502b0b5e0c6"}, @@ -3068,6 +3105,27 @@ doc = ["nb2plots (>=0.7)", "nbconvert (<7.9)", "numpydoc (>=1.6)", "pillow (>=9. extra = ["lxml (>=4.6)", "pydot (>=1.4.2)", "pygraphviz (>=1.11)", "sympy (>=1.10)"] test = ["pytest (>=7.2)", "pytest-cov (>=4.0)"] +[[package]] +name = "networkx" +version = "3.4.2" +description = "Python package for creating and manipulating graphs and networks" +optional = false +python-versions = ">=3.10" +groups = ["dev"] +markers = "python_version >= \"3.10\"" +files = [ + {file = "networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f"}, + {file = "networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1"}, +] + +[package.extras] +default = ["matplotlib (>=3.7)", "numpy (>=1.24)", "pandas (>=2.0)", "scipy (>=1.10,!=1.11.0,!=1.11.1)"] +developer = ["changelist (==0.5)", "mypy (>=1.1)", "pre-commit (>=3.2)", "rtoml"] +doc = ["intersphinx-registry", "myst-nb (>=1.1)", "numpydoc (>=1.8.0)", "pillow (>=9.4)", "pydata-sphinx-theme (>=0.15)", "sphinx (>=7.3)", "sphinx-gallery (>=0.16)", "texext (>=0.6.7)"] +example = ["cairocffi (>=1.7)", "contextily (>=1.6)", "igraph (>=0.11)", "momepy (>=0.7.2)", "osmnx (>=1.9)", "scikit-learn (>=1.5)", "seaborn (>=0.13)"] +extra = ["lxml (>=4.6)", "pydot (>=3.0.1)", "pygraphviz (>=1.14)", "sympy (>=1.10)"] +test = ["pytest (>=7.2)", "pytest-cov (>=4.0)"] + [[package]] name = "numpy" version = "2.0.2" @@ -3177,63 +3235,63 @@ openapi-schema-validator = ">=0.6.0,<0.7.0" [[package]] name = "opentelemetry-api" -version = "1.29.0" +version = "1.32.1" description = "OpenTelemetry Python API" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "opentelemetry_api-1.29.0-py3-none-any.whl", hash = "sha256:5fcd94c4141cc49c736271f3e1efb777bebe9cc535759c54c936cca4f1b312b8"}, - {file = "opentelemetry_api-1.29.0.tar.gz", hash = "sha256:d04a6cf78aad09614f52964ecb38021e248f5714dc32c2e0d8fd99517b4d69cf"}, + {file = "opentelemetry_api-1.32.1-py3-none-any.whl", hash = "sha256:bbd19f14ab9f15f0e85e43e6a958aa4cb1f36870ee62b7fd205783a112012724"}, + {file = "opentelemetry_api-1.32.1.tar.gz", hash = "sha256:a5be71591694a4d9195caf6776b055aa702e964d961051a0715d05f8632c32fb"}, ] [package.dependencies] deprecated = ">=1.2.6" -importlib-metadata = ">=6.0,<=8.5.0" +importlib-metadata = ">=6.0,<8.7.0" [[package]] name = "opentelemetry-sdk" -version = "1.29.0" +version = "1.32.1" description = "OpenTelemetry Python SDK" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "opentelemetry_sdk-1.29.0-py3-none-any.whl", hash = "sha256:173be3b5d3f8f7d671f20ea37056710217959e774e2749d984355d1f9391a30a"}, - {file = "opentelemetry_sdk-1.29.0.tar.gz", hash = "sha256:b0787ce6aade6ab84315302e72bd7a7f2f014b0fb1b7c3295b88afe014ed0643"}, + {file = "opentelemetry_sdk-1.32.1-py3-none-any.whl", hash = "sha256:bba37b70a08038613247bc42beee5a81b0ddca422c7d7f1b097b32bf1c7e2f17"}, + {file = "opentelemetry_sdk-1.32.1.tar.gz", hash = "sha256:8ef373d490961848f525255a42b193430a0637e064dd132fd2a014d94792a092"}, ] [package.dependencies] -opentelemetry-api = "1.29.0" -opentelemetry-semantic-conventions = "0.50b0" +opentelemetry-api = "1.32.1" +opentelemetry-semantic-conventions = "0.53b1" typing-extensions = ">=3.7.4" [[package]] name = "opentelemetry-semantic-conventions" -version = "0.50b0" +version = "0.53b1" description = "OpenTelemetry Semantic Conventions" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "opentelemetry_semantic_conventions-0.50b0-py3-none-any.whl", hash = "sha256:e87efba8fdb67fb38113efea6a349531e75ed7ffc01562f65b802fcecb5e115e"}, - {file = "opentelemetry_semantic_conventions-0.50b0.tar.gz", hash = "sha256:02dc6dbcb62f082de9b877ff19a3f1ffaa3c306300fa53bfac761c4567c83d38"}, + {file = "opentelemetry_semantic_conventions-0.53b1-py3-none-any.whl", hash = "sha256:21df3ed13f035f8f3ea42d07cbebae37020367a53b47f1ebee3b10a381a00208"}, + {file = "opentelemetry_semantic_conventions-0.53b1.tar.gz", hash = "sha256:4c5a6fede9de61211b2e9fc1e02e8acacce882204cd770177342b6a3be682992"}, ] [package.dependencies] deprecated = ">=1.2.6" -opentelemetry-api = "1.29.0" +opentelemetry-api = "1.32.1" [[package]] name = "packaging" -version = "24.2" +version = "25.0" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" groups = ["main", "dev", "docs"] files = [ - {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, - {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, + {file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"}, + {file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"}, ] [[package]] @@ -3365,48 +3423,54 @@ files = [ [[package]] name = "pbr" -version = "6.1.0" +version = "6.1.1" description = "Python Build Reasonableness" optional = false python-versions = ">=2.6" groups = ["dev"] files = [ - {file = "pbr-6.1.0-py2.py3-none-any.whl", hash = "sha256:a776ae228892d8013649c0aeccbb3d5f99ee15e005a4cbb7e61d55a067b28a2a"}, - {file = "pbr-6.1.0.tar.gz", hash = "sha256:788183e382e3d1d7707db08978239965e8b9e4e5ed42669bf4758186734d5f24"}, + {file = "pbr-6.1.1-py2.py3-none-any.whl", hash = "sha256:38d4daea5d9fa63b3f626131b9d34947fd0c8be9b05a29276870580050a25a76"}, + {file = "pbr-6.1.1.tar.gz", hash = "sha256:93ea72ce6989eb2eed99d0f75721474f69ad88128afdef5ac377eb797c4bf76b"}, ] +[package.dependencies] +setuptools = "*" + [[package]] name = "platformdirs" -version = "4.3.6" +version = "4.3.7" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["dev", "docs"] files = [ - {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, - {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, + {file = "platformdirs-4.3.7-py3-none-any.whl", hash = "sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94"}, + {file = "platformdirs-4.3.7.tar.gz", hash = "sha256:eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351"}, ] [package.extras] -docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] -type = ["mypy (>=1.11.2)"] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.1.3)", "sphinx-autodoc-typehints (>=3)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.4)", "pytest-cov (>=6)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.14.1)"] [[package]] name = "plotly" -version = "5.24.1" -description = "An open-source, interactive data visualization library for Python" +version = "6.0.1" +description = "An open-source interactive data visualization library for Python" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "plotly-5.24.1-py3-none-any.whl", hash = "sha256:f67073a1e637eb0dc3e46324d9d51e2fe76e9727c892dde64ddf1e1b51f29089"}, - {file = "plotly-5.24.1.tar.gz", hash = "sha256:dbc8ac8339d248a4bcc36e08a5659bacfe1b079390b8953533f4eb22169b4bae"}, + {file = "plotly-6.0.1-py3-none-any.whl", hash = "sha256:4714db20fea57a435692c548a4eb4fae454f7daddf15f8d8ba7e1045681d7768"}, + {file = "plotly-6.0.1.tar.gz", hash = "sha256:dd8400229872b6e3c964b099be699f8d00c489a974f2cfccfad5e8240873366b"}, ] [package.dependencies] +narwhals = ">=1.15.1" packaging = "*" -tenacity = ">=6.2.0" + +[package.extras] +express = ["numpy"] [[package]] name = "pluggy" @@ -3436,155 +3500,149 @@ files = [ {file = "ply-3.11.tar.gz", hash = "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3"}, ] -[[package]] -name = "portalocker" -version = "2.10.1" -description = "Wraps the portalocker recipe for easy usage" -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "portalocker-2.10.1-py3-none-any.whl", hash = "sha256:53a5984ebc86a025552264b459b46a2086e269b21823cb572f8f28ee759e45bf"}, - {file = "portalocker-2.10.1.tar.gz", hash = "sha256:ef1bf844e878ab08aee7e40184156e1151f228f103aa5c6bd0724cc330960f8f"}, -] - -[package.dependencies] -pywin32 = {version = ">=226", markers = "platform_system == \"Windows\""} - -[package.extras] -docs = ["sphinx (>=1.7.1)"] -redis = ["redis"] -tests = ["pytest (>=5.4.1)", "pytest-cov (>=2.8.1)", "pytest-mypy (>=0.8.0)", "pytest-timeout (>=2.1.0)", "redis", "sphinx (>=6.0.0)", "types-redis"] - [[package]] name = "propcache" -version = "0.2.1" +version = "0.3.1" description = "Accelerated property cache" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6b3f39a85d671436ee3d12c017f8fdea38509e4f25b28eb25877293c98c243f6"}, - {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d51fbe4285d5db5d92a929e3e21536ea3dd43732c5b177c7ef03f918dff9f2"}, - {file = "propcache-0.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6445804cf4ec763dc70de65a3b0d9954e868609e83850a47ca4f0cb64bd79fea"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9479aa06a793c5aeba49ce5c5692ffb51fcd9a7016e017d555d5e2b0045d212"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9631c5e8b5b3a0fda99cb0d29c18133bca1e18aea9effe55adb3da1adef80d3"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3156628250f46a0895f1f36e1d4fbe062a1af8718ec3ebeb746f1d23f0c5dc4d"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b6fb63ae352e13748289f04f37868099e69dba4c2b3e271c46061e82c745634"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:887d9b0a65404929641a9fabb6452b07fe4572b269d901d622d8a34a4e9043b2"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a96dc1fa45bd8c407a0af03b2d5218392729e1822b0c32e62c5bf7eeb5fb3958"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a7e65eb5c003a303b94aa2c3852ef130230ec79e349632d030e9571b87c4698c"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:999779addc413181912e984b942fbcc951be1f5b3663cd80b2687758f434c583"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:19a0f89a7bb9d8048d9c4370c9c543c396e894c76be5525f5e1ad287f1750ddf"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1ac2f5fe02fa75f56e1ad473f1175e11f475606ec9bd0be2e78e4734ad575034"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:574faa3b79e8ebac7cb1d7930f51184ba1ccf69adfdec53a12f319a06030a68b"}, - {file = "propcache-0.2.1-cp310-cp310-win32.whl", hash = "sha256:03ff9d3f665769b2a85e6157ac8b439644f2d7fd17615a82fa55739bc97863f4"}, - {file = "propcache-0.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:2d3af2e79991102678f53e0dbf4c35de99b6b8b58f29a27ca0325816364caaba"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ffc3cca89bb438fb9c95c13fc874012f7b9466b89328c3c8b1aa93cdcfadd16"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f174bbd484294ed9fdf09437f889f95807e5f229d5d93588d34e92106fbf6717"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:70693319e0b8fd35dd863e3e29513875eb15c51945bf32519ef52927ca883bc3"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b480c6a4e1138e1aa137c0079b9b6305ec6dcc1098a8ca5196283e8a49df95a9"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d27b84d5880f6d8aa9ae3edb253c59d9f6642ffbb2c889b78b60361eed449787"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:857112b22acd417c40fa4595db2fe28ab900c8c5fe4670c7989b1c0230955465"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf6c4150f8c0e32d241436526f3c3f9cbd34429492abddbada2ffcff506c51af"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66d4cfda1d8ed687daa4bc0274fcfd5267873db9a5bc0418c2da19273040eeb7"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c2f992c07c0fca81655066705beae35fc95a2fa7366467366db627d9f2ee097f"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:4a571d97dbe66ef38e472703067021b1467025ec85707d57e78711c085984e54"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bb6178c241278d5fe853b3de743087be7f5f4c6f7d6d22a3b524d323eecec505"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ad1af54a62ffe39cf34db1aa6ed1a1873bd548f6401db39d8e7cd060b9211f82"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e7048abd75fe40712005bcfc06bb44b9dfcd8e101dda2ecf2f5aa46115ad07ca"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:160291c60081f23ee43d44b08a7e5fb76681221a8e10b3139618c5a9a291b84e"}, - {file = "propcache-0.2.1-cp311-cp311-win32.whl", hash = "sha256:819ce3b883b7576ca28da3861c7e1a88afd08cc8c96908e08a3f4dd64a228034"}, - {file = "propcache-0.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:edc9fc7051e3350643ad929df55c451899bb9ae6d24998a949d2e4c87fb596d3"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:081a430aa8d5e8876c6909b67bd2d937bfd531b0382d3fdedb82612c618bc41a"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2ccec9ac47cf4e04897619c0e0c1a48c54a71bdf045117d3a26f80d38ab1fb0"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:14d86fe14b7e04fa306e0c43cdbeebe6b2c2156a0c9ce56b815faacc193e320d"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:049324ee97bb67285b49632132db351b41e77833678432be52bdd0289c0e05e4"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cd9a1d071158de1cc1c71a26014dcdfa7dd3d5f4f88c298c7f90ad6f27bb46d"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98110aa363f1bb4c073e8dcfaefd3a5cea0f0834c2aab23dda657e4dab2f53b5"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:647894f5ae99c4cf6bb82a1bb3a796f6e06af3caa3d32e26d2350d0e3e3faf24"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd3223c15bebe26518d58ccf9a39b93948d3dcb3e57a20480dfdd315356baff"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d71264a80f3fcf512eb4f18f59423fe82d6e346ee97b90625f283df56aee103f"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:e73091191e4280403bde6c9a52a6999d69cdfde498f1fdf629105247599b57ec"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3935bfa5fede35fb202c4b569bb9c042f337ca4ff7bd540a0aa5e37131659348"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f508b0491767bb1f2b87fdfacaba5f7eddc2f867740ec69ece6d1946d29029a6"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1672137af7c46662a1c2be1e8dc78cb6d224319aaa40271c9257d886be4363a6"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b74c261802d3d2b85c9df2dfb2fa81b6f90deeef63c2db9f0e029a3cac50b518"}, - {file = "propcache-0.2.1-cp312-cp312-win32.whl", hash = "sha256:d09c333d36c1409d56a9d29b3a1b800a42c76a57a5a8907eacdbce3f18768246"}, - {file = "propcache-0.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:c214999039d4f2a5b2073ac506bba279945233da8c786e490d411dfc30f855c1"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aca405706e0b0a44cc6bfd41fbe89919a6a56999157f6de7e182a990c36e37bc"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:12d1083f001ace206fe34b6bdc2cb94be66d57a850866f0b908972f90996b3e9"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d93f3307ad32a27bda2e88ec81134b823c240aa3abb55821a8da553eed8d9439"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba278acf14471d36316159c94a802933d10b6a1e117b8554fe0d0d9b75c9d536"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4e6281aedfca15301c41f74d7005e6e3f4ca143584ba696ac69df4f02f40d629"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b750a8e5a1262434fb1517ddf64b5de58327f1adc3524a5e44c2ca43305eb0b"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf72af5e0fb40e9babf594308911436c8efde3cb5e75b6f206c34ad18be5c052"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2d0a12018b04f4cb820781ec0dffb5f7c7c1d2a5cd22bff7fb055a2cb19ebce"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e800776a79a5aabdb17dcc2346a7d66d0777e942e4cd251defeb084762ecd17d"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:4160d9283bd382fa6c0c2b5e017acc95bc183570cd70968b9202ad6d8fc48dce"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:30b43e74f1359353341a7adb783c8f1b1c676367b011709f466f42fda2045e95"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:58791550b27d5488b1bb52bc96328456095d96206a250d28d874fafe11b3dfaf"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0f022d381747f0dfe27e99d928e31bc51a18b65bb9e481ae0af1380a6725dd1f"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:297878dc9d0a334358f9b608b56d02e72899f3b8499fc6044133f0d319e2ec30"}, - {file = "propcache-0.2.1-cp313-cp313-win32.whl", hash = "sha256:ddfab44e4489bd79bda09d84c430677fc7f0a4939a73d2bba3073036f487a0a6"}, - {file = "propcache-0.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:556fc6c10989f19a179e4321e5d678db8eb2924131e64652a51fe83e4c3db0e1"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6a9a8c34fb7bb609419a211e59da8887eeca40d300b5ea8e56af98f6fbbb1541"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ae1aa1cd222c6d205853b3013c69cd04515f9d6ab6de4b0603e2e1c33221303e"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:accb6150ce61c9c4b7738d45550806aa2b71c7668c6942f17b0ac182b6142fd4"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5eee736daafa7af6d0a2dc15cc75e05c64f37fc37bafef2e00d77c14171c2097"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7a31fc1e1bd362874863fdeed71aed92d348f5336fd84f2197ba40c59f061bd"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba4cfa1052819d16699e1d55d18c92b6e094d4517c41dd231a8b9f87b6fa681"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f089118d584e859c62b3da0892b88a83d611c2033ac410e929cb6754eec0ed16"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:781e65134efaf88feb447e8c97a51772aa75e48b794352f94cb7ea717dedda0d"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31f5af773530fd3c658b32b6bdc2d0838543de70eb9a2156c03e410f7b0d3aae"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:a7a078f5d37bee6690959c813977da5291b24286e7b962e62a94cec31aa5188b"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cea7daf9fc7ae6687cf1e2c049752f19f146fdc37c2cc376e7d0032cf4f25347"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:8b3489ff1ed1e8315674d0775dc7d2195fb13ca17b3808721b54dbe9fd020faf"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9403db39be1393618dd80c746cb22ccda168efce239c73af13c3763ef56ffc04"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5d97151bc92d2b2578ff7ce779cdb9174337390a535953cbb9452fb65164c587"}, - {file = "propcache-0.2.1-cp39-cp39-win32.whl", hash = "sha256:9caac6b54914bdf41bcc91e7eb9147d331d29235a7c967c150ef5df6464fd1bb"}, - {file = "propcache-0.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:92fc4500fcb33899b05ba73276dfb684a20d31caa567b7cb5252d48f896a91b1"}, - {file = "propcache-0.2.1-py3-none-any.whl", hash = "sha256:52277518d6aae65536e9cea52d4e7fd2f7a66f4aa2d30ed3f2fcea620ace3c54"}, - {file = "propcache-0.2.1.tar.gz", hash = "sha256:3f77ce728b19cb537714499928fe800c3dda29e8d9428778fc7c186da4c09a64"}, + {file = "propcache-0.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f27785888d2fdd918bc36de8b8739f2d6c791399552333721b58193f68ea3e98"}, + {file = "propcache-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4e89cde74154c7b5957f87a355bb9c8ec929c167b59c83d90654ea36aeb6180"}, + {file = "propcache-0.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:730178f476ef03d3d4d255f0c9fa186cb1d13fd33ffe89d39f2cda4da90ceb71"}, + {file = "propcache-0.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:967a8eec513dbe08330f10137eacb427b2ca52118769e82ebcfcab0fba92a649"}, + {file = "propcache-0.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b9145c35cc87313b5fd480144f8078716007656093d23059e8993d3a8fa730f"}, + {file = "propcache-0.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9e64e948ab41411958670f1093c0a57acfdc3bee5cf5b935671bbd5313bcf229"}, + {file = "propcache-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:319fa8765bfd6a265e5fa661547556da381e53274bc05094fc9ea50da51bfd46"}, + {file = "propcache-0.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c66d8ccbc902ad548312b96ed8d5d266d0d2c6d006fd0f66323e9d8f2dd49be7"}, + {file = "propcache-0.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:2d219b0dbabe75e15e581fc1ae796109b07c8ba7d25b9ae8d650da582bed01b0"}, + {file = "propcache-0.3.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:cd6a55f65241c551eb53f8cf4d2f4af33512c39da5d9777694e9d9c60872f519"}, + {file = "propcache-0.3.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9979643ffc69b799d50d3a7b72b5164a2e97e117009d7af6dfdd2ab906cb72cd"}, + {file = "propcache-0.3.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4cf9e93a81979f1424f1a3d155213dc928f1069d697e4353edb8a5eba67c6259"}, + {file = "propcache-0.3.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2fce1df66915909ff6c824bbb5eb403d2d15f98f1518e583074671a30fe0c21e"}, + {file = "propcache-0.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4d0dfdd9a2ebc77b869a0b04423591ea8823f791293b527dc1bb896c1d6f1136"}, + {file = "propcache-0.3.1-cp310-cp310-win32.whl", hash = "sha256:1f6cc0ad7b4560e5637eb2c994e97b4fa41ba8226069c9277eb5ea7101845b42"}, + {file = "propcache-0.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:47ef24aa6511e388e9894ec16f0fbf3313a53ee68402bc428744a367ec55b833"}, + {file = "propcache-0.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7f30241577d2fef2602113b70ef7231bf4c69a97e04693bde08ddab913ba0ce5"}, + {file = "propcache-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:43593c6772aa12abc3af7784bff4a41ffa921608dd38b77cf1dfd7f5c4e71371"}, + {file = "propcache-0.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a75801768bbe65499495660b777e018cbe90c7980f07f8aa57d6be79ea6f71da"}, + {file = "propcache-0.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6f1324db48f001c2ca26a25fa25af60711e09b9aaf4b28488602776f4f9a744"}, + {file = "propcache-0.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cdb0f3e1eb6dfc9965d19734d8f9c481b294b5274337a8cb5cb01b462dcb7e0"}, + {file = "propcache-0.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1eb34d90aac9bfbced9a58b266f8946cb5935869ff01b164573a7634d39fbcb5"}, + {file = "propcache-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f35c7070eeec2cdaac6fd3fe245226ed2a6292d3ee8c938e5bb645b434c5f256"}, + {file = "propcache-0.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b23c11c2c9e6d4e7300c92e022046ad09b91fd00e36e83c44483df4afa990073"}, + {file = "propcache-0.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3e19ea4ea0bf46179f8a3652ac1426e6dcbaf577ce4b4f65be581e237340420d"}, + {file = "propcache-0.3.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:bd39c92e4c8f6cbf5f08257d6360123af72af9f4da75a690bef50da77362d25f"}, + {file = "propcache-0.3.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:b0313e8b923b3814d1c4a524c93dfecea5f39fa95601f6a9b1ac96cd66f89ea0"}, + {file = "propcache-0.3.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e861ad82892408487be144906a368ddbe2dc6297074ade2d892341b35c59844a"}, + {file = "propcache-0.3.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:61014615c1274df8da5991a1e5da85a3ccb00c2d4701ac6f3383afd3ca47ab0a"}, + {file = "propcache-0.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:71ebe3fe42656a2328ab08933d420df5f3ab121772eef78f2dc63624157f0ed9"}, + {file = "propcache-0.3.1-cp311-cp311-win32.whl", hash = "sha256:58aa11f4ca8b60113d4b8e32d37e7e78bd8af4d1a5b5cb4979ed856a45e62005"}, + {file = "propcache-0.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:9532ea0b26a401264b1365146c440a6d78269ed41f83f23818d4b79497aeabe7"}, + {file = "propcache-0.3.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f78eb8422acc93d7b69964012ad7048764bb45a54ba7a39bb9e146c72ea29723"}, + {file = "propcache-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:89498dd49c2f9a026ee057965cdf8192e5ae070ce7d7a7bd4b66a8e257d0c976"}, + {file = "propcache-0.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:09400e98545c998d57d10035ff623266927cb784d13dd2b31fd33b8a5316b85b"}, + {file = "propcache-0.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa8efd8c5adc5a2c9d3b952815ff8f7710cefdcaf5f2c36d26aff51aeca2f12f"}, + {file = "propcache-0.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c2fe5c910f6007e716a06d269608d307b4f36e7babee5f36533722660e8c4a70"}, + {file = "propcache-0.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a0ab8cf8cdd2194f8ff979a43ab43049b1df0b37aa64ab7eca04ac14429baeb7"}, + {file = "propcache-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:563f9d8c03ad645597b8d010ef4e9eab359faeb11a0a2ac9f7b4bc8c28ebef25"}, + {file = "propcache-0.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb6e0faf8cb6b4beea5d6ed7b5a578254c6d7df54c36ccd3d8b3eb00d6770277"}, + {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1c5c7ab7f2bb3f573d1cb921993006ba2d39e8621019dffb1c5bc94cdbae81e8"}, + {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:050b571b2e96ec942898f8eb46ea4bfbb19bd5502424747e83badc2d4a99a44e"}, + {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e1c4d24b804b3a87e9350f79e2371a705a188d292fd310e663483af6ee6718ee"}, + {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e4fe2a6d5ce975c117a6bb1e8ccda772d1e7029c1cca1acd209f91d30fa72815"}, + {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:feccd282de1f6322f56f6845bf1207a537227812f0a9bf5571df52bb418d79d5"}, + {file = "propcache-0.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ec314cde7314d2dd0510c6787326bbffcbdc317ecee6b7401ce218b3099075a7"}, + {file = "propcache-0.3.1-cp312-cp312-win32.whl", hash = "sha256:7d2d5a0028d920738372630870e7d9644ce437142197f8c827194fca404bf03b"}, + {file = "propcache-0.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:88c423efef9d7a59dae0614eaed718449c09a5ac79a5f224a8b9664d603f04a3"}, + {file = "propcache-0.3.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f1528ec4374617a7a753f90f20e2f551121bb558fcb35926f99e3c42367164b8"}, + {file = "propcache-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dc1915ec523b3b494933b5424980831b636fe483d7d543f7afb7b3bf00f0c10f"}, + {file = "propcache-0.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a110205022d077da24e60b3df8bcee73971be9575dec5573dd17ae5d81751111"}, + {file = "propcache-0.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d249609e547c04d190e820d0d4c8ca03ed4582bcf8e4e160a6969ddfb57b62e5"}, + {file = "propcache-0.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ced33d827625d0a589e831126ccb4f5c29dfdf6766cac441d23995a65825dcb"}, + {file = "propcache-0.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4114c4ada8f3181af20808bedb250da6bae56660e4b8dfd9cd95d4549c0962f7"}, + {file = "propcache-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:975af16f406ce48f1333ec5e912fe11064605d5c5b3f6746969077cc3adeb120"}, + {file = "propcache-0.3.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a34aa3a1abc50740be6ac0ab9d594e274f59960d3ad253cd318af76b996dd654"}, + {file = "propcache-0.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9cec3239c85ed15bfaded997773fdad9fb5662b0a7cbc854a43f291eb183179e"}, + {file = "propcache-0.3.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:05543250deac8e61084234d5fc54f8ebd254e8f2b39a16b1dce48904f45b744b"}, + {file = "propcache-0.3.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5cb5918253912e088edbf023788de539219718d3b10aef334476b62d2b53de53"}, + {file = "propcache-0.3.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f3bbecd2f34d0e6d3c543fdb3b15d6b60dd69970c2b4c822379e5ec8f6f621d5"}, + {file = "propcache-0.3.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aca63103895c7d960a5b9b044a83f544b233c95e0dcff114389d64d762017af7"}, + {file = "propcache-0.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5a0a9898fdb99bf11786265468571e628ba60af80dc3f6eb89a3545540c6b0ef"}, + {file = "propcache-0.3.1-cp313-cp313-win32.whl", hash = "sha256:3a02a28095b5e63128bcae98eb59025924f121f048a62393db682f049bf4ac24"}, + {file = "propcache-0.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:813fbb8b6aea2fc9659815e585e548fe706d6f663fa73dff59a1677d4595a037"}, + {file = "propcache-0.3.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a444192f20f5ce8a5e52761a031b90f5ea6288b1eef42ad4c7e64fef33540b8f"}, + {file = "propcache-0.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0fbe94666e62ebe36cd652f5fc012abfbc2342de99b523f8267a678e4dfdee3c"}, + {file = "propcache-0.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f011f104db880f4e2166bcdcf7f58250f7a465bc6b068dc84c824a3d4a5c94dc"}, + {file = "propcache-0.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e584b6d388aeb0001d6d5c2bd86b26304adde6d9bb9bfa9c4889805021b96de"}, + {file = "propcache-0.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a17583515a04358b034e241f952f1715243482fc2c2945fd99a1b03a0bd77d6"}, + {file = "propcache-0.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5aed8d8308215089c0734a2af4f2e95eeb360660184ad3912686c181e500b2e7"}, + {file = "propcache-0.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d8e309ff9a0503ef70dc9a0ebd3e69cf7b3894c9ae2ae81fc10943c37762458"}, + {file = "propcache-0.3.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b655032b202028a582d27aeedc2e813299f82cb232f969f87a4fde491a233f11"}, + {file = "propcache-0.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9f64d91b751df77931336b5ff7bafbe8845c5770b06630e27acd5dbb71e1931c"}, + {file = "propcache-0.3.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:19a06db789a4bd896ee91ebc50d059e23b3639c25d58eb35be3ca1cbe967c3bf"}, + {file = "propcache-0.3.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:bef100c88d8692864651b5f98e871fb090bd65c8a41a1cb0ff2322db39c96c27"}, + {file = "propcache-0.3.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:87380fb1f3089d2a0b8b00f006ed12bd41bd858fabfa7330c954c70f50ed8757"}, + {file = "propcache-0.3.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e474fc718e73ba5ec5180358aa07f6aded0ff5f2abe700e3115c37d75c947e18"}, + {file = "propcache-0.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:17d1c688a443355234f3c031349da69444be052613483f3e4158eef751abcd8a"}, + {file = "propcache-0.3.1-cp313-cp313t-win32.whl", hash = "sha256:359e81a949a7619802eb601d66d37072b79b79c2505e6d3fd8b945538411400d"}, + {file = "propcache-0.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:e7fb9a84c9abbf2b2683fa3e7b0d7da4d8ecf139a1c635732a8bda29c5214b0e"}, + {file = "propcache-0.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ed5f6d2edbf349bd8d630e81f474d33d6ae5d07760c44d33cd808e2f5c8f4ae6"}, + {file = "propcache-0.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:668ddddc9f3075af019f784456267eb504cb77c2c4bd46cc8402d723b4d200bf"}, + {file = "propcache-0.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0c86e7ceea56376216eba345aa1fc6a8a6b27ac236181f840d1d7e6a1ea9ba5c"}, + {file = "propcache-0.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83be47aa4e35b87c106fc0c84c0fc069d3f9b9b06d3c494cd404ec6747544894"}, + {file = "propcache-0.3.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:27c6ac6aa9fc7bc662f594ef380707494cb42c22786a558d95fcdedb9aa5d035"}, + {file = "propcache-0.3.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64a956dff37080b352c1c40b2966b09defb014347043e740d420ca1eb7c9b908"}, + {file = "propcache-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82de5da8c8893056603ac2d6a89eb8b4df49abf1a7c19d536984c8dd63f481d5"}, + {file = "propcache-0.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c3c3a203c375b08fd06a20da3cf7aac293b834b6f4f4db71190e8422750cca5"}, + {file = "propcache-0.3.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b303b194c2e6f171cfddf8b8ba30baefccf03d36a4d9cab7fd0bb68ba476a3d7"}, + {file = "propcache-0.3.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:916cd229b0150129d645ec51614d38129ee74c03293a9f3f17537be0029a9641"}, + {file = "propcache-0.3.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:a461959ead5b38e2581998700b26346b78cd98540b5524796c175722f18b0294"}, + {file = "propcache-0.3.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:069e7212890b0bcf9b2be0a03afb0c2d5161d91e1bf51569a64f629acc7defbf"}, + {file = "propcache-0.3.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ef2e4e91fb3945769e14ce82ed53007195e616a63aa43b40fb7ebaaf907c8d4c"}, + {file = "propcache-0.3.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8638f99dca15b9dff328fb6273e09f03d1c50d9b6512f3b65a4154588a7595fe"}, + {file = "propcache-0.3.1-cp39-cp39-win32.whl", hash = "sha256:6f173bbfe976105aaa890b712d1759de339d8a7cef2fc0a1714cc1a1e1c47f64"}, + {file = "propcache-0.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:603f1fe4144420374f1a69b907494c3acbc867a581c2d49d4175b0de7cc64566"}, + {file = "propcache-0.3.1-py3-none-any.whl", hash = "sha256:9a8ecf38de50a7f518c21568c80f985e776397b902f1ce0b01f799aba1608b40"}, + {file = "propcache-0.3.1.tar.gz", hash = "sha256:40d980c33765359098837527e18eddefc9a24cea5b45e078a7f3bb5b032c6ecf"}, ] [[package]] name = "proto-plus" -version = "1.25.0" -description = "Beautiful, Pythonic protocol buffers." +version = "1.26.1" +description = "Beautiful, Pythonic protocol buffers" optional = false python-versions = ">=3.7" groups = ["main"] files = [ - {file = "proto_plus-1.25.0-py3-none-any.whl", hash = "sha256:c91fc4a65074ade8e458e95ef8bac34d4008daa7cce4a12d6707066fca648961"}, - {file = "proto_plus-1.25.0.tar.gz", hash = "sha256:fbb17f57f7bd05a68b7707e745e26528b0b3c34e378db91eef93912c54982d91"}, + {file = "proto_plus-1.26.1-py3-none-any.whl", hash = "sha256:13285478c2dcf2abb829db158e1047e2f1e8d63a077d94263c2b88b043c75a66"}, + {file = "proto_plus-1.26.1.tar.gz", hash = "sha256:21a515a4c4c0088a773899e23c7bbade3d18f9c66c73edd4c7ee3816bc96a012"}, ] [package.dependencies] -protobuf = ">=3.19.0,<6.0.0dev" +protobuf = ">=3.19.0,<7.0.0" [package.extras] testing = ["google-api-core (>=1.31.5)"] [[package]] name = "protobuf" -version = "5.29.3" +version = "6.30.2" description = "" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main"] files = [ - {file = "protobuf-5.29.3-cp310-abi3-win32.whl", hash = "sha256:3ea51771449e1035f26069c4c7fd51fba990d07bc55ba80701c78f886bf9c888"}, - {file = "protobuf-5.29.3-cp310-abi3-win_amd64.whl", hash = "sha256:a4fa6f80816a9a0678429e84973f2f98cbc218cca434abe8db2ad0bffc98503a"}, - {file = "protobuf-5.29.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:a8434404bbf139aa9e1300dbf989667a83d42ddda9153d8ab76e0d5dcaca484e"}, - {file = "protobuf-5.29.3-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:daaf63f70f25e8689c072cfad4334ca0ac1d1e05a92fc15c54eb9cf23c3efd84"}, - {file = "protobuf-5.29.3-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:c027e08a08be10b67c06bf2370b99c811c466398c357e615ca88c91c07f0910f"}, - {file = "protobuf-5.29.3-cp38-cp38-win32.whl", hash = "sha256:84a57163a0ccef3f96e4b6a20516cedcf5bb3a95a657131c5c3ac62200d23252"}, - {file = "protobuf-5.29.3-cp38-cp38-win_amd64.whl", hash = "sha256:b89c115d877892a512f79a8114564fb435943b59067615894c3b13cd3e1fa107"}, - {file = "protobuf-5.29.3-cp39-cp39-win32.whl", hash = "sha256:0eb32bfa5219fc8d4111803e9a690658aa2e6366384fd0851064b963b6d1f2a7"}, - {file = "protobuf-5.29.3-cp39-cp39-win_amd64.whl", hash = "sha256:6ce8cc3389a20693bfde6c6562e03474c40851b44975c9b2bf6df7d8c4f864da"}, - {file = "protobuf-5.29.3-py3-none-any.whl", hash = "sha256:0a18ed4a24198528f2333802eb075e59dea9d679ab7a6c5efb017a59004d849f"}, - {file = "protobuf-5.29.3.tar.gz", hash = "sha256:5da0f41edaf117bde316404bad1a486cb4ededf8e4a54891296f648e8e076620"}, + {file = "protobuf-6.30.2-cp310-abi3-win32.whl", hash = "sha256:b12ef7df7b9329886e66404bef5e9ce6a26b54069d7f7436a0853ccdeb91c103"}, + {file = "protobuf-6.30.2-cp310-abi3-win_amd64.whl", hash = "sha256:7653c99774f73fe6b9301b87da52af0e69783a2e371e8b599b3e9cb4da4b12b9"}, + {file = "protobuf-6.30.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:0eb523c550a66a09a0c20f86dd554afbf4d32b02af34ae53d93268c1f73bc65b"}, + {file = "protobuf-6.30.2-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:50f32cc9fd9cb09c783ebc275611b4f19dfdfb68d1ee55d2f0c7fa040df96815"}, + {file = "protobuf-6.30.2-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:4f6c687ae8efae6cf6093389a596548214467778146b7245e886f35e1485315d"}, + {file = "protobuf-6.30.2-cp39-cp39-win32.whl", hash = "sha256:524afedc03b31b15586ca7f64d877a98b184f007180ce25183d1a5cb230ee72b"}, + {file = "protobuf-6.30.2-cp39-cp39-win_amd64.whl", hash = "sha256:acec579c39c88bd8fbbacab1b8052c793efe83a0a5bd99db4a31423a25c0a0e2"}, + {file = "protobuf-6.30.2-py3-none-any.whl", hash = "sha256:ae86b030e69a98e08c77beab574cbcb9fff6d031d57209f574a5aea1445f4b51"}, + {file = "protobuf-6.30.2.tar.gz", hash = "sha256:35c859ae076d8c56054c25b59e5e59638d86545ed6e2b6efac6be0b6ea3ba048"}, ] [[package]] @@ -3663,18 +3721,18 @@ files = [ [[package]] name = "pyasn1-modules" -version = "0.4.1" +version = "0.4.2" description = "A collection of ASN.1-based protocols modules" optional = false python-versions = ">=3.8" groups = ["main"] files = [ - {file = "pyasn1_modules-0.4.1-py3-none-any.whl", hash = "sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd"}, - {file = "pyasn1_modules-0.4.1.tar.gz", hash = "sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c"}, + {file = "pyasn1_modules-0.4.2-py3-none-any.whl", hash = "sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a"}, + {file = "pyasn1_modules-0.4.2.tar.gz", hash = "sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6"}, ] [package.dependencies] -pyasn1 = ">=0.4.6,<0.7.0" +pyasn1 = ">=0.6.1,<0.7.0" [[package]] name = "pycodestyle" @@ -3849,14 +3907,14 @@ testutils = ["gitpython (>3)"] [[package]] name = "pymdown-extensions" -version = "10.14" +version = "10.14.3" description = "Extension pack for Python Markdown." optional = false python-versions = ">=3.8" groups = ["docs"] files = [ - {file = "pymdown_extensions-10.14-py3-none-any.whl", hash = "sha256:202481f716cc8250e4be8fce997781ebf7917701b59652458ee47f2401f818b5"}, - {file = "pymdown_extensions-10.14.tar.gz", hash = "sha256:741bd7c4ff961ba40b7528d32284c53bc436b8b1645e8e37c3e57770b8700a34"}, + {file = "pymdown_extensions-10.14.3-py3-none-any.whl", hash = "sha256:05e0bee73d64b9c71a4ae17c72abc2f700e8bc8403755a00580b49a4e9f189e9"}, + {file = "pymdown_extensions-10.14.3.tar.gz", hash = "sha256:41e576ce3f5d650be59e900e4ceff231e0aed2a88cf30acaee41e02f063a061b"}, ] [package.dependencies] @@ -3868,14 +3926,14 @@ extra = ["pygments (>=2.19.1)"] [[package]] name = "pyparsing" -version = "3.2.1" +version = "3.2.3" description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false python-versions = ">=3.9" groups = ["main", "dev"] files = [ - {file = "pyparsing-3.2.1-py3-none-any.whl", hash = "sha256:506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1"}, - {file = "pyparsing-3.2.1.tar.gz", hash = "sha256:61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a"}, + {file = "pyparsing-3.2.3-py3-none-any.whl", hash = "sha256:a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf"}, + {file = "pyparsing-3.2.3.tar.gz", hash = "sha256:b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be"}, ] [package.extras] @@ -4008,32 +4066,30 @@ files = [ [[package]] name = "pywin32" -version = "308" +version = "310" description = "Python for Window Extensions" optional = false python-versions = "*" -groups = ["main", "dev"] +groups = ["dev"] +markers = "sys_platform == \"win32\"" files = [ - {file = "pywin32-308-cp310-cp310-win32.whl", hash = "sha256:796ff4426437896550d2981b9c2ac0ffd75238ad9ea2d3bfa67a1abd546d262e"}, - {file = "pywin32-308-cp310-cp310-win_amd64.whl", hash = "sha256:4fc888c59b3c0bef905ce7eb7e2106a07712015ea1c8234b703a088d46110e8e"}, - {file = "pywin32-308-cp310-cp310-win_arm64.whl", hash = "sha256:a5ab5381813b40f264fa3495b98af850098f814a25a63589a8e9eb12560f450c"}, - {file = "pywin32-308-cp311-cp311-win32.whl", hash = "sha256:5d8c8015b24a7d6855b1550d8e660d8daa09983c80e5daf89a273e5c6fb5095a"}, - {file = "pywin32-308-cp311-cp311-win_amd64.whl", hash = "sha256:575621b90f0dc2695fec346b2d6302faebd4f0f45c05ea29404cefe35d89442b"}, - {file = "pywin32-308-cp311-cp311-win_arm64.whl", hash = "sha256:100a5442b7332070983c4cd03f2e906a5648a5104b8a7f50175f7906efd16bb6"}, - {file = "pywin32-308-cp312-cp312-win32.whl", hash = "sha256:587f3e19696f4bf96fde9d8a57cec74a57021ad5f204c9e627e15c33ff568897"}, - {file = "pywin32-308-cp312-cp312-win_amd64.whl", hash = "sha256:00b3e11ef09ede56c6a43c71f2d31857cf7c54b0ab6e78ac659497abd2834f47"}, - {file = "pywin32-308-cp312-cp312-win_arm64.whl", hash = "sha256:9b4de86c8d909aed15b7011182c8cab38c8850de36e6afb1f0db22b8959e3091"}, - {file = "pywin32-308-cp313-cp313-win32.whl", hash = "sha256:1c44539a37a5b7b21d02ab34e6a4d314e0788f1690d65b48e9b0b89f31abbbed"}, - {file = "pywin32-308-cp313-cp313-win_amd64.whl", hash = "sha256:fd380990e792eaf6827fcb7e187b2b4b1cede0585e3d0c9e84201ec27b9905e4"}, - {file = "pywin32-308-cp313-cp313-win_arm64.whl", hash = "sha256:ef313c46d4c18dfb82a2431e3051ac8f112ccee1a34f29c263c583c568db63cd"}, - {file = "pywin32-308-cp37-cp37m-win32.whl", hash = "sha256:1f696ab352a2ddd63bd07430080dd598e6369152ea13a25ebcdd2f503a38f1ff"}, - {file = "pywin32-308-cp37-cp37m-win_amd64.whl", hash = "sha256:13dcb914ed4347019fbec6697a01a0aec61019c1046c2b905410d197856326a6"}, - {file = "pywin32-308-cp38-cp38-win32.whl", hash = "sha256:5794e764ebcabf4ff08c555b31bd348c9025929371763b2183172ff4708152f0"}, - {file = "pywin32-308-cp38-cp38-win_amd64.whl", hash = "sha256:3b92622e29d651c6b783e368ba7d6722b1634b8e70bd376fd7610fe1992e19de"}, - {file = "pywin32-308-cp39-cp39-win32.whl", hash = "sha256:7873ca4dc60ab3287919881a7d4f88baee4a6e639aa6962de25a98ba6b193341"}, - {file = "pywin32-308-cp39-cp39-win_amd64.whl", hash = "sha256:71b3322d949b4cc20776436a9c9ba0eeedcbc9c650daa536df63f0ff111bb920"}, + {file = "pywin32-310-cp310-cp310-win32.whl", hash = "sha256:6dd97011efc8bf51d6793a82292419eba2c71cf8e7250cfac03bba284454abc1"}, + {file = "pywin32-310-cp310-cp310-win_amd64.whl", hash = "sha256:c3e78706e4229b915a0821941a84e7ef420bf2b77e08c9dae3c76fd03fd2ae3d"}, + {file = "pywin32-310-cp310-cp310-win_arm64.whl", hash = "sha256:33babed0cf0c92a6f94cc6cc13546ab24ee13e3e800e61ed87609ab91e4c8213"}, + {file = "pywin32-310-cp311-cp311-win32.whl", hash = "sha256:1e765f9564e83011a63321bb9d27ec456a0ed90d3732c4b2e312b855365ed8bd"}, + {file = "pywin32-310-cp311-cp311-win_amd64.whl", hash = "sha256:126298077a9d7c95c53823934f000599f66ec9296b09167810eb24875f32689c"}, + {file = "pywin32-310-cp311-cp311-win_arm64.whl", hash = "sha256:19ec5fc9b1d51c4350be7bb00760ffce46e6c95eaf2f0b2f1150657b1a43c582"}, + {file = "pywin32-310-cp312-cp312-win32.whl", hash = "sha256:8a75a5cc3893e83a108c05d82198880704c44bbaee4d06e442e471d3c9ea4f3d"}, + {file = "pywin32-310-cp312-cp312-win_amd64.whl", hash = "sha256:bf5c397c9a9a19a6f62f3fb821fbf36cac08f03770056711f765ec1503972060"}, + {file = "pywin32-310-cp312-cp312-win_arm64.whl", hash = "sha256:2349cc906eae872d0663d4d6290d13b90621eaf78964bb1578632ff20e152966"}, + {file = "pywin32-310-cp313-cp313-win32.whl", hash = "sha256:5d241a659c496ada3253cd01cfaa779b048e90ce4b2b38cd44168ad555ce74ab"}, + {file = "pywin32-310-cp313-cp313-win_amd64.whl", hash = "sha256:667827eb3a90208ddbdcc9e860c81bde63a135710e21e4cb3348968e4bd5249e"}, + {file = "pywin32-310-cp313-cp313-win_arm64.whl", hash = "sha256:e308f831de771482b7cf692a1f308f8fca701b2d8f9dde6cc440c7da17e47b33"}, + {file = "pywin32-310-cp38-cp38-win32.whl", hash = "sha256:0867beb8addefa2e3979d4084352e4ac6e991ca45373390775f7084cc0209b9c"}, + {file = "pywin32-310-cp38-cp38-win_amd64.whl", hash = "sha256:30f0a9b3138fb5e07eb4973b7077e1883f558e40c578c6925acc7a94c34eaa36"}, + {file = "pywin32-310-cp39-cp39-win32.whl", hash = "sha256:851c8d927af0d879221e616ae1f66145253537bbdd321a77e8ef701b443a9a1a"}, + {file = "pywin32-310-cp39-cp39-win_amd64.whl", hash = "sha256:96867217335559ac619f00ad70e513c0fcf84b8a3af9fc2bba3b59b97da70475"}, ] -markers = {main = "platform_system == \"Windows\"", dev = "sys_platform == \"win32\""} [[package]] name = "pyyaml" @@ -4115,19 +4171,20 @@ pyyaml = "*" [[package]] name = "referencing" -version = "0.35.1" +version = "0.36.2" description = "JSON Referencing + Python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" groups = ["main", "dev"] files = [ - {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, - {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, + {file = "referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0"}, + {file = "referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa"}, ] [package.dependencies] attrs = ">=22.2.0" rpds-py = ">=0.7.0" +typing-extensions = {version = ">=4.4.0", markers = "python_version < \"3.13\""} [[package]] name = "regex" @@ -4291,14 +4348,14 @@ rsa = ["oauthlib[signedtoken] (>=3.0.0)"] [[package]] name = "responses" -version = "0.25.6" +version = "0.25.7" description = "A utility library for mocking out the `requests` Python library." optional = false python-versions = ">=3.8" groups = ["dev"] files = [ - {file = "responses-0.25.6-py3-none-any.whl", hash = "sha256:9cac8f21e1193bb150ec557875377e41ed56248aed94e4567ed644db564bacf1"}, - {file = "responses-0.25.6.tar.gz", hash = "sha256:eae7ce61a9603004e76c05691e7c389e59652d91e94b419623c12bbfb8e331d8"}, + {file = "responses-0.25.7-py3-none-any.whl", hash = "sha256:92ca17416c90fe6b35921f52179bff29332076bb32694c0df02dcac2c6bc043c"}, + {file = "responses-0.25.7.tar.gz", hash = "sha256:8ebae11405d7a5df79ab6fd54277f6f2bc29b2d002d0dd2d5c632594d1ddcedb"}, ] [package.dependencies] @@ -4341,14 +4398,14 @@ six = "*" [[package]] name = "rich" -version = "13.9.4" +version = "14.0.0" description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" optional = false python-versions = ">=3.8.0" groups = ["dev"] files = [ - {file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"}, - {file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"}, + {file = "rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0"}, + {file = "rich-14.0.0.tar.gz", hash = "sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725"}, ] [package.dependencies] @@ -4361,127 +4418,138 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "rpds-py" -version = "0.22.3" +version = "0.24.0" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.9" groups = ["main", "dev"] files = [ - {file = "rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967"}, - {file = "rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec"}, - {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00"}, - {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf"}, - {file = "rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652"}, - {file = "rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8"}, - {file = "rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f"}, - {file = "rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1"}, - {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74"}, - {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a"}, - {file = "rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64"}, - {file = "rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c"}, - {file = "rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e"}, - {file = "rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15"}, - {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61"}, - {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7"}, - {file = "rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627"}, - {file = "rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4"}, - {file = "rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84"}, - {file = "rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518"}, - {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16"}, - {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f"}, - {file = "rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de"}, - {file = "rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9"}, - {file = "rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3"}, - {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b"}, - {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333"}, - {file = "rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730"}, - {file = "rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf"}, - {file = "rpds_py-0.22.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:378753b4a4de2a7b34063d6f95ae81bfa7b15f2c1a04a9518e8644e81807ebea"}, - {file = "rpds_py-0.22.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3445e07bf2e8ecfeef6ef67ac83de670358abf2996916039b16a218e3d95e97e"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b2513ba235829860b13faa931f3b6846548021846ac808455301c23a101689d"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eaf16ae9ae519a0e237a0f528fd9f0197b9bb70f40263ee57ae53c2b8d48aeb3"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:583f6a1993ca3369e0f80ba99d796d8e6b1a3a2a442dd4e1a79e652116413091"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4617e1915a539a0d9a9567795023de41a87106522ff83fbfaf1f6baf8e85437e"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c150c7a61ed4a4f4955a96626574e9baf1adf772c2fb61ef6a5027e52803543"}, - {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fa4331c200c2521512595253f5bb70858b90f750d39b8cbfd67465f8d1b596d"}, - {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:214b7a953d73b5e87f0ebece4a32a5bd83c60a3ecc9d4ec8f1dca968a2d91e99"}, - {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f47ad3d5f3258bd7058d2d506852217865afefe6153a36eb4b6928758041d831"}, - {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f276b245347e6e36526cbd4a266a417796fc531ddf391e43574cf6466c492520"}, - {file = "rpds_py-0.22.3-cp39-cp39-win32.whl", hash = "sha256:bbb232860e3d03d544bc03ac57855cd82ddf19c7a07651a7c0fdb95e9efea8b9"}, - {file = "rpds_py-0.22.3-cp39-cp39-win_amd64.whl", hash = "sha256:cfbc454a2880389dbb9b5b398e50d439e2e58669160f27b60e5eca11f68ae17c"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe"}, - {file = "rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bb47271f60660803ad11f4c61b42242b8c1312a31c98c578f79ef9387bbde21c"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:70fb28128acbfd264eda9bf47015537ba3fe86e40d046eb2963d75024be4d055"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44d61b4b7d0c2c9ac019c314e52d7cbda0ae31078aabd0f22e583af3e0d79723"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f0e260eaf54380380ac3808aa4ebe2d8ca28b9087cf411649f96bad6900c728"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b25bc607423935079e05619d7de556c91fb6adeae9d5f80868dde3468657994b"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fb6116dfb8d1925cbdb52595560584db42a7f664617a1f7d7f6e32f138cdf37d"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a63cbdd98acef6570c62b92a1e43266f9e8b21e699c363c0fef13bd530799c11"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b8f60e1b739a74bab7e01fcbe3dddd4657ec685caa04681df9d562ef15b625f"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2e8b55d8517a2fda8d95cb45d62a5a8bbf9dd0ad39c5b25c8833efea07b880ca"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:2de29005e11637e7a2361fa151f780ff8eb2543a0da1413bb951e9f14b699ef3"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:666ecce376999bf619756a24ce15bb14c5bfaf04bf00abc7e663ce17c3f34fe7"}, - {file = "rpds_py-0.22.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5246b14ca64a8675e0a7161f7af68fe3e910e6b90542b4bfb5439ba752191df6"}, - {file = "rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d"}, + {file = "rpds_py-0.24.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:006f4342fe729a368c6df36578d7a348c7c716be1da0a1a0f86e3021f8e98724"}, + {file = "rpds_py-0.24.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2d53747da70a4e4b17f559569d5f9506420966083a31c5fbd84e764461c4444b"}, + {file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8acd55bd5b071156bae57b555f5d33697998752673b9de554dd82f5b5352727"}, + {file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7e80d375134ddb04231a53800503752093dbb65dad8dabacce2c84cccc78e964"}, + {file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:60748789e028d2a46fc1c70750454f83c6bdd0d05db50f5ae83e2db500b34da5"}, + {file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6e1daf5bf6c2be39654beae83ee6b9a12347cb5aced9a29eecf12a2d25fff664"}, + {file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b221c2457d92a1fb3c97bee9095c874144d196f47c038462ae6e4a14436f7bc"}, + {file = "rpds_py-0.24.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:66420986c9afff67ef0c5d1e4cdc2d0e5262f53ad11e4f90e5e22448df485bf0"}, + {file = "rpds_py-0.24.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:43dba99f00f1d37b2a0265a259592d05fcc8e7c19d140fe51c6e6f16faabeb1f"}, + {file = "rpds_py-0.24.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a88c0d17d039333a41d9bf4616bd062f0bd7aa0edeb6cafe00a2fc2a804e944f"}, + {file = "rpds_py-0.24.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc31e13ce212e14a539d430428cd365e74f8b2d534f8bc22dd4c9c55b277b875"}, + {file = "rpds_py-0.24.0-cp310-cp310-win32.whl", hash = "sha256:fc2c1e1b00f88317d9de6b2c2b39b012ebbfe35fe5e7bef980fd2a91f6100a07"}, + {file = "rpds_py-0.24.0-cp310-cp310-win_amd64.whl", hash = "sha256:c0145295ca415668420ad142ee42189f78d27af806fcf1f32a18e51d47dd2052"}, + {file = "rpds_py-0.24.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:2d3ee4615df36ab8eb16c2507b11e764dcc11fd350bbf4da16d09cda11fcedef"}, + {file = "rpds_py-0.24.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e13ae74a8a3a0c2f22f450f773e35f893484fcfacb00bb4344a7e0f4f48e1f97"}, + {file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf86f72d705fc2ef776bb7dd9e5fbba79d7e1f3e258bf9377f8204ad0fc1c51e"}, + {file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c43583ea8517ed2e780a345dd9960896afc1327e8cf3ac8239c167530397440d"}, + {file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4cd031e63bc5f05bdcda120646a0d32f6d729486d0067f09d79c8db5368f4586"}, + {file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:34d90ad8c045df9a4259c47d2e16a3f21fdb396665c94520dbfe8766e62187a4"}, + {file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e838bf2bb0b91ee67bf2b889a1a841e5ecac06dd7a2b1ef4e6151e2ce155c7ae"}, + {file = "rpds_py-0.24.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04ecf5c1ff4d589987b4d9882872f80ba13da7d42427234fce8f22efb43133bc"}, + {file = "rpds_py-0.24.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:630d3d8ea77eabd6cbcd2ea712e1c5cecb5b558d39547ac988351195db433f6c"}, + {file = "rpds_py-0.24.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ebcb786b9ff30b994d5969213a8430cbb984cdd7ea9fd6df06663194bd3c450c"}, + {file = "rpds_py-0.24.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:174e46569968ddbbeb8a806d9922f17cd2b524aa753b468f35b97ff9c19cb718"}, + {file = "rpds_py-0.24.0-cp311-cp311-win32.whl", hash = "sha256:5ef877fa3bbfb40b388a5ae1cb00636a624690dcb9a29a65267054c9ea86d88a"}, + {file = "rpds_py-0.24.0-cp311-cp311-win_amd64.whl", hash = "sha256:e274f62cbd274359eff63e5c7e7274c913e8e09620f6a57aae66744b3df046d6"}, + {file = "rpds_py-0.24.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:d8551e733626afec514b5d15befabea0dd70a343a9f23322860c4f16a9430205"}, + {file = "rpds_py-0.24.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0e374c0ce0ca82e5b67cd61fb964077d40ec177dd2c4eda67dba130de09085c7"}, + {file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d69d003296df4840bd445a5d15fa5b6ff6ac40496f956a221c4d1f6f7b4bc4d9"}, + {file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8212ff58ac6dfde49946bea57474a386cca3f7706fc72c25b772b9ca4af6b79e"}, + {file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:528927e63a70b4d5f3f5ccc1fa988a35456eb5d15f804d276709c33fc2f19bda"}, + {file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a824d2c7a703ba6daaca848f9c3d5cb93af0505be505de70e7e66829affd676e"}, + {file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44d51febb7a114293ffd56c6cf4736cb31cd68c0fddd6aa303ed09ea5a48e029"}, + {file = "rpds_py-0.24.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3fab5f4a2c64a8fb64fc13b3d139848817a64d467dd6ed60dcdd6b479e7febc9"}, + {file = "rpds_py-0.24.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9be4f99bee42ac107870c61dfdb294d912bf81c3c6d45538aad7aecab468b6b7"}, + {file = "rpds_py-0.24.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:564c96b6076a98215af52f55efa90d8419cc2ef45d99e314fddefe816bc24f91"}, + {file = "rpds_py-0.24.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:75a810b7664c17f24bf2ffd7f92416c00ec84b49bb68e6a0d93e542406336b56"}, + {file = "rpds_py-0.24.0-cp312-cp312-win32.whl", hash = "sha256:f6016bd950be4dcd047b7475fdf55fb1e1f59fc7403f387be0e8123e4a576d30"}, + {file = "rpds_py-0.24.0-cp312-cp312-win_amd64.whl", hash = "sha256:998c01b8e71cf051c28f5d6f1187abbdf5cf45fc0efce5da6c06447cba997034"}, + {file = "rpds_py-0.24.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:3d2d8e4508e15fc05b31285c4b00ddf2e0eb94259c2dc896771966a163122a0c"}, + {file = "rpds_py-0.24.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0f00c16e089282ad68a3820fd0c831c35d3194b7cdc31d6e469511d9bffc535c"}, + {file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:951cc481c0c395c4a08639a469d53b7d4afa252529a085418b82a6b43c45c240"}, + {file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c9ca89938dff18828a328af41ffdf3902405a19f4131c88e22e776a8e228c5a8"}, + {file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed0ef550042a8dbcd657dfb284a8ee00f0ba269d3f2286b0493b15a5694f9fe8"}, + {file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b2356688e5d958c4d5cb964af865bea84db29971d3e563fb78e46e20fe1848b"}, + {file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78884d155fd15d9f64f5d6124b486f3d3f7fd7cd71a78e9670a0f6f6ca06fb2d"}, + {file = "rpds_py-0.24.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6a4a535013aeeef13c5532f802708cecae8d66c282babb5cd916379b72110cf7"}, + {file = "rpds_py-0.24.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:84e0566f15cf4d769dade9b366b7b87c959be472c92dffb70462dd0844d7cbad"}, + {file = "rpds_py-0.24.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:823e74ab6fbaa028ec89615ff6acb409e90ff45580c45920d4dfdddb069f2120"}, + {file = "rpds_py-0.24.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c61a2cb0085c8783906b2f8b1f16a7e65777823c7f4d0a6aaffe26dc0d358dd9"}, + {file = "rpds_py-0.24.0-cp313-cp313-win32.whl", hash = "sha256:60d9b630c8025b9458a9d114e3af579a2c54bd32df601c4581bd054e85258143"}, + {file = "rpds_py-0.24.0-cp313-cp313-win_amd64.whl", hash = "sha256:6eea559077d29486c68218178ea946263b87f1c41ae7f996b1f30a983c476a5a"}, + {file = "rpds_py-0.24.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:d09dc82af2d3c17e7dd17120b202a79b578d79f2b5424bda209d9966efeed114"}, + {file = "rpds_py-0.24.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5fc13b44de6419d1e7a7e592a4885b323fbc2f46e1f22151e3a8ed3b8b920405"}, + {file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c347a20d79cedc0a7bd51c4d4b7dbc613ca4e65a756b5c3e57ec84bd43505b47"}, + {file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:20f2712bd1cc26a3cc16c5a1bfee9ed1abc33d4cdf1aabd297fe0eb724df4272"}, + {file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aad911555286884be1e427ef0dc0ba3929e6821cbeca2194b13dc415a462c7fd"}, + {file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0aeb3329c1721c43c58cae274d7d2ca85c1690d89485d9c63a006cb79a85771a"}, + {file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a0f156e9509cee987283abd2296ec816225145a13ed0391df8f71bf1d789e2d"}, + {file = "rpds_py-0.24.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aa6800adc8204ce898c8a424303969b7aa6a5e4ad2789c13f8648739830323b7"}, + {file = "rpds_py-0.24.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a18fc371e900a21d7392517c6f60fe859e802547309e94313cd8181ad9db004d"}, + {file = "rpds_py-0.24.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:9168764133fd919f8dcca2ead66de0105f4ef5659cbb4fa044f7014bed9a1797"}, + {file = "rpds_py-0.24.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5f6e3cec44ba05ee5cbdebe92d052f69b63ae792e7d05f1020ac5e964394080c"}, + {file = "rpds_py-0.24.0-cp313-cp313t-win32.whl", hash = "sha256:8ebc7e65ca4b111d928b669713865f021b7773350eeac4a31d3e70144297baba"}, + {file = "rpds_py-0.24.0-cp313-cp313t-win_amd64.whl", hash = "sha256:675269d407a257b8c00a6b58205b72eec8231656506c56fd429d924ca00bb350"}, + {file = "rpds_py-0.24.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a36b452abbf29f68527cf52e181fced56685731c86b52e852053e38d8b60bc8d"}, + {file = "rpds_py-0.24.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8b3b397eefecec8e8e39fa65c630ef70a24b09141a6f9fc17b3c3a50bed6b50e"}, + {file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdabcd3beb2a6dca7027007473d8ef1c3b053347c76f685f5f060a00327b8b65"}, + {file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5db385bacd0c43f24be92b60c857cf760b7f10d8234f4bd4be67b5b20a7c0b6b"}, + {file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8097b3422d020ff1c44effc40ae58e67d93e60d540a65649d2cdaf9466030791"}, + {file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:493fe54318bed7d124ce272fc36adbf59d46729659b2c792e87c3b95649cdee9"}, + {file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8aa362811ccdc1f8dadcc916c6d47e554169ab79559319ae9fae7d7752d0d60c"}, + {file = "rpds_py-0.24.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d8f9a6e7fd5434817526815f09ea27f2746c4a51ee11bb3439065f5fc754db58"}, + {file = "rpds_py-0.24.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8205ee14463248d3349131bb8099efe15cd3ce83b8ef3ace63c7e976998e7124"}, + {file = "rpds_py-0.24.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:921ae54f9ecba3b6325df425cf72c074cd469dea843fb5743a26ca7fb2ccb149"}, + {file = "rpds_py-0.24.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:32bab0a56eac685828e00cc2f5d1200c548f8bc11f2e44abf311d6b548ce2e45"}, + {file = "rpds_py-0.24.0-cp39-cp39-win32.whl", hash = "sha256:f5c0ed12926dec1dfe7d645333ea59cf93f4d07750986a586f511c0bc61fe103"}, + {file = "rpds_py-0.24.0-cp39-cp39-win_amd64.whl", hash = "sha256:afc6e35f344490faa8276b5f2f7cbf71f88bc2cda4328e00553bd451728c571f"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:619ca56a5468f933d940e1bf431c6f4e13bef8e688698b067ae68eb4f9b30e3a"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:4b28e5122829181de1898c2c97f81c0b3246d49f585f22743a1246420bb8d399"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e5ab32cf9eb3647450bc74eb201b27c185d3857276162c101c0f8c6374e098"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:208b3a70a98cf3710e97cabdc308a51cd4f28aa6e7bb11de3d56cd8b74bab98d"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbc4362e06f950c62cad3d4abf1191021b2ffaf0b31ac230fbf0526453eee75e"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ebea2821cdb5f9fef44933617be76185b80150632736f3d76e54829ab4a3b4d1"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9a4df06c35465ef4d81799999bba810c68d29972bf1c31db61bfdb81dd9d5bb"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d3aa13bdf38630da298f2e0d77aca967b200b8cc1473ea05248f6c5e9c9bdb44"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:041f00419e1da7a03c46042453598479f45be3d787eb837af382bfc169c0db33"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:d8754d872a5dfc3c5bf9c0e059e8107451364a30d9fd50f1f1a85c4fb9481164"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:896c41007931217a343eff197c34513c154267636c8056fb409eafd494c3dcdc"}, + {file = "rpds_py-0.24.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:92558d37d872e808944c3c96d0423b8604879a3d1c86fdad508d7ed91ea547d5"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f9e0057a509e096e47c87f753136c9b10d7a91842d8042c2ee6866899a717c0d"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d6e109a454412ab82979c5b1b3aee0604eca4bbf9a02693bb9df027af2bfa91a"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc1c892b1ec1f8cbd5da8de287577b455e388d9c328ad592eabbdcb6fc93bee5"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9c39438c55983d48f4bb3487734d040e22dad200dab22c41e331cee145e7a50d"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d7e8ce990ae17dda686f7e82fd41a055c668e13ddcf058e7fb5e9da20b57793"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9ea7f4174d2e4194289cb0c4e172d83e79a6404297ff95f2875cf9ac9bced8ba"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb2954155bb8f63bb19d56d80e5e5320b61d71084617ed89efedb861a684baea"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04f2b712a2206e13800a8136b07aaedc23af3facab84918e7aa89e4be0260032"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:eda5c1e2a715a4cbbca2d6d304988460942551e4e5e3b7457b50943cd741626d"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:9abc80fe8c1f87218db116016de575a7998ab1629078c90840e8d11ab423ee25"}, + {file = "rpds_py-0.24.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:6a727fd083009bc83eb83d6950f0c32b3c94c8b80a9b667c87f4bd1274ca30ba"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e0f3ef95795efcd3b2ec3fe0a5bcfb5dadf5e3996ea2117427e524d4fbf309c6"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:2c13777ecdbbba2077670285dd1fe50828c8742f6a4119dbef6f83ea13ad10fb"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79e8d804c2ccd618417e96720ad5cd076a86fa3f8cb310ea386a3e6229bae7d1"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fd822f019ccccd75c832deb7aa040bb02d70a92eb15a2f16c7987b7ad4ee8d83"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0047638c3aa0dbcd0ab99ed1e549bbf0e142c9ecc173b6492868432d8989a046"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a5b66d1b201cc71bc3081bc2f1fc36b0c1f268b773e03bbc39066651b9e18391"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbcbb6db5582ea33ce46a5d20a5793134b5365110d84df4e30b9d37c6fd40ad3"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:63981feca3f110ed132fd217bf7768ee8ed738a55549883628ee3da75bb9cb78"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:3a55fc10fdcbf1a4bd3c018eea422c52cf08700cf99c28b5cb10fe97ab77a0d3"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:c30ff468163a48535ee7e9bf21bd14c7a81147c0e58a36c1078289a8ca7af0bd"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:369d9c6d4c714e36d4a03957b4783217a3ccd1e222cdd67d464a3a479fc17796"}, + {file = "rpds_py-0.24.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:24795c099453e3721fda5d8ddd45f5dfcc8e5a547ce7b8e9da06fecc3832e26f"}, + {file = "rpds_py-0.24.0.tar.gz", hash = "sha256:772cc1b2cd963e7e17e6cc55fe0371fb9c704d63e44cacec7b9b7f523b78919e"}, ] [[package]] name = "rsa" -version = "4.9" +version = "4.9.1" description = "Pure-Python RSA implementation" optional = false -python-versions = ">=3.6,<4" +python-versions = "<4,>=3.6" groups = ["main"] files = [ - {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, - {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, + {file = "rsa-4.9.1-py3-none-any.whl", hash = "sha256:68635866661c6836b8d39430f97a996acbd61bfa49406748ea243539fe239762"}, + {file = "rsa-4.9.1.tar.gz", hash = "sha256:e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75"}, ] [package.dependencies] @@ -4521,7 +4589,6 @@ files = [ {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f66efbc1caa63c088dead1c4170d148eabc9b80d95fb75b6c92ac0aad2437d76"}, {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:22353049ba4181685023b25b5b51a574bce33e7f51c759371a7422dcae5402a6"}, {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:932205970b9f9991b34f55136be327501903f7c66830e9760a8ffb15b07f05cd"}, - {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a52d48f4e7bf9005e8f0a89209bf9a73f7190ddf0489eee5eb51377385f59f2a"}, {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-win32.whl", hash = "sha256:3eac5a91891ceb88138c113f9db04f3cebdae277f5d44eaa3651a4f573e6a5da"}, {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-win_amd64.whl", hash = "sha256:ab007f2f5a87bd08ab1499bdf96f3d5c6ad4dcfa364884cb4549aa0154b13a28"}, {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:4a6679521a58256a90b0d89e03992c15144c5f3858f40d7c18886023d7943db6"}, @@ -4530,7 +4597,6 @@ files = [ {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:811ea1594b8a0fb466172c384267a4e5e367298af6b228931f273b111f17ef52"}, {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cf12567a7b565cbf65d438dec6cfbe2917d3c1bdddfce84a9930b7d35ea59642"}, {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7dd5adc8b930b12c8fc5b99e2d535a09889941aa0d0bd06f4749e9a9397c71d2"}, - {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1492a6051dab8d912fc2adeef0e8c72216b24d57bd896ea607cb90bb0c4981d3"}, {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-win32.whl", hash = "sha256:bd0a08f0bab19093c54e18a14a10b4322e1eacc5217056f3c063bd2f59853ce4"}, {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-win_amd64.whl", hash = "sha256:a274fb2cb086c7a3dea4322ec27f4cb5cc4b6298adb583ab0e211a4682f241eb"}, {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:20b0f8dc160ba83b6dcc0e256846e1a02d044e13f7ea74a3d1d56ede4e48c632"}, @@ -4539,7 +4605,6 @@ files = [ {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:749c16fcc4a2b09f28843cda5a193e0283e47454b63ec4b81eaa2242f50e4ccd"}, {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bf165fef1f223beae7333275156ab2022cffe255dcc51c27f066b4370da81e31"}, {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:32621c177bbf782ca5a18ba4d7af0f1082a3f6e517ac2a18b3974d4edf349680"}, - {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b82a7c94a498853aa0b272fd5bc67f29008da798d4f93a2f9f289feb8426a58d"}, {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-win32.whl", hash = "sha256:e8c4ebfcfd57177b572e2040777b8abc537cdef58a2120e830124946aa9b42c5"}, {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-win_amd64.whl", hash = "sha256:0467c5965282c62203273b838ae77c0d29d7638c8a4e3a1c8bdd3602c10904e4"}, {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:4c8c5d82f50bb53986a5e02d1b3092b03622c02c2eb78e29bec33fd9593bae1a"}, @@ -4548,7 +4613,6 @@ files = [ {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96777d473c05ee3e5e3c3e999f5d23c6f4ec5b0c38c098b3a5229085f74236c6"}, {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:3bc2a80e6420ca8b7d3590791e2dfc709c88ab9152c00eeb511c9875ce5778bf"}, {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e188d2699864c11c36cdfdada94d781fd5d6b0071cd9c427bceb08ad3d7c70e1"}, - {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4f6f3eac23941b32afccc23081e1f50612bdbe4e982012ef4f5797986828cd01"}, {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-win32.whl", hash = "sha256:6442cb36270b3afb1b4951f060eccca1ce49f3d087ca1ca4563a6eb479cb3de6"}, {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-win_amd64.whl", hash = "sha256:e5b8daf27af0b90da7bb903a876477a9e6d7270be6146906b276605997c7e9a3"}, {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:fc4b630cd3fa2cf7fce38afa91d7cfe844a9f75d7f0f36393fa98815e911d987"}, @@ -4557,7 +4621,6 @@ files = [ {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2f1c3765db32be59d18ab3953f43ab62a761327aafc1594a2a1fbe038b8b8a7"}, {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:d85252669dc32f98ebcd5d36768f5d4faeaeaa2d655ac0473be490ecdae3c285"}, {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e143ada795c341b56de9418c58d028989093ee611aa27ffb9b7f609c00d813ed"}, - {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2c59aa6170b990d8d2719323e628aaf36f3bfbc1c26279c0eeeb24d05d2d11c7"}, {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-win32.whl", hash = "sha256:beffaed67936fbbeffd10966a4eb53c402fafd3d6833770516bf7314bc6ffa12"}, {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-win_amd64.whl", hash = "sha256:040ae85536960525ea62868b642bdb0c2cc6021c9f9d507810c0c604e66f5a7b"}, {file = "ruamel.yaml.clib-0.2.12.tar.gz", hash = "sha256:6c8fbb13ec503f99a91901ab46e0b07ae7941cd527393187039aec586fdfd36f"}, @@ -4650,19 +4713,19 @@ files = [ [[package]] name = "setuptools" -version = "75.8.0" +version = "79.0.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.9" groups = ["main", "dev"] files = [ - {file = "setuptools-75.8.0-py3-none-any.whl", hash = "sha256:e3982f444617239225d675215d51f6ba05f845d4eec313da4418fdbb56fb27e3"}, - {file = "setuptools-75.8.0.tar.gz", hash = "sha256:c5afc8f407c626b8313a86e10311dd3f661c6cd9c09d4bf8c15c0e11f9f2b0e6"}, + {file = "setuptools-79.0.0-py3-none-any.whl", hash = "sha256:b9ab3a104bedb292323f53797b00864e10e434a3ab3906813a7169e4745b912a"}, + {file = "setuptools-79.0.0.tar.gz", hash = "sha256:9828422e7541213b0aacb6e10bbf9dd8febeaa45a48570e09b6d100e063fc9f9"}, ] [package.extras] check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\"", "ruff (>=0.8.0) ; sys_platform != \"cygwin\""] -core = ["importlib_metadata (>=6) ; python_version < \"3.10\"", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1) ; python_version < \"3.11\"", "wheel (>=0.43.0)"] +core = ["importlib_metadata (>=6) ; python_version < \"3.10\"", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1) ; python_version < \"3.11\"", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] @@ -4753,26 +4816,26 @@ files = [ [[package]] name = "std-uritemplate" -version = "2.0.1" +version = "2.0.3" description = "std-uritemplate implementation for Python" optional = false python-versions = "<4.0,>=3.8" groups = ["main"] files = [ - {file = "std_uritemplate-2.0.1-py3-none-any.whl", hash = "sha256:6405d13f9ff3b8f70e1fa4eaefa373049659e1a61870c4b651441821a3fc984d"}, - {file = "std_uritemplate-2.0.1.tar.gz", hash = "sha256:f4684ae050167e237ed5819423139893e0b5b7f08dc6b7467bba3fdd64608be8"}, + {file = "std_uritemplate-2.0.3-py3-none-any.whl", hash = "sha256:434df26453bf68c6077879fed6609b2c39e2fc73080e74cd157269d5f8abdb3e"}, + {file = "std_uritemplate-2.0.3.tar.gz", hash = "sha256:ad4cb1d671bcf4a3608b3598c687be4b0929867c53a2d69c105989da6a5a2d4c"}, ] [[package]] name = "stevedore" -version = "5.4.0" +version = "5.4.1" description = "Manage dynamic plugins for Python applications" optional = false python-versions = ">=3.9" groups = ["dev"] files = [ - {file = "stevedore-5.4.0-py3-none-any.whl", hash = "sha256:b0be3c4748b3ea7b854b265dcb4caa891015e442416422be16f8b31756107857"}, - {file = "stevedore-5.4.0.tar.gz", hash = "sha256:79e92235ecb828fe952b6b8b0c6c87863248631922c8e8e0fa5b17b232c4514d"}, + {file = "stevedore-5.4.1-py3-none-any.whl", hash = "sha256:d10a31c7b86cba16c1f6e8d15416955fc797052351a56af15e608ad20811fcfe"}, + {file = "stevedore-5.4.1.tar.gz", hash = "sha256:3135b5ae50fe12816ef291baff420acb727fcd356106e3e9cbfa9e5985cd6f4b"}, ] [package.dependencies] @@ -4811,32 +4874,16 @@ files = [ [package.extras] widechars = ["wcwidth"] -[[package]] -name = "tenacity" -version = "9.0.0" -description = "Retry code until it succeeds" -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "tenacity-9.0.0-py3-none-any.whl", hash = "sha256:93de0c98785b27fcf659856aa9f54bfbd399e29969b0621bc7f762bd441b4539"}, - {file = "tenacity-9.0.0.tar.gz", hash = "sha256:807f37ca97d62aa361264d497b0e31e92b8027044942bfa756160d908320d73b"}, -] - -[package.extras] -doc = ["reno", "sphinx"] -test = ["pytest", "tornado (>=4.5)", "typeguard"] - [[package]] name = "tldextract" -version = "5.1.3" +version = "5.3.0" description = "Accurately separates a URL's subdomain, domain, and public suffix, using the Public Suffix List (PSL). By default, this includes the public ICANN TLDs and their exceptions. You can optionally support the Public Suffix List's private domains as well." optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "tldextract-5.1.3-py3-none-any.whl", hash = "sha256:78de310cc2ca018692de5ddf320f9d6bd7c5cf857d0fd4f2175f0cdf4440ea75"}, - {file = "tldextract-5.1.3.tar.gz", hash = "sha256:d43c7284c23f5dc8a42fd0fee2abede2ff74cc622674e4cb07f514ab3330c338"}, + {file = "tldextract-5.3.0-py3-none-any.whl", hash = "sha256:f70f31d10b55c83993f55e91ecb7c5d84532a8972f22ec578ecfbe5ea2292db2"}, + {file = "tldextract-5.3.0.tar.gz", hash = "sha256:b3d2b70a1594a0ecfa6967d57251527d58e00bb5a91a74387baa0d87a0678609"}, ] [package.dependencies] @@ -4906,14 +4953,14 @@ files = [ [[package]] name = "typer" -version = "0.15.1" +version = "0.15.2" description = "Typer, build great CLIs. Easy to code. Based on Python type hints." optional = false python-versions = ">=3.7" groups = ["dev"] files = [ - {file = "typer-0.15.1-py3-none-any.whl", hash = "sha256:7994fb7b8155b64d3402518560648446072864beefd44aa2dc36972a5972e847"}, - {file = "typer-0.15.1.tar.gz", hash = "sha256:a0588c0a7fa68a1978a069818657778f86abe6ff5ea6abf472f940a08bfe4f0a"}, + {file = "typer-0.15.2-py3-none-any.whl", hash = "sha256:46a499c6107d645a9c13f7ee46c5d5096cae6f5fc57dd11eccbbb9ae3e44ddfc"}, + {file = "typer-0.15.2.tar.gz", hash = "sha256:ab2fab47533a813c49fe1f16b1a370fd5819099c00b119e0633df65f22144ba5"}, ] [package.dependencies] @@ -4924,26 +4971,26 @@ typing-extensions = ">=3.7.4.3" [[package]] name = "typing-extensions" -version = "4.12.2" +version = "4.13.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" groups = ["main", "dev"] files = [ - {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, - {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, + {file = "typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c"}, + {file = "typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef"}, ] [[package]] name = "tzdata" -version = "2024.2" +version = "2025.2" description = "Provider of IANA time zone data" optional = false python-versions = ">=2" groups = ["main"] files = [ - {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, - {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, + {file = "tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8"}, + {file = "tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9"}, ] [[package]] @@ -4996,15 +5043,15 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [[package]] name = "urllib3" -version = "2.3.0" +version = "2.4.0" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.9" groups = ["main", "dev", "docs"] markers = "python_version >= \"3.10\"" files = [ - {file = "urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df"}, - {file = "urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"}, + {file = "urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813"}, + {file = "urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466"}, ] [package.extras] @@ -5197,14 +5244,14 @@ files = [ [[package]] name = "xlsxwriter" -version = "3.2.0" +version = "3.2.3" description = "A Python module for creating Excel XLSX files." optional = false python-versions = ">=3.6" groups = ["main"] files = [ - {file = "XlsxWriter-3.2.0-py3-none-any.whl", hash = "sha256:ecfd5405b3e0e228219bcaf24c2ca0915e012ca9464a14048021d21a995d490e"}, - {file = "XlsxWriter-3.2.0.tar.gz", hash = "sha256:9977d0c661a72866a61f9f7a809e25ebbb0fb7036baa3b9fe74afcfca6b3cb8c"}, + {file = "XlsxWriter-3.2.3-py3-none-any.whl", hash = "sha256:593f8296e8a91790c6d0378ab08b064f34a642b3feb787cf6738236bd0a4860d"}, + {file = "xlsxwriter-3.2.3.tar.gz", hash = "sha256:ad6fd41bdcf1b885876b1f6b7087560aecc9ae5a9cc2ba97dcac7ab2e210d3d5"}, ] [[package]] @@ -5221,100 +5268,122 @@ files = [ [[package]] name = "yarl" -version = "1.18.3" +version = "1.20.0" description = "Yet another URL library" optional = false python-versions = ">=3.9" groups = ["main"] files = [ - {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7df647e8edd71f000a5208fe6ff8c382a1de8edfbccdbbfe649d263de07d8c34"}, - {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c69697d3adff5aa4f874b19c0e4ed65180ceed6318ec856ebc423aa5850d84f7"}, - {file = "yarl-1.18.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:602d98f2c2d929f8e697ed274fbadc09902c4025c5a9963bf4e9edfc3ab6f7ed"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c654d5207c78e0bd6d749f6dae1dcbbfde3403ad3a4b11f3c5544d9906969dde"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5094d9206c64181d0f6e76ebd8fb2f8fe274950a63890ee9e0ebfd58bf9d787b"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35098b24e0327fc4ebdc8ffe336cee0a87a700c24ffed13161af80124b7dc8e5"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3236da9272872443f81fedc389bace88408f64f89f75d1bdb2256069a8730ccc"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2c08cc9b16f4f4bc522771d96734c7901e7ebef70c6c5c35dd0f10845270bcd"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80316a8bd5109320d38eef8833ccf5f89608c9107d02d2a7f985f98ed6876990"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c1e1cc06da1491e6734f0ea1e6294ce00792193c463350626571c287c9a704db"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fea09ca13323376a2fdfb353a5fa2e59f90cd18d7ca4eaa1fd31f0a8b4f91e62"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e3b9fd71836999aad54084906f8663dffcd2a7fb5cdafd6c37713b2e72be1760"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:757e81cae69244257d125ff31663249b3013b5dc0a8520d73694aed497fb195b"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b1771de9944d875f1b98a745bc547e684b863abf8f8287da8466cf470ef52690"}, - {file = "yarl-1.18.3-cp310-cp310-win32.whl", hash = "sha256:8874027a53e3aea659a6d62751800cf6e63314c160fd607489ba5c2edd753cf6"}, - {file = "yarl-1.18.3-cp310-cp310-win_amd64.whl", hash = "sha256:93b2e109287f93db79210f86deb6b9bbb81ac32fc97236b16f7433db7fc437d8"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8503ad47387b8ebd39cbbbdf0bf113e17330ffd339ba1144074da24c545f0069"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02ddb6756f8f4517a2d5e99d8b2f272488e18dd0bfbc802f31c16c6c20f22193"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:67a283dd2882ac98cc6318384f565bffc751ab564605959df4752d42483ad889"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d980e0325b6eddc81331d3f4551e2a333999fb176fd153e075c6d1c2530aa8a8"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b643562c12680b01e17239be267bc306bbc6aac1f34f6444d1bded0c5ce438ca"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c017a3b6df3a1bd45b9fa49a0f54005e53fbcad16633870104b66fa1a30a29d8"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75674776d96d7b851b6498f17824ba17849d790a44d282929c42dbb77d4f17ae"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccaa3a4b521b780a7e771cc336a2dba389a0861592bbce09a476190bb0c8b4b3"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2d06d3005e668744e11ed80812e61efd77d70bb7f03e33c1598c301eea20efbb"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:9d41beda9dc97ca9ab0b9888cb71f7539124bc05df02c0cff6e5acc5a19dcc6e"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ba23302c0c61a9999784e73809427c9dbedd79f66a13d84ad1b1943802eaaf59"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6748dbf9bfa5ba1afcc7556b71cda0d7ce5f24768043a02a58846e4a443d808d"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0b0cad37311123211dc91eadcb322ef4d4a66008d3e1bdc404808992260e1a0e"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fb2171a4486bb075316ee754c6d8382ea6eb8b399d4ec62fde2b591f879778a"}, - {file = "yarl-1.18.3-cp311-cp311-win32.whl", hash = "sha256:61b1a825a13bef4a5f10b1885245377d3cd0bf87cba068e1d9a88c2ae36880e1"}, - {file = "yarl-1.18.3-cp311-cp311-win_amd64.whl", hash = "sha256:b9d60031cf568c627d028239693fd718025719c02c9f55df0a53e587aab951b5"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1dd4bdd05407ced96fed3d7f25dbbf88d2ffb045a0db60dbc247f5b3c5c25d50"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7c33dd1931a95e5d9a772d0ac5e44cac8957eaf58e3c8da8c1414de7dd27c576"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b411eddcfd56a2f0cd6a384e9f4f7aa3efee14b188de13048c25b5e91f1640"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:436c4fc0a4d66b2badc6c5fc5ef4e47bb10e4fd9bf0c79524ac719a01f3607c2"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e35ef8683211db69ffe129a25d5634319a677570ab6b2eba4afa860f54eeaf75"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84b2deecba4a3f1a398df819151eb72d29bfeb3b69abb145a00ddc8d30094512"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e5a1fea0fd4f5bfa7440a47eff01d9822a65b4488f7cff83155a0f31a2ecba"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0e883008013c0e4aef84dcfe2a0b172c4d23c2669412cf5b3371003941f72bb"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a3f356548e34a70b0172d8890006c37be92995f62d95a07b4a42e90fba54272"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ccd17349166b1bee6e529b4add61727d3f55edb7babbe4069b5764c9587a8cc6"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b958ddd075ddba5b09bb0be8a6d9906d2ce933aee81100db289badbeb966f54e"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c7d79f7d9aabd6011004e33b22bc13056a3e3fb54794d138af57f5ee9d9032cb"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4891ed92157e5430874dad17b15eb1fda57627710756c27422200c52d8a4e393"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ce1af883b94304f493698b00d0f006d56aea98aeb49d75ec7d98cd4a777e9285"}, - {file = "yarl-1.18.3-cp312-cp312-win32.whl", hash = "sha256:f91c4803173928a25e1a55b943c81f55b8872f0018be83e3ad4938adffb77dd2"}, - {file = "yarl-1.18.3-cp312-cp312-win_amd64.whl", hash = "sha256:7e2ee16578af3b52ac2f334c3b1f92262f47e02cc6193c598502bd46f5cd1477"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:90adb47ad432332d4f0bc28f83a5963f426ce9a1a8809f5e584e704b82685dcb"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:913829534200eb0f789d45349e55203a091f45c37a2674678744ae52fae23efa"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ef9f7768395923c3039055c14334ba4d926f3baf7b776c923c93d80195624782"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a19f62ff30117e706ebc9090b8ecc79aeb77d0b1f5ec10d2d27a12bc9f66d0"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e17c9361d46a4d5addf777c6dd5eab0715a7684c2f11b88c67ac37edfba6c482"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a74a13a4c857a84a845505fd2d68e54826a2cd01935a96efb1e9d86c728e186"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41f7ce59d6ee7741af71d82020346af364949314ed3d87553763a2df1829cc58"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f52a265001d830bc425f82ca9eabda94a64a4d753b07d623a9f2863fde532b53"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:82123d0c954dc58db301f5021a01854a85bf1f3bb7d12ae0c01afc414a882ca2"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2ec9bbba33b2d00999af4631a3397d1fd78290c48e2a3e52d8dd72db3a067ac8"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:fbd6748e8ab9b41171bb95c6142faf068f5ef1511935a0aa07025438dd9a9bc1"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:877d209b6aebeb5b16c42cbb377f5f94d9e556626b1bfff66d7b0d115be88d0a"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b464c4ab4bfcb41e3bfd3f1c26600d038376c2de3297760dfe064d2cb7ea8e10"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8d39d351e7faf01483cc7ff7c0213c412e38e5a340238826be7e0e4da450fdc8"}, - {file = "yarl-1.18.3-cp313-cp313-win32.whl", hash = "sha256:61ee62ead9b68b9123ec24bc866cbef297dd266175d53296e2db5e7f797f902d"}, - {file = "yarl-1.18.3-cp313-cp313-win_amd64.whl", hash = "sha256:578e281c393af575879990861823ef19d66e2b1d0098414855dd367e234f5b3c"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:61e5e68cb65ac8f547f6b5ef933f510134a6bf31bb178be428994b0cb46c2a04"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe57328fbc1bfd0bd0514470ac692630f3901c0ee39052ae47acd1d90a436719"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a440a2a624683108a1b454705ecd7afc1c3438a08e890a1513d468671d90a04e"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09c7907c8548bcd6ab860e5f513e727c53b4a714f459b084f6580b49fa1b9cee"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4f6450109834af88cb4cc5ecddfc5380ebb9c228695afc11915a0bf82116789"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9ca04806f3be0ac6d558fffc2fdf8fcef767e0489d2684a21912cc4ed0cd1b8"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77a6e85b90a7641d2e07184df5557132a337f136250caafc9ccaa4a2a998ca2c"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6333c5a377c8e2f5fae35e7b8f145c617b02c939d04110c76f29ee3676b5f9a5"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0b3c92fa08759dbf12b3a59579a4096ba9af8dd344d9a813fc7f5070d86bbab1"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:4ac515b860c36becb81bb84b667466885096b5fc85596948548b667da3bf9f24"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:045b8482ce9483ada4f3f23b3774f4e1bf4f23a2d5c912ed5170f68efb053318"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a4bb030cf46a434ec0225bddbebd4b89e6471814ca851abb8696170adb163985"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:54d6921f07555713b9300bee9c50fb46e57e2e639027089b1d795ecd9f7fa910"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1d407181cfa6e70077df3377938c08012d18893f9f20e92f7d2f314a437c30b1"}, - {file = "yarl-1.18.3-cp39-cp39-win32.whl", hash = "sha256:ac36703a585e0929b032fbaab0707b75dc12703766d0b53486eabd5139ebadd5"}, - {file = "yarl-1.18.3-cp39-cp39-win_amd64.whl", hash = "sha256:ba87babd629f8af77f557b61e49e7c7cac36f22f871156b91e10a6e9d4f829e9"}, - {file = "yarl-1.18.3-py3-none-any.whl", hash = "sha256:b57f4f58099328dfb26c6a771d09fb20dbbae81d20cfb66141251ea063bd101b"}, - {file = "yarl-1.18.3.tar.gz", hash = "sha256:ac1801c45cbf77b6c99242eeff4fffb5e4e73a800b5c4ad4fc0be5def634d2e1"}, + {file = "yarl-1.20.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f1f6670b9ae3daedb325fa55fbe31c22c8228f6e0b513772c2e1c623caa6ab22"}, + {file = "yarl-1.20.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:85a231fa250dfa3308f3c7896cc007a47bc76e9e8e8595c20b7426cac4884c62"}, + {file = "yarl-1.20.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1a06701b647c9939d7019acdfa7ebbfbb78ba6aa05985bb195ad716ea759a569"}, + {file = "yarl-1.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7595498d085becc8fb9203aa314b136ab0516c7abd97e7d74f7bb4eb95042abe"}, + {file = "yarl-1.20.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:af5607159085dcdb055d5678fc2d34949bd75ae6ea6b4381e784bbab1c3aa195"}, + {file = "yarl-1.20.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:95b50910e496567434cb77a577493c26bce0f31c8a305135f3bda6a2483b8e10"}, + {file = "yarl-1.20.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b594113a301ad537766b4e16a5a6750fcbb1497dcc1bc8a4daae889e6402a634"}, + {file = "yarl-1.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:083ce0393ea173cd37834eb84df15b6853b555d20c52703e21fbababa8c129d2"}, + {file = "yarl-1.20.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f1a350a652bbbe12f666109fbddfdf049b3ff43696d18c9ab1531fbba1c977a"}, + {file = "yarl-1.20.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fb0caeac4a164aadce342f1597297ec0ce261ec4532bbc5a9ca8da5622f53867"}, + {file = "yarl-1.20.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:d88cc43e923f324203f6ec14434fa33b85c06d18d59c167a0637164863b8e995"}, + {file = "yarl-1.20.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e52d6ed9ea8fd3abf4031325dc714aed5afcbfa19ee4a89898d663c9976eb487"}, + {file = "yarl-1.20.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ce360ae48a5e9961d0c730cf891d40698a82804e85f6e74658fb175207a77cb2"}, + {file = "yarl-1.20.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:06d06c9d5b5bc3eb56542ceeba6658d31f54cf401e8468512447834856fb0e61"}, + {file = "yarl-1.20.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c27d98f4e5c4060582f44e58309c1e55134880558f1add7a87c1bc36ecfade19"}, + {file = "yarl-1.20.0-cp310-cp310-win32.whl", hash = "sha256:f4d3fa9b9f013f7050326e165c3279e22850d02ae544ace285674cb6174b5d6d"}, + {file = "yarl-1.20.0-cp310-cp310-win_amd64.whl", hash = "sha256:bc906b636239631d42eb8a07df8359905da02704a868983265603887ed68c076"}, + {file = "yarl-1.20.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fdb5204d17cb32b2de2d1e21c7461cabfacf17f3645e4b9039f210c5d3378bf3"}, + {file = "yarl-1.20.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:eaddd7804d8e77d67c28d154ae5fab203163bd0998769569861258e525039d2a"}, + {file = "yarl-1.20.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:634b7ba6b4a85cf67e9df7c13a7fb2e44fa37b5d34501038d174a63eaac25ee2"}, + {file = "yarl-1.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d409e321e4addf7d97ee84162538c7258e53792eb7c6defd0c33647d754172e"}, + {file = "yarl-1.20.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ea52f7328a36960ba3231c6677380fa67811b414798a6e071c7085c57b6d20a9"}, + {file = "yarl-1.20.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c8703517b924463994c344dcdf99a2d5ce9eca2b6882bb640aa555fb5efc706a"}, + {file = "yarl-1.20.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:077989b09ffd2f48fb2d8f6a86c5fef02f63ffe6b1dd4824c76de7bb01e4f2e2"}, + {file = "yarl-1.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0acfaf1da020253f3533526e8b7dd212838fdc4109959a2c53cafc6db611bff2"}, + {file = "yarl-1.20.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b4230ac0b97ec5eeb91d96b324d66060a43fd0d2a9b603e3327ed65f084e41f8"}, + {file = "yarl-1.20.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0a6a1e6ae21cdd84011c24c78d7a126425148b24d437b5702328e4ba640a8902"}, + {file = "yarl-1.20.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:86de313371ec04dd2531f30bc41a5a1a96f25a02823558ee0f2af0beaa7ca791"}, + {file = "yarl-1.20.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:dd59c9dd58ae16eaa0f48c3d0cbe6be8ab4dc7247c3ff7db678edecbaf59327f"}, + {file = "yarl-1.20.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a0bc5e05f457b7c1994cc29e83b58f540b76234ba6b9648a4971ddc7f6aa52da"}, + {file = "yarl-1.20.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c9471ca18e6aeb0e03276b5e9b27b14a54c052d370a9c0c04a68cefbd1455eb4"}, + {file = "yarl-1.20.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:40ed574b4df723583a26c04b298b283ff171bcc387bc34c2683235e2487a65a5"}, + {file = "yarl-1.20.0-cp311-cp311-win32.whl", hash = "sha256:db243357c6c2bf3cd7e17080034ade668d54ce304d820c2a58514a4e51d0cfd6"}, + {file = "yarl-1.20.0-cp311-cp311-win_amd64.whl", hash = "sha256:8c12cd754d9dbd14204c328915e23b0c361b88f3cffd124129955e60a4fbfcfb"}, + {file = "yarl-1.20.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e06b9f6cdd772f9b665e5ba8161968e11e403774114420737f7884b5bd7bdf6f"}, + {file = "yarl-1.20.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b9ae2fbe54d859b3ade40290f60fe40e7f969d83d482e84d2c31b9bff03e359e"}, + {file = "yarl-1.20.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6d12b8945250d80c67688602c891237994d203d42427cb14e36d1a732eda480e"}, + {file = "yarl-1.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:087e9731884621b162a3e06dc0d2d626e1542a617f65ba7cc7aeab279d55ad33"}, + {file = "yarl-1.20.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:69df35468b66c1a6e6556248e6443ef0ec5f11a7a4428cf1f6281f1879220f58"}, + {file = "yarl-1.20.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b2992fe29002fd0d4cbaea9428b09af9b8686a9024c840b8a2b8f4ea4abc16f"}, + {file = "yarl-1.20.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4c903e0b42aab48abfbac668b5a9d7b6938e721a6341751331bcd7553de2dcae"}, + {file = "yarl-1.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf099e2432131093cc611623e0b0bcc399b8cddd9a91eded8bfb50402ec35018"}, + {file = "yarl-1.20.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a7f62f5dc70a6c763bec9ebf922be52aa22863d9496a9a30124d65b489ea672"}, + {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:54ac15a8b60382b2bcefd9a289ee26dc0920cf59b05368c9b2b72450751c6eb8"}, + {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:25b3bc0763a7aca16a0f1b5e8ef0f23829df11fb539a1b70476dcab28bd83da7"}, + {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b2586e36dc070fc8fad6270f93242124df68b379c3a251af534030a4a33ef594"}, + {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:866349da9d8c5290cfefb7fcc47721e94de3f315433613e01b435473be63daa6"}, + {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:33bb660b390a0554d41f8ebec5cd4475502d84104b27e9b42f5321c5192bfcd1"}, + {file = "yarl-1.20.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:737e9f171e5a07031cbee5e9180f6ce21a6c599b9d4b2c24d35df20a52fabf4b"}, + {file = "yarl-1.20.0-cp312-cp312-win32.whl", hash = "sha256:839de4c574169b6598d47ad61534e6981979ca2c820ccb77bf70f4311dd2cc64"}, + {file = "yarl-1.20.0-cp312-cp312-win_amd64.whl", hash = "sha256:3d7dbbe44b443b0c4aa0971cb07dcb2c2060e4a9bf8d1301140a33a93c98e18c"}, + {file = "yarl-1.20.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2137810a20b933b1b1b7e5cf06a64c3ed3b4747b0e5d79c9447c00db0e2f752f"}, + {file = "yarl-1.20.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:447c5eadd750db8389804030d15f43d30435ed47af1313303ed82a62388176d3"}, + {file = "yarl-1.20.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:42fbe577272c203528d402eec8bf4b2d14fd49ecfec92272334270b850e9cd7d"}, + {file = "yarl-1.20.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18e321617de4ab170226cd15006a565d0fa0d908f11f724a2c9142d6b2812ab0"}, + {file = "yarl-1.20.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4345f58719825bba29895011e8e3b545e6e00257abb984f9f27fe923afca2501"}, + {file = "yarl-1.20.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d9b980d7234614bc4674468ab173ed77d678349c860c3af83b1fffb6a837ddc"}, + {file = "yarl-1.20.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af4baa8a445977831cbaa91a9a84cc09debb10bc8391f128da2f7bd070fc351d"}, + {file = "yarl-1.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:123393db7420e71d6ce40d24885a9e65eb1edefc7a5228db2d62bcab3386a5c0"}, + {file = "yarl-1.20.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ab47acc9332f3de1b39e9b702d9c916af7f02656b2a86a474d9db4e53ef8fd7a"}, + {file = "yarl-1.20.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4a34c52ed158f89876cba9c600b2c964dfc1ca52ba7b3ab6deb722d1d8be6df2"}, + {file = "yarl-1.20.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:04d8cfb12714158abf2618f792c77bc5c3d8c5f37353e79509608be4f18705c9"}, + {file = "yarl-1.20.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7dc63ad0d541c38b6ae2255aaa794434293964677d5c1ec5d0116b0e308031f5"}, + {file = "yarl-1.20.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d02b591a64e4e6ca18c5e3d925f11b559c763b950184a64cf47d74d7e41877"}, + {file = "yarl-1.20.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:95fc9876f917cac7f757df80a5dda9de59d423568460fe75d128c813b9af558e"}, + {file = "yarl-1.20.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bb769ae5760cd1c6a712135ee7915f9d43f11d9ef769cb3f75a23e398a92d384"}, + {file = "yarl-1.20.0-cp313-cp313-win32.whl", hash = "sha256:70e0c580a0292c7414a1cead1e076c9786f685c1fc4757573d2967689b370e62"}, + {file = "yarl-1.20.0-cp313-cp313-win_amd64.whl", hash = "sha256:4c43030e4b0af775a85be1fa0433119b1565673266a70bf87ef68a9d5ba3174c"}, + {file = "yarl-1.20.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b6c4c3d0d6a0ae9b281e492b1465c72de433b782e6b5001c8e7249e085b69051"}, + {file = "yarl-1.20.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8681700f4e4df891eafa4f69a439a6e7d480d64e52bf460918f58e443bd3da7d"}, + {file = "yarl-1.20.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:84aeb556cb06c00652dbf87c17838eb6d92cfd317799a8092cee0e570ee11229"}, + {file = "yarl-1.20.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f166eafa78810ddb383e930d62e623d288fb04ec566d1b4790099ae0f31485f1"}, + {file = "yarl-1.20.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5d3d6d14754aefc7a458261027a562f024d4f6b8a798adb472277f675857b1eb"}, + {file = "yarl-1.20.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a8f64df8ed5d04c51260dbae3cc82e5649834eebea9eadfd829837b8093eb00"}, + {file = "yarl-1.20.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4d9949eaf05b4d30e93e4034a7790634bbb41b8be2d07edd26754f2e38e491de"}, + {file = "yarl-1.20.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c366b254082d21cc4f08f522ac201d0d83a8b8447ab562732931d31d80eb2a5"}, + {file = "yarl-1.20.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:91bc450c80a2e9685b10e34e41aef3d44ddf99b3a498717938926d05ca493f6a"}, + {file = "yarl-1.20.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9c2aa4387de4bc3a5fe158080757748d16567119bef215bec643716b4fbf53f9"}, + {file = "yarl-1.20.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:d2cbca6760a541189cf87ee54ff891e1d9ea6406079c66341008f7ef6ab61145"}, + {file = "yarl-1.20.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:798a5074e656f06b9fad1a162be5a32da45237ce19d07884d0b67a0aa9d5fdda"}, + {file = "yarl-1.20.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:f106e75c454288472dbe615accef8248c686958c2e7dd3b8d8ee2669770d020f"}, + {file = "yarl-1.20.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:3b60a86551669c23dc5445010534d2c5d8a4e012163218fc9114e857c0586fdd"}, + {file = "yarl-1.20.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3e429857e341d5e8e15806118e0294f8073ba9c4580637e59ab7b238afca836f"}, + {file = "yarl-1.20.0-cp313-cp313t-win32.whl", hash = "sha256:65a4053580fe88a63e8e4056b427224cd01edfb5f951498bfefca4052f0ce0ac"}, + {file = "yarl-1.20.0-cp313-cp313t-win_amd64.whl", hash = "sha256:53b2da3a6ca0a541c1ae799c349788d480e5144cac47dba0266c7cb6c76151fe"}, + {file = "yarl-1.20.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:119bca25e63a7725b0c9d20ac67ca6d98fa40e5a894bd5d4686010ff73397914"}, + {file = "yarl-1.20.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:35d20fb919546995f1d8c9e41f485febd266f60e55383090010f272aca93edcc"}, + {file = "yarl-1.20.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:484e7a08f72683c0f160270566b4395ea5412b4359772b98659921411d32ad26"}, + {file = "yarl-1.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d8a3d54a090e0fff5837cd3cc305dd8a07d3435a088ddb1f65e33b322f66a94"}, + {file = "yarl-1.20.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:f0cf05ae2d3d87a8c9022f3885ac6dea2b751aefd66a4f200e408a61ae9b7f0d"}, + {file = "yarl-1.20.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a884b8974729e3899d9287df46f015ce53f7282d8d3340fa0ed57536b440621c"}, + {file = "yarl-1.20.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f8d8aa8dd89ffb9a831fedbcb27d00ffd9f4842107d52dc9d57e64cb34073d5c"}, + {file = "yarl-1.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b4e88d6c3c8672f45a30867817e4537df1bbc6f882a91581faf1f6d9f0f1b5a"}, + {file = "yarl-1.20.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bdb77efde644d6f1ad27be8a5d67c10b7f769804fff7a966ccb1da5a4de4b656"}, + {file = "yarl-1.20.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4ba5e59f14bfe8d261a654278a0f6364feef64a794bd456a8c9e823071e5061c"}, + {file = "yarl-1.20.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:d0bf955b96ea44ad914bc792c26a0edcd71b4668b93cbcd60f5b0aeaaed06c64"}, + {file = "yarl-1.20.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:27359776bc359ee6eaefe40cb19060238f31228799e43ebd3884e9c589e63b20"}, + {file = "yarl-1.20.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:04d9c7a1dc0a26efb33e1acb56c8849bd57a693b85f44774356c92d610369efa"}, + {file = "yarl-1.20.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:faa709b66ae0e24c8e5134033187a972d849d87ed0a12a0366bedcc6b5dc14a5"}, + {file = "yarl-1.20.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:44869ee8538208fe5d9342ed62c11cc6a7a1af1b3d0bb79bb795101b6e77f6e0"}, + {file = "yarl-1.20.0-cp39-cp39-win32.whl", hash = "sha256:b7fa0cb9fd27ffb1211cde944b41f5c67ab1c13a13ebafe470b1e206b8459da8"}, + {file = "yarl-1.20.0-cp39-cp39-win_amd64.whl", hash = "sha256:d4fad6e5189c847820288286732075f213eabf81be4d08d6cc309912e62be5b7"}, + {file = "yarl-1.20.0-py3-none-any.whl", hash = "sha256:5d0fe6af927a47a230f31e6004621fd0959eaa915fc62acfafa67ff7229a3124"}, + {file = "yarl-1.20.0.tar.gz", hash = "sha256:686d51e51ee5dfe62dec86e4866ee0e9ed66df700d55c828a615640adc885307"}, ] [package.dependencies] idna = ">=2.0" multidict = ">=4.0" -propcache = ">=0.2.0" +propcache = ">=0.2.1" [[package]] name = "zipp" @@ -5340,4 +5409,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.1" python-versions = ">3.9.1,<3.13" -content-hash = "be5328ab34647258a0ba8c9a7966b7abb38c842bd84238d242f05afec60cddbb" +content-hash = "cc15c8ee6b064b3fda85177c0f1c24a57880c401682fe62daefc2d0f4043150a" diff --git a/prowler/lib/powershell/powershell.py b/prowler/lib/powershell/powershell.py index 1e13a74306..f6e058afcd 100644 --- a/prowler/lib/powershell/powershell.py +++ b/prowler/lib/powershell/powershell.py @@ -191,9 +191,10 @@ class PowerShellSession: error_thread.daemon = True error_thread.start() + error_result = None try: result = result_queue.get(timeout=timeout) or default - error_result = error_queue.get(timeout=1) or None + error_result = error_queue.get(timeout=1) except queue.Empty: result = default diff --git a/prowler/providers/m365/m365_provider.py b/prowler/providers/m365/m365_provider.py index 81b359728c..a8e4ce4ec2 100644 --- a/prowler/providers/m365/m365_provider.py +++ b/prowler/providers/m365/m365_provider.py @@ -616,12 +616,12 @@ class M365Provider(Provider): browser_auth: bool = False, tenant_id: str = None, region: str = "M365Global", - raise_on_exception=True, - client_id=None, - client_secret=None, - user=None, - encrypted_password=None, - provider_id=None, + raise_on_exception: bool = True, + client_id: str = None, + client_secret: str = None, + user: str = None, + encrypted_password: str = None, + provider_id: str = None, ) -> Connection: """Test connection to M365 tenant and PowerShell modules. diff --git a/pyproject.toml b/pyproject.toml index b0f76fa808..ce1f648702 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -89,6 +89,7 @@ coverage = "7.6.12" docker = "7.1.0" flake8 = "7.1.2" freezegun = "1.5.1" +marshmallow = ">=3.15.0,<4.0.0" mock = "5.2.0" moto = {extras = ["all"], version = "5.0.28"} openapi-schema-validator = "0.6.3" From 25b1efe532aa1b3774dba62f1404399640897aaf Mon Sep 17 00:00:00 2001 From: Daniel Barranquero <74871504+danibarranqueroo@users.noreply.github.com> Date: Fri, 2 May 2025 08:46:14 +0200 Subject: [PATCH 13/31] feat(exchange): add new check `exchange_organization_mailtips_enabled` (#7637) Co-authored-by: Andoni A. <14891798+andoniaf@users.noreply.github.com> --- docs/tutorials/configuration_file.md | 5 + prowler/CHANGELOG.md | 1 + prowler/config/config.py | 2 +- prowler/config/config.yaml | 3 + .../__init__.py | 0 ...rganization_mailtips_enabled.metadata.json | 30 ++++ .../exchange_organization_mailtips_enabled.py | 54 +++++++ .../services/exchange/exchange_service.py | 16 +++ tests/config/fixtures/config.yaml | 13 ++ ...anization_mailbox_auditing_enabled_test.py | 16 ++- ...ange_organization_mailtips_enabled_test.py | 136 ++++++++++++++++++ .../exchange/exchange_service_test.py | 14 +- 12 files changed, 286 insertions(+), 4 deletions(-) create mode 100644 prowler/providers/m365/services/exchange/exchange_organization_mailtips_enabled/__init__.py create mode 100644 prowler/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled.metadata.json create mode 100644 prowler/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled.py create mode 100644 tests/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled_test.py diff --git a/docs/tutorials/configuration_file.md b/docs/tutorials/configuration_file.md index 9ee25ea7e7..78b9865183 100644 --- a/docs/tutorials/configuration_file.md +++ b/docs/tutorials/configuration_file.md @@ -106,6 +106,7 @@ The following list includes all the Microsoft 365 checks with configurable varia |---------------------------------------------------------------|--------------------------------------------------|-----------------| | `entra_admin_users_sign_in_frequency_enabled` | `sign_in_frequency` | Integer | | `teams_external_file_sharing_restricted` | `allowed_cloud_storage_services` | List of Strings | +| `exchange_organization_mailtips_enabled` | `recommended_mailtips_large_audience_threshold` | Integer | ## Config YAML File Structure @@ -520,5 +521,9 @@ m365: #"allow_google_drive", #"allow_share_file", ] + # Exchange Organization Settings + # m365.exchange_organization_mailtips_enabled + recommended_mailtips_large_audience_threshold: 25 # maximum number of recipients + ``` diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index 34601abebf..5ad2d47b7b 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -38,6 +38,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - Add Prowler Threat Score Compliance Framework [(#7603)](https://github.com/prowler-cloud/prowler/pull/7603) - Add new check `sharepoint_onedrive_sync_restricted_unmanaged_devices` [(#7589)](https://github.com/prowler-cloud/prowler/pull/7589) - Add new check for Additional Storage restricted for Exchange in M365 [(#7638)](https://github.com/prowler-cloud/prowler/pull/7638) +- Add new check for MailTips full enabled for Exchange in M365 [(#7637)](https://github.com/prowler-cloud/prowler/pull/7637) ### Fixed diff --git a/prowler/config/config.py b/prowler/config/config.py index 38d0134859..52bd2fd742 100644 --- a/prowler/config/config.py +++ b/prowler/config/config.py @@ -132,7 +132,7 @@ def load_and_validate_config_file(provider: str, config_file_path: str) -> dict: else: config = config_file if config_file else {} # Not to break Azure, K8s and GCP does not support or use the old config format - if provider in ["azure", "gcp", "kubernetes"]: + if provider in ["azure", "gcp", "kubernetes", "m365"]: config = {} return config diff --git a/prowler/config/config.yaml b/prowler/config/config.yaml index 26b196e178..0ee0ceee19 100644 --- a/prowler/config/config.yaml +++ b/prowler/config/config.yaml @@ -497,3 +497,6 @@ m365: #"allow_google_drive", #"allow_share_file", ] + # Exchange Organization Settings + # m365.exchange_organization_mailtips_enabled + recommended_mailtips_large_audience_threshold: 25 # maximum number of recipients diff --git a/prowler/providers/m365/services/exchange/exchange_organization_mailtips_enabled/__init__.py b/prowler/providers/m365/services/exchange/exchange_organization_mailtips_enabled/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/prowler/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled.metadata.json b/prowler/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled.metadata.json new file mode 100644 index 0000000000..bb727e4c3f --- /dev/null +++ b/prowler/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled.metadata.json @@ -0,0 +1,30 @@ +{ + "Provider": "m365", + "CheckID": "exchange_organization_mailtips_enabled", + "CheckTitle": "Ensure MailTips are enabled for end users.", + "CheckType": [], + "ServiceName": "exchange", + "SubServiceName": "", + "ResourceIdTemplate": "", + "Severity": "medium", + "ResourceType": "Exchange Organization Configuration", + "Description": "Ensure that MailTips are enabled in Exchange Online to provide users with informative messages while composing emails, helping to avoid issues such as sending to large groups or external recipients unintentionally.", + "Risk": "Without MailTips, users may inadvertently send sensitive information externally or generate non-delivery reports, leading to communication errors and potential data exposure.", + "RelatedUrl": "https://learn.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/mailtips/mailtips", + "Remediation": { + "Code": { + "CLI": "$TipsParams = @{ MailTipsAllTipsEnabled = $true; MailTipsExternalRecipientsTipsEnabled = $true; MailTipsGroupMetricsEnabled = $true; MailTipsLargeAudienceThreshold = '25' }; Set-OrganizationConfig @TipsParams", + "NativeIaC": "", + "Other": "", + "Terraform": "" + }, + "Recommendation": { + "Text": "Enable MailTips features in Exchange Online and configure the large audience threshold appropriately to assist users when composing emails.", + "Url": "https://learn.microsoft.com/en-us/powershell/module/exchange/set-organizationconfig?view=exchange-ps" + } + }, + "Categories": [], + "DependsOn": [], + "RelatedTo": [], + "Notes": "" +} diff --git a/prowler/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled.py b/prowler/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled.py new file mode 100644 index 0000000000..52aa8dc060 --- /dev/null +++ b/prowler/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled.py @@ -0,0 +1,54 @@ +from typing import List + +from prowler.lib.check.models import Check, CheckReportM365 +from prowler.providers.m365.services.exchange.exchange_client import exchange_client + + +class exchange_organization_mailtips_enabled(Check): + """ + Check if MailTips are enabled for Exchange Online. + + Attributes: + metadata: Metadata associated with the check (inherited from Check). + """ + + def execute(self) -> List[CheckReportM365]: + """ + Execute the check for MailTips in Exchange Online. + + This method checks if MailTips are enabled in the Exchange organization configuration. + + Returns: + List[CheckReportM365]: A list of reports containing the result of the check. + """ + findings = [] + organization_config = exchange_client.organization_config + if organization_config: + report = CheckReportM365( + metadata=self.metadata(), + resource=organization_config, + resource_name=organization_config.name, + resource_id=organization_config.guid, + ) + report.status = "FAIL" + report.status_extended = ( + "MailTips are not fully enabled for Exchange Online." + ) + + if ( + organization_config.mailtips_enabled + and organization_config.mailtips_external_recipient_enabled + and organization_config.mailtips_group_metrics_enabled + and organization_config.mailtips_large_audience_threshold + <= exchange_client.audit_config.get( + "recommended_mailtips_large_audience_threshold", 25 + ) + ): + report.status = "PASS" + report.status_extended = ( + "MailTips are fully enabled for Exchange Online." + ) + + findings.append(report) + + return findings diff --git a/prowler/providers/m365/services/exchange/exchange_service.py b/prowler/providers/m365/services/exchange/exchange_service.py index dbcc44499f..eb76c7bf9e 100644 --- a/prowler/providers/m365/services/exchange/exchange_service.py +++ b/prowler/providers/m365/services/exchange/exchange_service.py @@ -37,6 +37,18 @@ class Exchange(M365Service): audit_disabled=organization_configuration.get( "AuditDisabled", False ), + mailtips_enabled=organization_configuration.get( + "MailTipsAllTipsEnabled", True + ), + mailtips_external_recipient_enabled=organization_configuration.get( + "MailTipsExternalRecipientsTipsEnabled", False + ), + mailtips_group_metrics_enabled=organization_configuration.get( + "MailTipsGroupMetricsEnabled", True + ), + mailtips_large_audience_threshold=organization_configuration.get( + "MailTipsLargeAudienceThreshold", 25 + ), ) except Exception as error: logger.error( @@ -137,6 +149,10 @@ class Organization(BaseModel): name: str guid: str audit_disabled: bool + mailtips_enabled: bool + mailtips_external_recipient_enabled: bool + mailtips_group_metrics_enabled: bool + mailtips_large_audience_threshold: int class MailboxAuditConfig(BaseModel): diff --git a/tests/config/fixtures/config.yaml b/tests/config/fixtures/config.yaml index 4d528e97da..b15b6de402 100644 --- a/tests/config/fixtures/config.yaml +++ b/tests/config/fixtures/config.yaml @@ -435,3 +435,16 @@ m365: # Conditional Access Policy # policy.session_controls.sign_in_frequency.frequency in hours sign_in_frequency: 4 + # Teams Settings + # m365.teams_external_file_sharing_restricted + allowed_cloud_storage_services: + [ + #"allow_box", + #"allow_drop_box", + #"allow_egnyte", + #"allow_google_drive", + #"allow_share_file", + ] + # Exchange Organization Settings + # m365.exchange_organization_mailtips_enabled + recommended_mailtips_large_audience_threshold: 25 # maximum number of recipients diff --git a/tests/providers/m365/services/exchange/exchange_organization_mailbox_auditing_enabled/exchange_organization_mailbox_auditing_enabled_test.py b/tests/providers/m365/services/exchange/exchange_organization_mailbox_auditing_enabled/exchange_organization_mailbox_auditing_enabled_test.py index 104b050541..82860f3b7d 100644 --- a/tests/providers/m365/services/exchange/exchange_organization_mailbox_auditing_enabled/exchange_organization_mailbox_auditing_enabled_test.py +++ b/tests/providers/m365/services/exchange/exchange_organization_mailbox_auditing_enabled/exchange_organization_mailbox_auditing_enabled_test.py @@ -57,7 +57,13 @@ class Test_exchange_organization_mailbox_auditing_enabled: ) exchange_client.organization_config = Organization( - audit_disabled=True, name="test", guid="test" + audit_disabled=True, + name="test", + guid="test", + mailtips_enabled=True, + mailtips_external_recipient_enabled=True, + mailtips_group_metrics_enabled=True, + mailtips_large_audience_threshold=25, ) check = exchange_organization_mailbox_auditing_enabled() @@ -99,7 +105,13 @@ class Test_exchange_organization_mailbox_auditing_enabled: ) exchange_client.organization_config = Organization( - audit_disabled=False, name="test", guid="test" + audit_disabled=False, + name="test", + guid="test", + mailtips_enabled=True, + mailtips_external_recipient_enabled=True, + mailtips_group_metrics_enabled=True, + mailtips_large_audience_threshold=25, ) check = exchange_organization_mailbox_auditing_enabled() diff --git a/tests/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled_test.py b/tests/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled_test.py new file mode 100644 index 0000000000..cbcc6266c5 --- /dev/null +++ b/tests/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled_test.py @@ -0,0 +1,136 @@ +from unittest import mock + +from tests.providers.m365.m365_fixtures import DOMAIN, set_mocked_m365_provider + + +class Test_exchange_organization_mailtips_enabled: + def test_no_organization(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + exchange_client.organization_config = None + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_organization_mailtips_enabled.exchange_organization_mailtips_enabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_organization_mailtips_enabled.exchange_organization_mailtips_enabled import ( + exchange_organization_mailtips_enabled, + ) + + check = exchange_organization_mailtips_enabled() + result = check.execute() + assert result == [] + + def test_mailtips_not_fully_enabled(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_organization_mailtips_enabled.exchange_organization_mailtips_enabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_organization_mailtips_enabled.exchange_organization_mailtips_enabled import ( + exchange_organization_mailtips_enabled, + ) + from prowler.providers.m365.services.exchange.exchange_service import ( + Organization, + ) + + exchange_client.audit_config = { + "recommended_mailtips_large_audience_threshold": 25 + } + + exchange_client.organization_config = Organization( + name="test-org", + guid="org-guid", + audit_disabled=False, + mailtips_enabled=False, + mailtips_external_recipient_enabled=False, + mailtips_group_metrics_enabled=True, + mailtips_large_audience_threshold=25, + ) + + check = exchange_organization_mailtips_enabled() + result = check.execute() + assert len(result) == 1 + assert result[0].status == "FAIL" + assert ( + result[0].status_extended + == "MailTips are not fully enabled for Exchange Online." + ) + assert result[0].resource_name == "test-org" + assert result[0].resource_id == "org-guid" + assert result[0].location == "global" + assert result[0].resource == exchange_client.organization_config.dict() + + def test_mailtips_fully_enabled(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_organization_mailtips_enabled.exchange_organization_mailtips_enabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_organization_mailtips_enabled.exchange_organization_mailtips_enabled import ( + exchange_organization_mailtips_enabled, + ) + from prowler.providers.m365.services.exchange.exchange_service import ( + Organization, + ) + + exchange_client.audit_config = { + "recommended_mailtips_large_audience_threshold": 25 + } + + exchange_client.organization_config = Organization( + name="test-org", + guid="org-guid", + audit_disabled=False, + mailtips_enabled=True, + mailtips_external_recipient_enabled=True, + mailtips_group_metrics_enabled=True, + mailtips_large_audience_threshold=25, + ) + + check = exchange_organization_mailtips_enabled() + result = check.execute() + assert len(result) == 1 + assert result[0].status == "PASS" + assert ( + result[0].status_extended + == "MailTips are fully enabled for Exchange Online." + ) + assert result[0].resource_name == "test-org" + assert result[0].resource_id == "org-guid" + assert result[0].location == "global" + assert result[0].resource == exchange_client.organization_config.dict() diff --git a/tests/providers/m365/services/exchange/exchange_service_test.py b/tests/providers/m365/services/exchange/exchange_service_test.py index 42cc16a507..0a30e0c7f7 100644 --- a/tests/providers/m365/services/exchange/exchange_service_test.py +++ b/tests/providers/m365/services/exchange/exchange_service_test.py @@ -14,7 +14,15 @@ from tests.providers.m365.m365_fixtures import DOMAIN, set_mocked_m365_provider def mock_exchange_get_organization_config(_): - return Organization(audit_disabled=True, name="test", guid="test") + return Organization( + audit_disabled=True, + name="test", + guid="test", + mailtips_enabled=True, + mailtips_external_recipient_enabled=False, + mailtips_group_metrics_enabled=True, + mailtips_large_audience_threshold=25, + ) def mock_exchange_get_mailbox_audit_config(_): @@ -94,6 +102,10 @@ class Test_Exchange_Service: assert organization_config.name == "test" assert organization_config.guid == "test" assert organization_config.audit_disabled is True + assert organization_config.mailtips_enabled is True + assert organization_config.mailtips_external_recipient_enabled is False + assert organization_config.mailtips_group_metrics_enabled is True + assert organization_config.mailtips_large_audience_threshold == 25 exchange_client.powershell.close() From e7d249784ded43a104878605c60dd5aae5d24e04 Mon Sep 17 00:00:00 2001 From: Daniel Barranquero <74871504+danibarranqueroo@users.noreply.github.com> Date: Fri, 2 May 2025 09:05:53 +0200 Subject: [PATCH 14/31] feat(exchange): add new check `exchange_transport_config_smtp_auth_disabled` (#7640) Co-authored-by: Andoni A. <14891798+andoniaf@users.noreply.github.com> --- prowler/CHANGELOG.md | 1 + .../m365/lib/powershell/m365_powershell.py | 17 +++ .../services/exchange/exchange_service.py | 23 ++++ .../__init__.py | 0 ...rt_config_smtp_auth_disabled.metadata.json | 30 +++++ ...nge_transport_config_smtp_auth_disabled.py | 44 +++++++ .../exchange/exchange_service_test.py | 27 +++++ ...ransport_config_smtp_auth_disabled_test.py | 112 ++++++++++++++++++ 8 files changed, 254 insertions(+) create mode 100644 prowler/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/__init__.py create mode 100644 prowler/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/exchange_transport_config_smtp_auth_disabled.metadata.json create mode 100644 prowler/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/exchange_transport_config_smtp_auth_disabled.py create mode 100644 tests/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/exchange_transport_config_smtp_auth_disabled_test.py diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index 5ad2d47b7b..22cce0e59d 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -38,6 +38,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - Add Prowler Threat Score Compliance Framework [(#7603)](https://github.com/prowler-cloud/prowler/pull/7603) - Add new check `sharepoint_onedrive_sync_restricted_unmanaged_devices` [(#7589)](https://github.com/prowler-cloud/prowler/pull/7589) - Add new check for Additional Storage restricted for Exchange in M365 [(#7638)](https://github.com/prowler-cloud/prowler/pull/7638) +- Add new check for SMTP Auth disabled for Exchange in M365 [(#7640)](https://github.com/prowler-cloud/prowler/pull/7640) - Add new check for MailTips full enabled for Exchange in M365 [(#7637)](https://github.com/prowler-cloud/prowler/pull/7637) ### Fixed diff --git a/prowler/providers/m365/lib/powershell/m365_powershell.py b/prowler/providers/m365/lib/powershell/m365_powershell.py index df4a26dfd8..1046a45b7d 100644 --- a/prowler/providers/m365/lib/powershell/m365_powershell.py +++ b/prowler/providers/m365/lib/powershell/m365_powershell.py @@ -487,6 +487,23 @@ class M365PowerShell(PowerShellSession): "Get-HostedContentFilterPolicy | ConvertTo-Json", json_parse=True ) + def get_transport_config(self) -> dict: + """ + Get Exchange Online Transport Configuration. + + Retrieves the current transport configuration settings for Exchange Online. + + Returns: + dict: Transport configuration settings in JSON format. + + Example: + >>> get_transport_config() + { + "SmtpClientAuthenticationDisabled": True, + } + """ + return self.execute("Get-TransportConfig | ConvertTo-Json", json_parse=True) + # This function is used to install the required M365 PowerShell modules in Docker containers def initialize_m365_powershell_modules(): diff --git a/prowler/providers/m365/services/exchange/exchange_service.py b/prowler/providers/m365/services/exchange/exchange_service.py index eb76c7bf9e..03ad304c5e 100644 --- a/prowler/providers/m365/services/exchange/exchange_service.py +++ b/prowler/providers/m365/services/exchange/exchange_service.py @@ -14,6 +14,7 @@ class Exchange(M365Service): self.mailboxes_config = [] self.external_mail_config = [] self.transport_rules = [] + self.transport_config = None self.mailbox_policy = None if self.powershell: @@ -22,6 +23,7 @@ class Exchange(M365Service): self.mailboxes_config = self._get_mailbox_audit_config() self.external_mail_config = self._get_external_mail_config() self.transport_rules = self._get_transport_rules() + self.transport_config = self._get_transport_config() self.mailbox_policy = self._get_mailbox_policy() self.powershell.close() @@ -126,6 +128,23 @@ class Exchange(M365Service): ) return transport_rules + def _get_transport_config(self): + logger.info("Microsoft365 - Getting transport configuration...") + transport_config = [] + try: + transport_configuration = self.powershell.get_transport_config() + if transport_configuration: + transport_config = TransportConfig( + smtp_auth_disabled=transport_configuration.get( + "SmtpClientAuthenticationDisabled", False + ), + ) + except Exception as error: + logger.error( + f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}" + ) + return transport_config + def _get_mailbox_policy(self): logger.info("Microsoft365 - Getting mailbox policy configuration...") mailboxes_policy = None @@ -172,6 +191,10 @@ class TransportRule(BaseModel): sender_domain_is: list[str] +class TransportConfig(BaseModel): + smtp_auth_disabled: bool + + class MailboxPolicy(BaseModel): id: str additional_storage_enabled: bool diff --git a/prowler/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/__init__.py b/prowler/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/prowler/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/exchange_transport_config_smtp_auth_disabled.metadata.json b/prowler/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/exchange_transport_config_smtp_auth_disabled.metadata.json new file mode 100644 index 0000000000..023efb30b3 --- /dev/null +++ b/prowler/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/exchange_transport_config_smtp_auth_disabled.metadata.json @@ -0,0 +1,30 @@ +{ + "Provider": "m365", + "CheckID": "exchange_transport_config_smtp_auth_disabled", + "CheckTitle": "Ensure SMTP AUTH is disabled.", + "CheckType": [], + "ServiceName": "exchange", + "SubServiceName": "", + "ResourceIdTemplate": "", + "Severity": "high", + "ResourceType": "Exchange Transport Config", + "Description": "Ensure that SMTP AUTH is disabled at the organization level in Exchange Online to reduce exposure to legacy protocols that can be exploited for malicious use.", + "Risk": "Leaving SMTP AUTH enabled allows legacy clients to authenticate using outdated methods, increasing the risk of credential compromise and unauthorized email sending.", + "RelatedUrl": "https://learn.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/authenticated-client-smtp-submission", + "Remediation": { + "Code": { + "CLI": "Set-TransportConfig -SmtpClientAuthenticationDisabled $true", + "NativeIaC": "", + "Other": "1. Navigate to Exchange admin center https://admin.exchange.microsoft.com. 2. Select Settings > Mail flow. 3. Ensure 'Turn off SMTP AUTH protocol for your organization' is checked.", + "Terraform": "" + }, + "Recommendation": { + "Text": "Disable SMTP AUTH at the organization level to support secure, modern authentication practices and block legacy protocol usage.", + "Url": "https://learn.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/authenticated-client-smtp-submission" + } + }, + "Categories": [], + "DependsOn": [], + "RelatedTo": [], + "Notes": "" +} diff --git a/prowler/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/exchange_transport_config_smtp_auth_disabled.py b/prowler/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/exchange_transport_config_smtp_auth_disabled.py new file mode 100644 index 0000000000..f842c59b87 --- /dev/null +++ b/prowler/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/exchange_transport_config_smtp_auth_disabled.py @@ -0,0 +1,44 @@ +from typing import List + +from prowler.lib.check.models import Check, CheckReportM365 +from prowler.providers.m365.services.exchange.exchange_client import exchange_client + + +class exchange_transport_config_smtp_auth_disabled(Check): + """Check if SMTP AUTH is disabled in Exchange Online Transport Config. + + Attributes: + metadata: Metadata associated with the check (inherited from Check). + """ + + def execute(self) -> List[CheckReportM365]: + """Execute the check for SMTP AUTH setting in Transport Config. + + This method checks if SMTP AUTH is disabled at the organization level in Exchange Online. + + Returns: + List[CheckReportM365]: A list of reports containing the result of the check. + """ + findings = [] + transport_config = exchange_client.transport_config + if transport_config: + report = CheckReportM365( + metadata=self.metadata(), + resource=transport_config, + resource_name="Transport Configuration", + resource_id="transport_config", + ) + report.status = "FAIL" + report.status_extended = ( + "SMTP AUTH is enabled in the Exchange Online Transport Config." + ) + + if transport_config.smtp_auth_disabled: + report.status = "PASS" + report.status_extended = ( + "SMTP AUTH is disabled in the Exchange Online Transport Config." + ) + + findings.append(report) + + return findings diff --git a/tests/providers/m365/services/exchange/exchange_service_test.py b/tests/providers/m365/services/exchange/exchange_service_test.py index 0a30e0c7f7..60e6e853eb 100644 --- a/tests/providers/m365/services/exchange/exchange_service_test.py +++ b/tests/providers/m365/services/exchange/exchange_service_test.py @@ -8,6 +8,7 @@ from prowler.providers.m365.services.exchange.exchange_service import ( MailboxAuditConfig, MailboxPolicy, Organization, + TransportConfig, TransportRule, ) from tests.providers.m365.m365_fixtures import DOMAIN, set_mocked_m365_provider @@ -60,6 +61,12 @@ def mock_exchange_get_transport_rules(_): ] +def mock_exchange_get_transport_config(_): + return TransportConfig( + smtp_auth_disabled=True, + ) + + def mock_exchange_get_mailbox_policy(_): return MailboxPolicy( id="test", @@ -203,3 +210,23 @@ class Test_Exchange_Service: assert mailbox_policy.id == "test" assert mailbox_policy.additional_storage_enabled is True exchange_client.powershell.close() + + @patch( + "prowler.providers.m365.services.exchange.exchange_service.Exchange._get_transport_config", + new=mock_exchange_get_transport_config, + ) + def test_get_transport_config(self): + with ( + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + ): + exchange_client = Exchange( + set_mocked_m365_provider( + identity=M365IdentityInfo(tenant_domain=DOMAIN) + ) + ) + transport_config = exchange_client.transport_config + assert transport_config.smtp_auth_disabled is True + + exchange_client.powershell.close() diff --git a/tests/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/exchange_transport_config_smtp_auth_disabled_test.py b/tests/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/exchange_transport_config_smtp_auth_disabled_test.py new file mode 100644 index 0000000000..b1e904b473 --- /dev/null +++ b/tests/providers/m365/services/exchange/exchange_transport_config_smtp_auth_disabled/exchange_transport_config_smtp_auth_disabled_test.py @@ -0,0 +1,112 @@ +from unittest import mock + +from tests.providers.m365.m365_fixtures import DOMAIN, set_mocked_m365_provider + + +class Test_exchange_transport_config_smtp_auth_disabled: + def test_no_transport_config(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + exchange_client.transport_config = None + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_transport_config_smtp_auth_disabled.exchange_transport_config_smtp_auth_disabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_transport_config_smtp_auth_disabled.exchange_transport_config_smtp_auth_disabled import ( + exchange_transport_config_smtp_auth_disabled, + ) + + check = exchange_transport_config_smtp_auth_disabled() + result = check.execute() + assert len(result) == 0 + + def test_smtp_auth_enabled(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_transport_config_smtp_auth_disabled.exchange_transport_config_smtp_auth_disabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_service import ( + TransportConfig, + ) + from prowler.providers.m365.services.exchange.exchange_transport_config_smtp_auth_disabled.exchange_transport_config_smtp_auth_disabled import ( + exchange_transport_config_smtp_auth_disabled, + ) + + exchange_client.transport_config = TransportConfig(smtp_auth_disabled=False) + + check = exchange_transport_config_smtp_auth_disabled() + result = check.execute() + assert len(result) == 1 + assert result[0].status == "FAIL" + assert ( + result[0].status_extended + == "SMTP AUTH is enabled in the Exchange Online Transport Config." + ) + assert result[0].resource == exchange_client.transport_config.dict() + assert result[0].resource_name == "Transport Configuration" + assert result[0].resource_id == "transport_config" + assert result[0].location == "global" + + def test_smtp_auth_disabled(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_transport_config_smtp_auth_disabled.exchange_transport_config_smtp_auth_disabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_service import ( + TransportConfig, + ) + from prowler.providers.m365.services.exchange.exchange_transport_config_smtp_auth_disabled.exchange_transport_config_smtp_auth_disabled import ( + exchange_transport_config_smtp_auth_disabled, + ) + + exchange_client.transport_config = TransportConfig(smtp_auth_disabled=True) + + check = exchange_transport_config_smtp_auth_disabled() + result = check.execute() + assert len(result) == 1 + assert result[0].status == "PASS" + assert ( + result[0].status_extended + == "SMTP AUTH is disabled in the Exchange Online Transport Config." + ) + assert result[0].resource == exchange_client.transport_config.dict() + assert result[0].resource_name == "Transport Configuration" + assert result[0].resource_id == "transport_config" + assert result[0].location == "global" From 3949806b5d9de1be9a0b9c7a575e285f784651c4 Mon Sep 17 00:00:00 2001 From: Daniel Barranquero <74871504+danibarranqueroo@users.noreply.github.com> Date: Fri, 2 May 2025 10:48:30 +0200 Subject: [PATCH 15/31] feat(exchange): add new check `exchange_mailbox_properties_auditing_e3_enabled` (#7642) Co-authored-by: Andoni A. <14891798+andoniaf@users.noreply.github.com> --- prowler/CHANGELOG.md | 1 + .../m365/lib/powershell/m365_powershell.py | 66 +++++ .../__init__.py | 0 ...operties_auditing_e3_enabled.metadata.json | 30 +++ ..._mailbox_properties_auditing_e3_enabled.py | 74 ++++++ .../services/exchange/exchange_service.py | 97 +++++++ ...box_properties_auditing_e3_enabled_test.py | 240 ++++++++++++++++++ .../exchange/exchange_service_test.py | 115 +++++++++ 8 files changed, 623 insertions(+) create mode 100644 prowler/providers/m365/services/exchange/exchange_mailbox_properties_auditing_e3_enabled/__init__.py create mode 100644 prowler/providers/m365/services/exchange/exchange_mailbox_properties_auditing_e3_enabled/exchange_mailbox_properties_auditing_e3_enabled.metadata.json create mode 100644 prowler/providers/m365/services/exchange/exchange_mailbox_properties_auditing_e3_enabled/exchange_mailbox_properties_auditing_e3_enabled.py create mode 100644 tests/providers/m365/services/exchange/exchange_mailbox_properties_auditing_e3_enabled/exchange_mailbox_properties_auditing_e3_enabled_test.py diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index 22cce0e59d..50649a547c 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -38,6 +38,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - Add Prowler Threat Score Compliance Framework [(#7603)](https://github.com/prowler-cloud/prowler/pull/7603) - Add new check `sharepoint_onedrive_sync_restricted_unmanaged_devices` [(#7589)](https://github.com/prowler-cloud/prowler/pull/7589) - Add new check for Additional Storage restricted for Exchange in M365 [(#7638)](https://github.com/prowler-cloud/prowler/pull/7638) +- Add new check for Auditing Mailbox on E3 users is enabled for Exchange in M365 [(#7642)](https://github.com/prowler-cloud/prowler/pull/7642) - Add new check for SMTP Auth disabled for Exchange in M365 [(#7640)](https://github.com/prowler-cloud/prowler/pull/7640) - Add new check for MailTips full enabled for Exchange in M365 [(#7637)](https://github.com/prowler-cloud/prowler/pull/7637) diff --git a/prowler/providers/m365/lib/powershell/m365_powershell.py b/prowler/providers/m365/lib/powershell/m365_powershell.py index 1046a45b7d..9dc5d6ff1a 100644 --- a/prowler/providers/m365/lib/powershell/m365_powershell.py +++ b/prowler/providers/m365/lib/powershell/m365_powershell.py @@ -487,6 +487,72 @@ class M365PowerShell(PowerShellSession): "Get-HostedContentFilterPolicy | ConvertTo-Json", json_parse=True ) + def get_mailbox_audit_properties(self) -> dict: + """ + Get Mailbox Properties. + + Retrieves the properties of all mailboxes in the organization in Exchange Online. + + Args: + mailbox (str): The email address or identifier of the mailbox. + + Returns: + dict: Mailbox properties in JSON format. + + Example: + >>> get_mailbox_properties() + { + "UserPrincipalName": "User1", + "AuditEnabled": "false" + "AuditAdmin": [ + "Update", + "MoveToDeletedItems", + "SoftDelete", + "HardDelete", + "SendAs", + "SendOnBehalf", + "Create", + "UpdateFolderPermissions", + "UpdateInboxRules", + "UpdateCalendarDelegation", + "ApplyRecord", + "MailItemsAccessed", + "Send" + ], + "AuditDelegate": [ + "Update", + "MoveToDeletedItems", + "SoftDelete", + "HardDelete", + "SendAs", + "SendOnBehalf", + "Create", + "UpdateFolderPermissions", + "UpdateInboxRules", + "ApplyRecord", + "MailItemsAccessed" + ], + "AuditOwner": [ + "Update", + "MoveToDeletedItems", + "SoftDelete", + "HardDelete", + "UpdateFolderPermissions", + "UpdateInboxRules", + "UpdateCalendarDelegation", + "ApplyRecord", + "MailItemsAccessed", + "Send" + ], + "AuditLogAgeLimit": "90", + "Identity": "User1", + } + """ + return self.execute( + "Get-EXOMailbox -PropertySets Audit -ResultSize Unlimited | ConvertTo-Json", + json_parse=True, + ) + def get_transport_config(self) -> dict: """ Get Exchange Online Transport Configuration. diff --git a/prowler/providers/m365/services/exchange/exchange_mailbox_properties_auditing_e3_enabled/__init__.py b/prowler/providers/m365/services/exchange/exchange_mailbox_properties_auditing_e3_enabled/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/prowler/providers/m365/services/exchange/exchange_mailbox_properties_auditing_e3_enabled/exchange_mailbox_properties_auditing_e3_enabled.metadata.json b/prowler/providers/m365/services/exchange/exchange_mailbox_properties_auditing_e3_enabled/exchange_mailbox_properties_auditing_e3_enabled.metadata.json new file mode 100644 index 0000000000..fccbe84533 --- /dev/null +++ b/prowler/providers/m365/services/exchange/exchange_mailbox_properties_auditing_e3_enabled/exchange_mailbox_properties_auditing_e3_enabled.metadata.json @@ -0,0 +1,30 @@ +{ + "Provider": "m365", + "CheckID": "exchange_mailbox_properties_auditing_e3_enabled", + "CheckTitle": "Ensure mailbox auditing for E3 users is enabled.", + "CheckType": [], + "ServiceName": "exchange", + "SubServiceName": "", + "ResourceIdTemplate": "", + "Severity": "high", + "ResourceType": "Exchange Mailboxes Properties", + "Description": "Ensure mailbox auditing is enabled for all E3-licensed user mailboxes, including the configuration of audit actions for owners, delegates, and admins beyond the Microsoft defaults.", + "Risk": "If auditing is not properly enabled and configured, critical mailbox actions may go unrecorded, reducing the ability to investigate incidents, enforce compliance, or detect malicious behavior.", + "RelatedUrl": "https://learn.microsoft.com/en-us/purview/audit-mailboxes?view=o365-worldwide", + "Remediation": { + "Code": { + "CLI": "$AuditAdmin = @(\"ApplyRecord\", \"Copy\", \"Create\", \"FolderBind\", \"HardDelete\", \"Move\", \"MoveToDeletedItems\", \"SendAs\", \"SendOnBehalf\", \"SoftDelete\", \"Update\", \"UpdateCalendarDelegation\", \"UpdateFolderPermissions\", \"UpdateInboxRules\"); $AuditDelegate = @(\"ApplyRecord\", \"Create\", \"FolderBind\", \"HardDelete\", \"Move\", \"MoveToDeletedItems\", \"SendAs\", \"SendOnBehalf\", \"SoftDelete\", \"Update\", \"UpdateFolderPermissions\", \"UpdateInboxRules\"); $AuditOwner = @(\"ApplyRecord\", \"Create\", \"HardDelete\", \"MailboxLogin\", \"Move\", \"MoveToDeletedItems\", \"SoftDelete\", \"Update\", \"UpdateCalendarDelegation\", \"UpdateFolderPermissions\", \"UpdateInboxRules\"); $MBX = Get-EXOMailbox -ResultSize Unlimited | Where-Object { $_.RecipientTypeDetails -eq \"UserMailbox\" }; $MBX | Set-Mailbox -AuditEnabled $true -AuditLogAgeLimit 90 -AuditAdmin $AuditAdmin -AuditDelegate $AuditDelegate -AuditOwner $AuditOwner", + "NativeIaC": "", + "Other": "", + "Terraform": "" + }, + "Recommendation": { + "Text": "Enable mailbox auditing for all E3 user mailboxes and configure auditing for key mailbox actions for owners, delegates, and admins.", + "Url": "https://learn.microsoft.com/en-us/purview/audit-mailboxes?view=o365-worldwide" + } + }, + "Categories": [], + "DependsOn": [], + "RelatedTo": [], + "Notes": "" +} diff --git a/prowler/providers/m365/services/exchange/exchange_mailbox_properties_auditing_e3_enabled/exchange_mailbox_properties_auditing_e3_enabled.py b/prowler/providers/m365/services/exchange/exchange_mailbox_properties_auditing_e3_enabled/exchange_mailbox_properties_auditing_e3_enabled.py new file mode 100644 index 0000000000..583d7a09b3 --- /dev/null +++ b/prowler/providers/m365/services/exchange/exchange_mailbox_properties_auditing_e3_enabled/exchange_mailbox_properties_auditing_e3_enabled.py @@ -0,0 +1,74 @@ +from typing import List + +from prowler.lib.check.models import Check, CheckReportM365 +from prowler.providers.m365.services.exchange.exchange_client import exchange_client +from prowler.providers.m365.services.exchange.exchange_service import ( + AuditAdmin, + AuditDelegate, + AuditOwner, +) + + +class exchange_mailbox_properties_auditing_e3_enabled(Check): + """ + Check to ensure that mailbox auditing properties are enabled and properly configured. + + Attributes: + metadata: Metadata associated with the check (inherited from Check). + """ + + def execute(self) -> List[CheckReportM365]: + """ + Execute the check to validate that mailbox auditing properties are enabled and properly configured. + + This method retrieves all mailbox audit properties from the Exchange service and evaluates + whether auditing is enabled and correctly configured for each mailbox. A report is generated + for each mailbox. + + Returns: + List[CheckReportM365]: A list of findings with the status of each mailbox. + """ + findings = [] + + required_admin = {e.value for e in AuditAdmin} + required_delegate = {e.value for e in AuditDelegate} + required_owner = {e.value for e in AuditOwner} + + for mailbox in exchange_client.mailbox_audit_properties: + report = CheckReportM365( + metadata=self.metadata(), + resource=mailbox, + resource_name=mailbox.name, + resource_id=mailbox.identity, + ) + + report.status = "FAIL" + report.status_extended = ( + f"Mailbox Audit Properties for Mailbox {mailbox.name} is not enabled." + ) + + if mailbox.audit_enabled: + audit_admin = set(mailbox.audit_admin or []) + audit_delegate = set(mailbox.audit_delegate or []) + audit_owner = set(mailbox.audit_owner or []) + + if ( + required_admin.issubset(audit_admin) + and required_delegate.issubset(audit_delegate) + and required_owner.issubset(audit_owner) + ): + # The limit for E3 is 90 days, but we check >= 90 because E5 users can set it to more than 90 days + if mailbox.audit_log_age >= 90: + report.status = "PASS" + report.status_extended = f"Mailbox Audit Properties for Mailbox {mailbox.name} is enabled and properly configured." + else: + report.status_extended = f"Mailbox Audit Properties for Mailbox {mailbox.name} is enabled and properly configured but the audit log age is less than 90 days." + else: + report.status_extended = ( + f"Mailbox Audit Properties for Mailbox {mailbox.name} is enabled but not properly configured. " + f"Missing audit actions may exist." + ) + + findings.append(report) + + return findings diff --git a/prowler/providers/m365/services/exchange/exchange_service.py b/prowler/providers/m365/services/exchange/exchange_service.py index 03ad304c5e..8417e9c40e 100644 --- a/prowler/providers/m365/services/exchange/exchange_service.py +++ b/prowler/providers/m365/services/exchange/exchange_service.py @@ -1,3 +1,4 @@ +from enum import Enum from typing import Optional from pydantic import BaseModel @@ -16,6 +17,7 @@ class Exchange(M365Service): self.transport_rules = [] self.transport_config = None self.mailbox_policy = None + self.mailbox_audit_properties = [] if self.powershell: self.powershell.connect_exchange_online() @@ -25,6 +27,7 @@ class Exchange(M365Service): self.transport_rules = self._get_transport_rules() self.transport_config = self._get_transport_config() self.mailbox_policy = self._get_mailbox_policy() + self.mailbox_audit_properties = self._get_mailbox_audit_properties() self.powershell.close() def _get_organization_config(self): @@ -163,6 +166,44 @@ class Exchange(M365Service): ) return mailboxes_policy + def _get_mailbox_audit_properties(self): + logger.info("Microsoft365 - Getting mailbox audit properties...") + mailbox_audit_properties = [] + try: + mailbox_audit_properties_info = ( + self.powershell.get_mailbox_audit_properties() + ) + if not mailbox_audit_properties_info: + return mailbox_audit_properties + if isinstance(mailbox_audit_properties_info, dict): + mailbox_audit_properties_info = [mailbox_audit_properties_info] + for mailbox_audit_property in mailbox_audit_properties_info: + if mailbox_audit_property: + mailbox_audit_properties.append( + MailboxAuditProperties( + name=mailbox_audit_property.get("UserPrincipalName", ""), + audit_enabled=mailbox_audit_property.get( + "AuditEnabled", False + ), + audit_admin=mailbox_audit_property.get("AuditAdmin", []), + audit_delegate=mailbox_audit_property.get( + "AuditDelegate", [] + ), + audit_owner=mailbox_audit_property.get("AuditOwner", []), + audit_log_age=int( + mailbox_audit_property.get( + "AuditLogAgeLimit", "90.00:00:00" + ).split(".")[0] + ), + identity=mailbox_audit_property.get("Identity", ""), + ) + ) + except Exception as error: + logger.error( + f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}" + ) + return mailbox_audit_properties + class Organization(BaseModel): name: str @@ -198,3 +239,59 @@ class TransportConfig(BaseModel): class MailboxPolicy(BaseModel): id: str additional_storage_enabled: bool + + +class MailboxAuditProperties(BaseModel): + name: str + audit_enabled: bool + audit_admin: list[str] + audit_delegate: list[str] + audit_owner: list[str] + audit_log_age: int + identity: str + + +class AuditAdmin(Enum): + APPLY_RECORD = "ApplyRecord" + COPY = "Copy" + CREATE = "Create" + FOLDER_BIND = "FolderBind" + HARD_DELETE = "HardDelete" + MOVE = "Move" + MOVE_TO_DELETED_ITEMS = "MoveToDeletedItems" + SEND_AS = "SendAs" + SEND_ON_BEHALF = "SendOnBehalf" + SOFT_DELETE = "SoftDelete" + UPDATE = "Update" + UPDATE_CALENDAR_DELEGATION = "UpdateCalendarDelegation" + UPDATE_FOLDER_PERMISSIONS = "UpdateFolderPermissions" + UPDATE_INBOX_RULES = "UpdateInboxRules" + + +class AuditDelegate(Enum): + APPLY_RECORD = "ApplyRecord" + CREATE = "Create" + FOLDER_BIND = "FolderBind" + HARD_DELETE = "HardDelete" + MOVE = "Move" + MOVE_TO_DELETED_ITEMS = "MoveToDeletedItems" + SEND_AS = "SendAs" + SEND_ON_BEHALF = "SendOnBehalf" + SOFT_DELETE = "SoftDelete" + UPDATE = "Update" + UPDATE_FOLDER_PERMISSIONS = "UpdateFolderPermissions" + UPDATE_INBOX_RULES = "UpdateInboxRules" + + +class AuditOwner(Enum): + APPLY_RECORD = "ApplyRecord" + CREATE = "Create" + HARD_DELETE = "HardDelete" + MAILBOX_LOGIN = "MailboxLogin" + MOVE = "Move" + MOVE_TO_DELETED_ITEMS = "MoveToDeletedItems" + SOFT_DELETE = "SoftDelete" + UPDATE = "Update" + UPDATE_CALENDAR_DELEGATION = "UpdateCalendarDelegation" + UPDATE_FOLDER_PERMISSIONS = "UpdateFolderPermissions" + UPDATE_INBOX_RULES = "UpdateInboxRules" diff --git a/tests/providers/m365/services/exchange/exchange_mailbox_properties_auditing_e3_enabled/exchange_mailbox_properties_auditing_e3_enabled_test.py b/tests/providers/m365/services/exchange/exchange_mailbox_properties_auditing_e3_enabled/exchange_mailbox_properties_auditing_e3_enabled_test.py new file mode 100644 index 0000000000..9985341194 --- /dev/null +++ b/tests/providers/m365/services/exchange/exchange_mailbox_properties_auditing_e3_enabled/exchange_mailbox_properties_auditing_e3_enabled_test.py @@ -0,0 +1,240 @@ +from unittest import mock + +from prowler.providers.m365.services.exchange.exchange_service import ( + AuditAdmin, + AuditDelegate, + AuditOwner, + MailboxAuditProperties, +) +from tests.providers.m365.m365_fixtures import DOMAIN, set_mocked_m365_provider + + +class Test_exchange_mailbox_properties_auditing_e3_enabled: + def test_no_auditing_mailboxes(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_mailbox_properties_auditing_e3_enabled.exchange_mailbox_properties_auditing_e3_enabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_mailbox_properties_auditing_e3_enabled.exchange_mailbox_properties_auditing_e3_enabled import ( + exchange_mailbox_properties_auditing_e3_enabled, + ) + + exchange_client.mailbox_audit_properties = [] + + check = exchange_mailbox_properties_auditing_e3_enabled() + result = check.execute() + + assert len(result) == 0 + + def test_auditing_fully_configured_and_log_age_valid(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_mailbox_properties_auditing_e3_enabled.exchange_mailbox_properties_auditing_e3_enabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_mailbox_properties_auditing_e3_enabled.exchange_mailbox_properties_auditing_e3_enabled import ( + exchange_mailbox_properties_auditing_e3_enabled, + ) + + exchange_client.mailbox_audit_properties = [ + MailboxAuditProperties( + name="User1", + audit_enabled=True, + audit_admin=[e.value for e in AuditAdmin], + audit_delegate=[e.value for e in AuditDelegate], + audit_owner=[e.value for e in AuditOwner], + audit_log_age=180, + identity="User1", + ) + ] + + check = exchange_mailbox_properties_auditing_e3_enabled() + result = check.execute() + + assert len(result) == 1 + assert result[0].status == "PASS" + assert ( + result[0].status_extended + == "Mailbox Audit Properties for Mailbox User1 is enabled and properly configured." + ) + assert result[0].resource_name == "User1" + assert result[0].resource_id == "User1" + assert result[0].location == "global" + assert ( + result[0].resource == exchange_client.mailbox_audit_properties[0].dict() + ) + + def test_audit_enabled_but_incomplete_configuration(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_mailbox_properties_auditing_e3_enabled.exchange_mailbox_properties_auditing_e3_enabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_mailbox_properties_auditing_e3_enabled.exchange_mailbox_properties_auditing_e3_enabled import ( + exchange_mailbox_properties_auditing_e3_enabled, + ) + + exchange_client.mailbox_audit_properties = [ + MailboxAuditProperties( + name="User2", + audit_enabled=True, + audit_admin=["SendAs"], + audit_delegate=["Send"], + audit_owner=["Update"], + audit_log_age=180, + identity="User2", + ) + ] + + check = exchange_mailbox_properties_auditing_e3_enabled() + result = check.execute() + + assert len(result) == 1 + assert result[0].status == "FAIL" + assert ( + result[0].status_extended + == "Mailbox Audit Properties for Mailbox User2 is enabled but not properly configured. Missing audit actions may exist." + ) + assert result[0].resource_name == "User2" + assert result[0].resource_id == "User2" + assert result[0].location == "global" + assert ( + result[0].resource == exchange_client.mailbox_audit_properties[0].dict() + ) + + def test_audit_not_enabled(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_mailbox_properties_auditing_e3_enabled.exchange_mailbox_properties_auditing_e3_enabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_mailbox_properties_auditing_e3_enabled.exchange_mailbox_properties_auditing_e3_enabled import ( + exchange_mailbox_properties_auditing_e3_enabled, + ) + + exchange_client.mailbox_audit_properties = [ + MailboxAuditProperties( + name="User3", + audit_enabled=False, + audit_admin=[], + audit_delegate=[], + audit_owner=[], + audit_log_age=0, + identity="User3", + ) + ] + + check = exchange_mailbox_properties_auditing_e3_enabled() + result = check.execute() + + assert len(result) == 1 + assert result[0].status == "FAIL" + assert ( + result[0].status_extended + == "Mailbox Audit Properties for Mailbox User3 is not enabled." + ) + assert result[0].resource_name == "User3" + assert result[0].resource_id == "User3" + assert result[0].location == "global" + assert ( + result[0].resource == exchange_client.mailbox_audit_properties[0].dict() + ) + + def test_audit_enabled_but_log_age_too_low(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_mailbox_properties_auditing_e3_enabled.exchange_mailbox_properties_auditing_e3_enabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_mailbox_properties_auditing_e3_enabled.exchange_mailbox_properties_auditing_e3_enabled import ( + exchange_mailbox_properties_auditing_e3_enabled, + ) + + exchange_client.mailbox_audit_properties = [ + MailboxAuditProperties( + name="User4", + audit_enabled=True, + audit_admin=[e.value for e in AuditAdmin], + audit_delegate=[e.value for e in AuditDelegate], + audit_owner=[e.value for e in AuditOwner], + audit_log_age=30, + identity="User4", + ) + ] + + check = exchange_mailbox_properties_auditing_e3_enabled() + result = check.execute() + + assert len(result) == 1 + assert result[0].status == "FAIL" + assert ( + result[0].status_extended + == "Mailbox Audit Properties for Mailbox User4 is enabled and properly configured but the audit log age is less than 90 days." + ) + assert result[0].resource_name == "User4" + assert result[0].resource_id == "User4" + assert result[0].location == "global" + assert ( + result[0].resource == exchange_client.mailbox_audit_properties[0].dict() + ) diff --git a/tests/providers/m365/services/exchange/exchange_service_test.py b/tests/providers/m365/services/exchange/exchange_service_test.py index 60e6e853eb..73cf90c6d9 100644 --- a/tests/providers/m365/services/exchange/exchange_service_test.py +++ b/tests/providers/m365/services/exchange/exchange_service_test.py @@ -6,6 +6,7 @@ from prowler.providers.m365.services.exchange.exchange_service import ( Exchange, ExternalMailConfig, MailboxAuditConfig, + MailboxAuditProperties, MailboxPolicy, Organization, TransportConfig, @@ -74,6 +75,57 @@ def mock_exchange_get_mailbox_policy(_): ) +def mock_exchange_get_mailbox_audit_properties(_): + return [ + MailboxAuditProperties( + name="User1", + audit_enabled=False, + audit_admin=[ + "Update", + "MoveToDeletedItems", + "SoftDelete", + "HardDelete", + "SendAs", + "SendOnBehalf", + "Create", + "UpdateFolderPermissions", + "UpdateInboxRules", + "UpdateCalendarDelegation", + "ApplyRecord", + "MailItemsAccessed", + "Send", + ], + audit_delegate=[ + "Update", + "MoveToDeletedItems", + "SoftDelete", + "HardDelete", + "SendAs", + "SendOnBehalf", + "Create", + "UpdateFolderPermissions", + "UpdateInboxRules", + "ApplyRecord", + "MailItemsAccessed", + ], + audit_owner=[ + "Update", + "MoveToDeletedItems", + "SoftDelete", + "HardDelete", + "UpdateFolderPermissions", + "UpdateInboxRules", + "UpdateCalendarDelegation", + "ApplyRecord", + "MailItemsAccessed", + "Send", + ], + audit_log_age=90, + identity="test", + ) + ] + + class Test_Exchange_Service: def test_get_client(self): with ( @@ -230,3 +282,66 @@ class Test_Exchange_Service: assert transport_config.smtp_auth_disabled is True exchange_client.powershell.close() + + @patch( + "prowler.providers.m365.services.exchange.exchange_service.Exchange._get_mailbox_audit_properties", + new=mock_exchange_get_mailbox_audit_properties, + ) + def test_get_mailbox_audit_properties(self): + with ( + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + ): + exchange_client = Exchange( + set_mocked_m365_provider( + identity=M365IdentityInfo(tenant_domain=DOMAIN) + ) + ) + mailbox_audit_properties = exchange_client.mailbox_audit_properties + assert len(mailbox_audit_properties) == 1 + assert mailbox_audit_properties[0].name == "User1" + assert mailbox_audit_properties[0].audit_enabled is False + assert mailbox_audit_properties[0].audit_admin == [ + "Update", + "MoveToDeletedItems", + "SoftDelete", + "HardDelete", + "SendAs", + "SendOnBehalf", + "Create", + "UpdateFolderPermissions", + "UpdateInboxRules", + "UpdateCalendarDelegation", + "ApplyRecord", + "MailItemsAccessed", + "Send", + ] + assert mailbox_audit_properties[0].audit_delegate == [ + "Update", + "MoveToDeletedItems", + "SoftDelete", + "HardDelete", + "SendAs", + "SendOnBehalf", + "Create", + "UpdateFolderPermissions", + "UpdateInboxRules", + "ApplyRecord", + "MailItemsAccessed", + ] + assert mailbox_audit_properties[0].audit_owner == [ + "Update", + "MoveToDeletedItems", + "SoftDelete", + "HardDelete", + "UpdateFolderPermissions", + "UpdateInboxRules", + "UpdateCalendarDelegation", + "ApplyRecord", + "MailItemsAccessed", + "Send", + ] + assert mailbox_audit_properties[0].audit_log_age == 90 + assert mailbox_audit_properties[0].identity == "test" + exchange_client.powershell.close() From cccd69f27cbae5c3bb5f584ae69882241d420361 Mon Sep 17 00:00:00 2001 From: Daniel Barranquero <74871504+danibarranqueroo@users.noreply.github.com> Date: Fri, 2 May 2025 11:58:56 +0200 Subject: [PATCH 16/31] feat(exchange): add new check `exchange_roles_assignment_policy_addins_disabled` (#7644) Co-authored-by: Andoni A. <14891798+andoniaf@users.noreply.github.com> --- prowler/CHANGELOG.md | 1 + .../m365/lib/powershell/m365_powershell.py | 21 +++ .../__init__.py | 0 ...nment_policy_addins_disabled.metadata.json | 30 ++++ ...roles_assignment_policy_addins_disabled.py | 50 +++++++ .../services/exchange/exchange_service.py | 38 ++++++ ..._assignment_policy_addins_disabled_test.py | 129 ++++++++++++++++++ .../exchange/exchange_service_test.py | 54 ++++++++ 8 files changed, 323 insertions(+) create mode 100644 prowler/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/__init__.py create mode 100644 prowler/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/exchange_roles_assignment_policy_addins_disabled.metadata.json create mode 100644 prowler/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/exchange_roles_assignment_policy_addins_disabled.py create mode 100644 tests/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/exchange_roles_assignment_policy_addins_disabled_test.py diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index 50649a547c..19426c4e10 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -38,6 +38,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - Add Prowler Threat Score Compliance Framework [(#7603)](https://github.com/prowler-cloud/prowler/pull/7603) - Add new check `sharepoint_onedrive_sync_restricted_unmanaged_devices` [(#7589)](https://github.com/prowler-cloud/prowler/pull/7589) - Add new check for Additional Storage restricted for Exchange in M365 [(#7638)](https://github.com/prowler-cloud/prowler/pull/7638) +- Add new check for Roles Assignment Policy with no AddIns for Exchange in M365 [(#7644)](https://github.com/prowler-cloud/prowler/pull/7644) - Add new check for Auditing Mailbox on E3 users is enabled for Exchange in M365 [(#7642)](https://github.com/prowler-cloud/prowler/pull/7642) - Add new check for SMTP Auth disabled for Exchange in M365 [(#7640)](https://github.com/prowler-cloud/prowler/pull/7640) - Add new check for MailTips full enabled for Exchange in M365 [(#7637)](https://github.com/prowler-cloud/prowler/pull/7637) diff --git a/prowler/providers/m365/lib/powershell/m365_powershell.py b/prowler/providers/m365/lib/powershell/m365_powershell.py index 9dc5d6ff1a..9bf39060c3 100644 --- a/prowler/providers/m365/lib/powershell/m365_powershell.py +++ b/prowler/providers/m365/lib/powershell/m365_powershell.py @@ -487,6 +487,27 @@ class M365PowerShell(PowerShellSession): "Get-HostedContentFilterPolicy | ConvertTo-Json", json_parse=True ) + def get_role_assignment_policies(self) -> dict: + """ + Get Role Assignment Policies. + + Retrieves the current role assignment policies for Exchange Online. + + Returns: + dict: Role assignment policies in JSON format. + + Example: + >>> get_role_assignment_policies() + { + "Name": "Default Role Assignment Policy", + "Guid": "12345678-1234-1234-1234-123456789012", + "AssignedRoles": ["MyRole"] + } + """ + return self.execute( + "Get-RoleAssignmentPolicy | ConvertTo-Json", json_parse=True + ) + def get_mailbox_audit_properties(self) -> dict: """ Get Mailbox Properties. diff --git a/prowler/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/__init__.py b/prowler/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/prowler/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/exchange_roles_assignment_policy_addins_disabled.metadata.json b/prowler/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/exchange_roles_assignment_policy_addins_disabled.metadata.json new file mode 100644 index 0000000000..7764d43679 --- /dev/null +++ b/prowler/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/exchange_roles_assignment_policy_addins_disabled.metadata.json @@ -0,0 +1,30 @@ +{ + "Provider": "m365", + "CheckID": "exchange_roles_assignment_policy_addins_disabled", + "CheckTitle": "Ensure there is no policy with Outlook add-ins allowed.", + "CheckType": [], + "ServiceName": "exchange", + "SubServiceName": "", + "ResourceIdTemplate": "", + "Severity": "high", + "ResourceType": "Exchange Role Assignment Policy", + "Description": "Restricting users from installing Outlook add-ins reduces the risk of data exposure or exploitation through unapproved or vulnerable add-ins.", + "Risk": "Allowing users to install add-ins may expose sensitive information or introduce malicious behavior through third-party integrations. Disabling this capability mitigates the risk of unauthorized data access.", + "RelatedUrl": "https://learn.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/add-ins-for-outlook/specify-who-can-install-and-manage-add-ins", + "Remediation": { + "Code": { + "CLI": "$policy = \"Role Assignment Policy - Prevent Add-ins\"; $roles = \"MyTextMessaging\", \"MyDistributionGroups\", \"MyMailSubscriptions\", \"MyBaseOptions\", \"MyVoiceMail\", \"MyProfileInformation\", \"MyContactInformation\", \"MyRetentionPolicies\", \"MyDistributionGroupMembership\"; New-RoleAssignmentPolicy -Name $policy -Roles $roles; Set-RoleAssignmentPolicy -id $policy -IsDefault; Get-EXOMailbox -ResultSize Unlimited | Set-Mailbox -RoleAssignmentPolicy $policy", + "NativeIaC": "", + "Other": "1. Navigate to Exchange admin center https://admin.exchange.microsoft.com. 2. Click to expand Roles > User roles. 3. Select Default Role Assignment Policy. 4. In the right pane, click Manage permissions. 5. Uncheck My Custom Apps, My Marketplace Apps and My ReadWriteMailboxApps under Other roles. 6. Save changes.", + "Terraform": "" + }, + "Recommendation": { + "Text": "Restrict Outlook add-in installation by updating the Role Assignment Policy to exclude roles that allow app installation.", + "Url": "https://learn.microsoft.com/en-us/exchange/permissions-exo/role-assignment-policies" + } + }, + "Categories": [], + "DependsOn": [], + "RelatedTo": [], + "Notes": "" +} diff --git a/prowler/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/exchange_roles_assignment_policy_addins_disabled.py b/prowler/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/exchange_roles_assignment_policy_addins_disabled.py new file mode 100644 index 0000000000..74f770352b --- /dev/null +++ b/prowler/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/exchange_roles_assignment_policy_addins_disabled.py @@ -0,0 +1,50 @@ +from typing import List + +from prowler.lib.check.models import Check, CheckReportM365 +from prowler.providers.m365.services.exchange.exchange_client import exchange_client +from prowler.providers.m365.services.exchange.exchange_service import AddinRoles + + +class exchange_roles_assignment_policy_addins_disabled(Check): + """Check if any Exchange role assignment policy allows Outlook add-ins. + + Attributes: + metadata: Metadata associated with the check (inherited from Check). + """ + + def execute(self) -> List[CheckReportM365]: + """Execute the check for role assignment policies that allow Outlook add-ins. + + This method checks all Exchange Online Role Assignment Policies to verify + whether any of them allow the installation of add-ins by including risky roles. + + Returns: + List[CheckReportM365]: A list of reports containing the result of the check. + """ + findings = [] + + addin_roles = [e.value for e in AddinRoles] + + for policy in exchange_client.role_assignment_policies: + report = CheckReportM365( + metadata=self.metadata(), + resource=policy, + resource_name=policy.name, + resource_id=policy.id, + ) + + report.status = "PASS" + report.status_extended = f"Role assignment policy '{policy.name}' does not allow Outlook add-ins." + + risky_roles_found = [] + for role in policy.assigned_roles: + if role in addin_roles: + risky_roles_found.append(role) + + if risky_roles_found: + report.status = "FAIL" + report.status_extended = f"Role assignment policy '{policy.name}' allows Outlook add-ins via roles: {', '.join(risky_roles_found)}." + + findings.append(report) + + return findings diff --git a/prowler/providers/m365/services/exchange/exchange_service.py b/prowler/providers/m365/services/exchange/exchange_service.py index 8417e9c40e..af2ecbce03 100644 --- a/prowler/providers/m365/services/exchange/exchange_service.py +++ b/prowler/providers/m365/services/exchange/exchange_service.py @@ -17,6 +17,7 @@ class Exchange(M365Service): self.transport_rules = [] self.transport_config = None self.mailbox_policy = None + self.role_assignment_policies = [] self.mailbox_audit_properties = [] if self.powershell: @@ -27,6 +28,7 @@ class Exchange(M365Service): self.transport_rules = self._get_transport_rules() self.transport_config = self._get_transport_config() self.mailbox_policy = self._get_mailbox_policy() + self.role_assignment_policies = self._get_role_assignment_policies() self.mailbox_audit_properties = self._get_mailbox_audit_properties() self.powershell.close() @@ -166,6 +168,30 @@ class Exchange(M365Service): ) return mailboxes_policy + def _get_role_assignment_policies(self): + logger.info("Microsoft365 - Getting role assignment policies...") + role_assignment_policies = [] + try: + policies_data = self.powershell.get_role_assignment_policies() + if not policies_data: + return role_assignment_policies + if isinstance(policies_data, dict): + policies_data = [policies_data] + for policy in policies_data: + if policy: + role_assignment_policies.append( + RoleAssignmentPolicy( + name=policy.get("Name", ""), + id=policy.get("Guid", ""), + assigned_roles=policy.get("AssignedRoles", []), + ) + ) + except Exception as error: + logger.error( + f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}" + ) + return role_assignment_policies + def _get_mailbox_audit_properties(self): logger.info("Microsoft365 - Getting mailbox audit properties...") mailbox_audit_properties = [] @@ -241,6 +267,18 @@ class MailboxPolicy(BaseModel): additional_storage_enabled: bool +class RoleAssignmentPolicy(BaseModel): + name: str + id: str + assigned_roles: list[str] + + +class AddinRoles(Enum): + MY_CUSTOM_APPS = "My Custom Apps" + MY_MARKETPLACE_APPS = "My Marketplace Apps" + MY_READWRITE_MAILBOX_APPS = "My ReadWriteMailbox Apps" + + class MailboxAuditProperties(BaseModel): name: str audit_enabled: bool diff --git a/tests/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/exchange_roles_assignment_policy_addins_disabled_test.py b/tests/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/exchange_roles_assignment_policy_addins_disabled_test.py new file mode 100644 index 0000000000..1f28ee407f --- /dev/null +++ b/tests/providers/m365/services/exchange/exchange_roles_assignment_policy_addins_disabled/exchange_roles_assignment_policy_addins_disabled_test.py @@ -0,0 +1,129 @@ +from unittest import mock + +from prowler.providers.m365.services.exchange.exchange_service import ( + RoleAssignmentPolicy, +) +from tests.providers.m365.m365_fixtures import DOMAIN, set_mocked_m365_provider + + +class Test_exchange_roles_assignment_policy_addins_disabled: + def test_no_policies(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online", + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_roles_assignment_policy_addins_disabled.exchange_roles_assignment_policy_addins_disabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_roles_assignment_policy_addins_disabled.exchange_roles_assignment_policy_addins_disabled import ( + exchange_roles_assignment_policy_addins_disabled, + ) + + exchange_client.role_assignment_policies = [] + + check = exchange_roles_assignment_policy_addins_disabled() + result = check.execute() + + assert len(result) == 0 + + def test_policy_with_no_addin_roles(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online", + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_roles_assignment_policy_addins_disabled.exchange_roles_assignment_policy_addins_disabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_roles_assignment_policy_addins_disabled.exchange_roles_assignment_policy_addins_disabled import ( + exchange_roles_assignment_policy_addins_disabled, + ) + + exchange_client.role_assignment_policies = [ + RoleAssignmentPolicy( + name="Policy1", + id="id-policy1", + assigned_roles=["My Base Options", "My Voice Mail"], + ) + ] + + check = exchange_roles_assignment_policy_addins_disabled() + result = check.execute() + + assert len(result) == 1 + assert result[0].status == "PASS" + assert ( + result[0].status_extended + == "Role assignment policy 'Policy1' does not allow Outlook add-ins." + ) + assert result[0].resource_name == "Policy1" + assert result[0].resource_id == "id-policy1" + assert result[0].location == "global" + assert ( + result[0].resource == exchange_client.role_assignment_policies[0].dict() + ) + + def test_policy_with_addin_roles(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online", + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_roles_assignment_policy_addins_disabled.exchange_roles_assignment_policy_addins_disabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_roles_assignment_policy_addins_disabled.exchange_roles_assignment_policy_addins_disabled import ( + exchange_roles_assignment_policy_addins_disabled, + ) + + exchange_client.role_assignment_policies = [ + RoleAssignmentPolicy( + name="Policy2", + id="id-policy2", + assigned_roles=["My Custom Apps", "My Voice Mail"], + ) + ] + + check = exchange_roles_assignment_policy_addins_disabled() + result = check.execute() + + assert len(result) == 1 + assert result[0].status == "FAIL" + assert ( + result[0].status_extended + == "Role assignment policy 'Policy2' allows Outlook add-ins via roles: My Custom Apps." + ) + assert result[0].resource_name == "Policy2" + assert result[0].resource_id == "id-policy2" + assert result[0].location == "global" + assert ( + result[0].resource == exchange_client.role_assignment_policies[0].dict() + ) diff --git a/tests/providers/m365/services/exchange/exchange_service_test.py b/tests/providers/m365/services/exchange/exchange_service_test.py index 73cf90c6d9..0aa484aab0 100644 --- a/tests/providers/m365/services/exchange/exchange_service_test.py +++ b/tests/providers/m365/services/exchange/exchange_service_test.py @@ -9,6 +9,7 @@ from prowler.providers.m365.services.exchange.exchange_service import ( MailboxAuditProperties, MailboxPolicy, Organization, + RoleAssignmentPolicy, TransportConfig, TransportRule, ) @@ -75,6 +76,27 @@ def mock_exchange_get_mailbox_policy(_): ) +def mock_exchange_get_role_assignment_policies(_): + return [ + RoleAssignmentPolicy( + name="Default Role Assignment Policy", + id="12345678-1234-1234-1234", + assigned_roles=[ + "MyProfileInformation", + "MyDistributionGroupMembership", + "MyRetentionPolicies", + "MyDistributionGroups", + "MyVoiceMail", + ], + ), + RoleAssignmentPolicy( + name="Test Policy", + id="12345678-1234-1234", + assigned_roles=[], + ), + ] + + def mock_exchange_get_mailbox_audit_properties(_): return [ MailboxAuditProperties( @@ -345,3 +367,35 @@ class Test_Exchange_Service: assert mailbox_audit_properties[0].audit_log_age == 90 assert mailbox_audit_properties[0].identity == "test" exchange_client.powershell.close() + + @patch( + "prowler.providers.m365.services.exchange.exchange_service.Exchange._get_role_assignment_policies", + new=mock_exchange_get_role_assignment_policies, + ) + def test_get_role_assignment_policies(self): + with ( + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + ): + exchange_client = Exchange( + set_mocked_m365_provider( + identity=M365IdentityInfo(tenant_domain=DOMAIN) + ) + ) + role_assignment_policies = exchange_client.role_assignment_policies + assert len(role_assignment_policies) == 2 + assert role_assignment_policies[0].name == "Default Role Assignment Policy" + assert role_assignment_policies[0].id == "12345678-1234-1234-1234" + assert role_assignment_policies[0].assigned_roles == [ + "MyProfileInformation", + "MyDistributionGroupMembership", + "MyRetentionPolicies", + "MyDistributionGroups", + "MyVoiceMail", + ] + assert role_assignment_policies[1].name == "Test Policy" + assert role_assignment_policies[1].id == "12345678-1234-1234" + assert role_assignment_policies[1].assigned_roles == [] + + exchange_client.powershell.close() From c938a2569322e5ef804490c4032833433f2bd4f0 Mon Sep 17 00:00:00 2001 From: Daniel Barranquero <74871504+danibarranqueroo@users.noreply.github.com> Date: Fri, 2 May 2025 12:44:39 +0200 Subject: [PATCH 17/31] feat(exchange): add new check `exchange_organization_modern_authentication_enabled` (#7636) Co-authored-by: Andoni A. <14891798+andoniaf@users.noreply.github.com> --- prowler/CHANGELOG.md | 1 + .../__init__.py | 0 ...odern_authentication_enabled.metadata.json | 30 ++++ ...anization_modern_authentication_enabled.py | 46 +++++++ .../services/exchange/exchange_service.py | 4 + ...anization_mailbox_auditing_enabled_test.py | 2 + ...ange_organization_mailtips_enabled_test.py | 2 + ...tion_modern_authentication_enabled_test.py | 130 ++++++++++++++++++ .../exchange/exchange_service_test.py | 2 + 9 files changed, 217 insertions(+) create mode 100644 prowler/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/__init__.py create mode 100644 prowler/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/exchange_organization_modern_authentication_enabled.metadata.json create mode 100644 prowler/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/exchange_organization_modern_authentication_enabled.py create mode 100644 tests/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/exchange_organization_modern_authentication_enabled_test.py diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index 19426c4e10..fc76ec6948 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -36,6 +36,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - Add new check `teams_meeting_presenters_restricted` [(#7613)](https://github.com/prowler-cloud/prowler/pull/7613) - Add new check `teams_meeting_chat_anonymous_users_disabled` [(#7579)](https://github.com/prowler-cloud/prowler/pull/7579) - Add Prowler Threat Score Compliance Framework [(#7603)](https://github.com/prowler-cloud/prowler/pull/7603) +- Add new check for Modern Authentication enabled for Exchange Online in M365 [(#7636)](https://github.com/prowler-cloud/prowler/pull/7636) - Add new check `sharepoint_onedrive_sync_restricted_unmanaged_devices` [(#7589)](https://github.com/prowler-cloud/prowler/pull/7589) - Add new check for Additional Storage restricted for Exchange in M365 [(#7638)](https://github.com/prowler-cloud/prowler/pull/7638) - Add new check for Roles Assignment Policy with no AddIns for Exchange in M365 [(#7644)](https://github.com/prowler-cloud/prowler/pull/7644) diff --git a/prowler/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/__init__.py b/prowler/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/prowler/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/exchange_organization_modern_authentication_enabled.metadata.json b/prowler/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/exchange_organization_modern_authentication_enabled.metadata.json new file mode 100644 index 0000000000..b78cd9cf19 --- /dev/null +++ b/prowler/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/exchange_organization_modern_authentication_enabled.metadata.json @@ -0,0 +1,30 @@ +{ + "Provider": "m365", + "CheckID": "exchange_organization_modern_authentication_enabled", + "CheckTitle": "Ensure Modern Authentication for Exchange Online is enabled.", + "CheckType": [], + "ServiceName": "exchange", + "SubServiceName": "", + "ResourceIdTemplate": "", + "Severity": "critical", + "ResourceType": "Exchange Organization Configuration", + "Description": "Ensure that modern authentication is enabled for Exchange Online, requiring exchange and mailboxes clients to use strong authentication mechanisms instead of basic authentication.", + "Risk": "If modern authentication is not enabled, Exchange Online email clients may fall back to basic authentication, making it easier for attackers to bypass multifactor authentication and compromise user credentials.", + "RelatedUrl": "https://learn.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/enable-or-disable-modern-authentication-in-exchange-online", + "Remediation": { + "Code": { + "CLI": "Set-OrganizationConfig -OAuth2ClientProfileEnabled $True", + "NativeIaC": "", + "Other": "", + "Terraform": "" + }, + "Recommendation": { + "Text": "Enable modern authentication in Exchange Online to enforce secure authentication methods for email clients.", + "Url": "https://learn.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/enable-or-disable-modern-authentication-in-exchange-online" + } + }, + "Categories": [], + "DependsOn": [], + "RelatedTo": [], + "Notes": "" +} diff --git a/prowler/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/exchange_organization_modern_authentication_enabled.py b/prowler/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/exchange_organization_modern_authentication_enabled.py new file mode 100644 index 0000000000..93b13d133d --- /dev/null +++ b/prowler/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/exchange_organization_modern_authentication_enabled.py @@ -0,0 +1,46 @@ +from typing import List + +from prowler.lib.check.models import Check, CheckReportM365 +from prowler.providers.m365.services.exchange.exchange_client import exchange_client + + +class exchange_organization_modern_authentication_enabled(Check): + """ + Check if Modern Authentication is enabled for Exchange Online. + + Attributes: + metadata: Metadata associated with the check (inherited from Check). + """ + + def execute(self) -> List[CheckReportM365]: + """ + Execute the check for Modern Authentication in Exchange Online. + + This method checks if Modern Authentication is enabled in the Exchange organization configuration. + + Returns: + List[CheckReportM365]: A list of reports containing the result of the check. + """ + findings = [] + organization_config = exchange_client.organization_config + if organization_config: + report = CheckReportM365( + metadata=self.metadata(), + resource=organization_config, + resource_name=organization_config.name, + resource_id=organization_config.guid, + ) + report.status = "FAIL" + report.status_extended = ( + "Modern Authentication is not enabled for Exchange Online." + ) + + if organization_config.oauth_enabled: + report.status = "PASS" + report.status_extended = ( + "Modern Authentication is enabled for Exchange Online." + ) + + findings.append(report) + + return findings diff --git a/prowler/providers/m365/services/exchange/exchange_service.py b/prowler/providers/m365/services/exchange/exchange_service.py index af2ecbce03..67f0564e74 100644 --- a/prowler/providers/m365/services/exchange/exchange_service.py +++ b/prowler/providers/m365/services/exchange/exchange_service.py @@ -44,6 +44,9 @@ class Exchange(M365Service): audit_disabled=organization_configuration.get( "AuditDisabled", False ), + oauth_enabled=organization_configuration.get( + "OAuth2ClientProfileEnabled", True + ), mailtips_enabled=organization_configuration.get( "MailTipsAllTipsEnabled", True ), @@ -235,6 +238,7 @@ class Organization(BaseModel): name: str guid: str audit_disabled: bool + oauth_enabled: bool mailtips_enabled: bool mailtips_external_recipient_enabled: bool mailtips_group_metrics_enabled: bool diff --git a/tests/providers/m365/services/exchange/exchange_organization_mailbox_auditing_enabled/exchange_organization_mailbox_auditing_enabled_test.py b/tests/providers/m365/services/exchange/exchange_organization_mailbox_auditing_enabled/exchange_organization_mailbox_auditing_enabled_test.py index 82860f3b7d..374c8a42c9 100644 --- a/tests/providers/m365/services/exchange/exchange_organization_mailbox_auditing_enabled/exchange_organization_mailbox_auditing_enabled_test.py +++ b/tests/providers/m365/services/exchange/exchange_organization_mailbox_auditing_enabled/exchange_organization_mailbox_auditing_enabled_test.py @@ -60,6 +60,7 @@ class Test_exchange_organization_mailbox_auditing_enabled: audit_disabled=True, name="test", guid="test", + oauth_enabled=True, mailtips_enabled=True, mailtips_external_recipient_enabled=True, mailtips_group_metrics_enabled=True, @@ -108,6 +109,7 @@ class Test_exchange_organization_mailbox_auditing_enabled: audit_disabled=False, name="test", guid="test", + oauth_enabled=True, mailtips_enabled=True, mailtips_external_recipient_enabled=True, mailtips_group_metrics_enabled=True, diff --git a/tests/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled_test.py b/tests/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled_test.py index cbcc6266c5..d3355b7f3e 100644 --- a/tests/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled_test.py +++ b/tests/providers/m365/services/exchange/exchange_organization_mailtips_enabled/exchange_organization_mailtips_enabled_test.py @@ -64,6 +64,7 @@ class Test_exchange_organization_mailtips_enabled: name="test-org", guid="org-guid", audit_disabled=False, + oauth_enabled=True, mailtips_enabled=False, mailtips_external_recipient_enabled=False, mailtips_group_metrics_enabled=True, @@ -116,6 +117,7 @@ class Test_exchange_organization_mailtips_enabled: name="test-org", guid="org-guid", audit_disabled=False, + oauth_enabled=True, mailtips_enabled=True, mailtips_external_recipient_enabled=True, mailtips_group_metrics_enabled=True, diff --git a/tests/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/exchange_organization_modern_authentication_enabled_test.py b/tests/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/exchange_organization_modern_authentication_enabled_test.py new file mode 100644 index 0000000000..419453c397 --- /dev/null +++ b/tests/providers/m365/services/exchange/exchange_organization_modern_authentication_enabled/exchange_organization_modern_authentication_enabled_test.py @@ -0,0 +1,130 @@ +from unittest import mock + +from tests.providers.m365.m365_fixtures import DOMAIN, set_mocked_m365_provider + + +class Test_exchange_organization_modern_authentication_enabled: + def test_no_organization(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + exchange_client.organization_config = None + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_organization_modern_authentication_enabled.exchange_organization_modern_authentication_enabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_organization_modern_authentication_enabled.exchange_organization_modern_authentication_enabled import ( + exchange_organization_modern_authentication_enabled, + ) + + check = exchange_organization_modern_authentication_enabled() + result = check.execute() + assert len(result) == 0 + + def test_modern_authentication_disabled(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_organization_modern_authentication_enabled.exchange_organization_modern_authentication_enabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_organization_modern_authentication_enabled.exchange_organization_modern_authentication_enabled import ( + exchange_organization_modern_authentication_enabled, + ) + from prowler.providers.m365.services.exchange.exchange_service import ( + Organization, + ) + + exchange_client.organization_config = Organization( + oauth_enabled=False, + name="test", + guid="test", + audit_disabled=False, + mailtips_enabled=False, + mailtips_external_recipient_enabled=False, + mailtips_group_metrics_enabled=True, + mailtips_large_audience_threshold=25, + ) + + check = exchange_organization_modern_authentication_enabled() + result = check.execute() + assert len(result) == 1 + assert result[0].status == "FAIL" + assert ( + result[0].status_extended + == "Modern Authentication is not enabled for Exchange Online." + ) + assert result[0].resource == exchange_client.organization_config.dict() + assert result[0].resource_name == "test" + assert result[0].resource_id == "test" + assert result[0].location == "global" + + def test_modern_authentication_enabled(self): + exchange_client = mock.MagicMock() + exchange_client.audited_tenant = "audited_tenant" + exchange_client.audited_domain = DOMAIN + + with ( + mock.patch( + "prowler.providers.common.provider.Provider.get_global_provider", + return_value=set_mocked_m365_provider(), + ), + mock.patch( + "prowler.providers.m365.lib.powershell.m365_powershell.M365PowerShell.connect_exchange_online" + ), + mock.patch( + "prowler.providers.m365.services.exchange.exchange_organization_modern_authentication_enabled.exchange_organization_modern_authentication_enabled.exchange_client", + new=exchange_client, + ), + ): + from prowler.providers.m365.services.exchange.exchange_organization_modern_authentication_enabled.exchange_organization_modern_authentication_enabled import ( + exchange_organization_modern_authentication_enabled, + ) + from prowler.providers.m365.services.exchange.exchange_service import ( + Organization, + ) + + exchange_client.organization_config = Organization( + oauth_enabled=True, + name="test", + guid="test", + audit_disabled=False, + mailtips_enabled=False, + mailtips_external_recipient_enabled=False, + mailtips_group_metrics_enabled=True, + mailtips_large_audience_threshold=25, + ) + + check = exchange_organization_modern_authentication_enabled() + result = check.execute() + assert len(result) == 1 + assert result[0].status == "PASS" + assert ( + result[0].status_extended + == "Modern Authentication is enabled for Exchange Online." + ) + assert result[0].resource == exchange_client.organization_config.dict() + assert result[0].resource_name == "test" + assert result[0].resource_id == "test" + assert result[0].location == "global" diff --git a/tests/providers/m365/services/exchange/exchange_service_test.py b/tests/providers/m365/services/exchange/exchange_service_test.py index 0aa484aab0..afeb326e46 100644 --- a/tests/providers/m365/services/exchange/exchange_service_test.py +++ b/tests/providers/m365/services/exchange/exchange_service_test.py @@ -21,6 +21,7 @@ def mock_exchange_get_organization_config(_): audit_disabled=True, name="test", guid="test", + oauth_enabled=True, mailtips_enabled=True, mailtips_external_recipient_enabled=False, mailtips_group_metrics_enabled=True, @@ -183,6 +184,7 @@ class Test_Exchange_Service: assert organization_config.name == "test" assert organization_config.guid == "test" assert organization_config.audit_disabled is True + assert organization_config.oauth_enabled is True assert organization_config.mailtips_enabled is True assert organization_config.mailtips_external_recipient_enabled is False assert organization_config.mailtips_group_metrics_enabled is True From 9828824b737b8deda61f4a6646b54e0ad45033b9 Mon Sep 17 00:00:00 2001 From: Andoni Alonso <14891798+andoniaf@users.noreply.github.com> Date: Mon, 5 May 2025 10:38:57 +0200 Subject: [PATCH 18/31] chore(sentry): attach stacktrace to logging events (#7598) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Adrián Jesús Peña Rodríguez --- api/README.md | 1 + api/src/backend/config/settings/sentry.py | 2 ++ docs/index.md | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/api/README.md b/api/README.md index 063d8342f6..a1241372ca 100644 --- a/api/README.md +++ b/api/README.md @@ -235,6 +235,7 @@ To view the logs for any component (e.g., Django, Celery worker), you can use th ```console docker logs -f $(docker ps --format "{{.Names}}" | grep 'api-') +``` ## Applying migrations diff --git a/api/src/backend/config/settings/sentry.py b/api/src/backend/config/settings/sentry.py index bf354b90e5..87d08bd6ee 100644 --- a/api/src/backend/config/settings/sentry.py +++ b/api/src/backend/config/settings/sentry.py @@ -97,4 +97,6 @@ sentry_sdk.init( # possible. "continuous_profiling_auto_start": True, }, + attach_stacktrace=True, + ignore_errors=IGNORED_EXCEPTIONS, ) diff --git a/docs/index.md b/docs/index.md index ff63c9fd02..1645b3d4fc 100644 --- a/docs/index.md +++ b/docs/index.md @@ -53,7 +53,7 @@ Prowler App can be installed in different ways, depending on your environment: You can change the environment variables in the `.env` file. Note that it is not recommended to use the default values in production environments. ???+ note - There is a development mode available, you can use the file https://github.com/prowler-cloud/prowler/blob/master/docker-compose.dev.yml to run the app in development mode. + There is a development mode available, you can use the file https://github.com/prowler-cloud/prowler/blob/master/docker-compose-dev.yml to run the app in development mode. ???+ warning Google and GitHub authentication is only available in [Prowler Cloud](https://prowler.com). From 180eb61feebfce6217b9e61663f8ed721e90af4c Mon Sep 17 00:00:00 2001 From: Alejandro Bailo <59607668+alejandrobailo@users.noreply.github.com> Date: Mon, 5 May 2025 12:23:04 +0200 Subject: [PATCH 19/31] fix: error about page number persistence when filters change (#7655) --- ui/components/filters/custom-date-picker.tsx | 14 ++-- ui/components/filters/custom-search-input.tsx | 17 +++-- ui/components/filters/filter-controls.tsx | 17 ++--- .../ui/custom/custom-dropdown-filter.tsx | 13 ++-- .../ui/table/data-table-filter-custom.tsx | 18 ++--- ui/hooks/use-url-filters.ts | 68 +++++++++++++++++++ 6 files changed, 97 insertions(+), 50 deletions(-) create mode 100644 ui/hooks/use-url-filters.ts diff --git a/ui/components/filters/custom-date-picker.tsx b/ui/components/filters/custom-date-picker.tsx index 7b39d6a6d8..cf2950d7f2 100644 --- a/ui/components/filters/custom-date-picker.tsx +++ b/ui/components/filters/custom-date-picker.tsx @@ -8,12 +8,14 @@ import { } from "@internationalized/date"; import { Button, ButtonGroup, DatePicker } from "@nextui-org/react"; import { useLocale } from "@react-aria/i18n"; -import { useRouter, useSearchParams } from "next/navigation"; +import { useSearchParams } from "next/navigation"; import React, { useCallback, useEffect, useRef } from "react"; +import { useUrlFilters } from "@/hooks/use-url-filters"; + export const CustomDatePicker = () => { - const router = useRouter(); const searchParams = useSearchParams(); + const { updateFilter } = useUrlFilters(); const [value, setValue] = React.useState(() => { const dateParam = searchParams.get("filter[inserted_at]"); @@ -28,15 +30,13 @@ export const CustomDatePicker = () => { const applyDateFilter = useCallback( (date: any) => { - const params = new URLSearchParams(searchParams.toString()); if (date) { - params.set("filter[inserted_at]", date.toString()); + updateFilter("inserted_at", date.toString()); } else { - params.delete("filter[inserted_at]"); + updateFilter("inserted_at", null); } - router.push(`?${params.toString()}`, { scroll: false }); }, - [router, searchParams], + [updateFilter], ); const initialRender = useRef(true); diff --git a/ui/components/filters/custom-search-input.tsx b/ui/components/filters/custom-search-input.tsx index 14d23bd812..0048236cc9 100644 --- a/ui/components/filters/custom-search-input.tsx +++ b/ui/components/filters/custom-search-input.tsx @@ -1,26 +1,25 @@ import { Input } from "@nextui-org/react"; import debounce from "lodash.debounce"; import { SearchIcon, XCircle } from "lucide-react"; -import { useRouter, useSearchParams } from "next/navigation"; +import { useSearchParams } from "next/navigation"; import React, { useCallback, useEffect, useState } from "react"; -export const CustomSearchInput: React.FC = () => { - const router = useRouter(); - const searchParams = useSearchParams(); +import { useUrlFilters } from "@/hooks/use-url-filters"; +export const CustomSearchInput: React.FC = () => { + const searchParams = useSearchParams(); + const { updateFilter } = useUrlFilters(); const [searchQuery, setSearchQuery] = useState(""); const applySearch = useCallback( (query: string) => { - const params = new URLSearchParams(searchParams.toString()); if (query) { - params.set("filter[search]", query); + updateFilter("search", query); } else { - params.delete("filter[search]"); + updateFilter("search", null); } - router.push(`?${params.toString()}`, { scroll: false }); }, - [router, searchParams], + [updateFilter], ); const debouncedChangeHandler = useCallback( diff --git a/ui/components/filters/filter-controls.tsx b/ui/components/filters/filter-controls.tsx index 7a41bc37d5..35dddb0b37 100644 --- a/ui/components/filters/filter-controls.tsx +++ b/ui/components/filters/filter-controls.tsx @@ -1,8 +1,9 @@ "use client"; -import { useRouter, useSearchParams } from "next/navigation"; -import React, { useCallback, useEffect, useState } from "react"; +import { useSearchParams } from "next/navigation"; +import React, { useEffect, useState } from "react"; +import { useUrlFilters } from "@/hooks/use-url-filters"; import { FilterControlsProps } from "@/types"; import { CrossIcon } from "../icons"; @@ -24,8 +25,8 @@ export const FilterControls: React.FC = ({ mutedFindings = false, customFilters, }) => { - const router = useRouter(); const searchParams = useSearchParams(); + const { clearAllFilters } = useUrlFilters(); const [showClearButton, setShowClearButton] = useState(false); useEffect(() => { @@ -35,16 +36,6 @@ export const FilterControls: React.FC = ({ setShowClearButton(hasFilters); }, [searchParams]); - const clearAllFilters = useCallback(() => { - const params = new URLSearchParams(searchParams.toString()); - Array.from(params.keys()).forEach((key) => { - if (key.startsWith("filter[") || key === "sort") { - params.delete(key); - } - }); - router.push(`?${params.toString()}`, { scroll: false }); - }, [router, searchParams]); - return (
diff --git a/ui/components/ui/custom/custom-dropdown-filter.tsx b/ui/components/ui/custom/custom-dropdown-filter.tsx index 8fc213f75f..7f659d9c13 100644 --- a/ui/components/ui/custom/custom-dropdown-filter.tsx +++ b/ui/components/ui/custom/custom-dropdown-filter.tsx @@ -11,10 +11,11 @@ import { ScrollShadow, } from "@nextui-org/react"; import { XCircle } from "lucide-react"; -import { useRouter, useSearchParams } from "next/navigation"; +import { useSearchParams } from "next/navigation"; import React, { useCallback, useEffect, useMemo, useState } from "react"; import { PlusCircleIcon } from "@/components/icons"; +import { useUrlFilters } from "@/hooks/use-url-filters"; import { CustomDropdownFilterProps } from "@/types"; const filterSelectedClass = @@ -24,8 +25,8 @@ export const CustomDropdownFilter: React.FC = ({ filter, onFilterChange, }) => { - const router = useRouter(); const searchParams = useSearchParams(); + const { clearFilter } = useUrlFilters(); const [groupSelected, setGroupSelected] = useState(new Set()); const [pendingClearFilter, setPendingClearFilter] = useState( null, @@ -114,13 +115,11 @@ export const CustomDropdownFilter: React.FC = ({ // Execute the update in the router after the render useEffect(() => { - if (pendingClearFilter) { - const params = new URLSearchParams(searchParams.toString()); - params.delete(`filter[${pendingClearFilter}]`); - router.push(`?${params.toString()}`, { scroll: false }); + if (pendingClearFilter && filter) { + clearFilter(pendingClearFilter); setPendingClearFilter(null); // Reset the state } - }, [pendingClearFilter, searchParams, router]); + }, [pendingClearFilter, clearFilter, filter]); return (
diff --git a/ui/components/ui/table/data-table-filter-custom.tsx b/ui/components/ui/table/data-table-filter-custom.tsx index 3ef0c0d330..655297659c 100644 --- a/ui/components/ui/table/data-table-filter-custom.tsx +++ b/ui/components/ui/table/data-table-filter-custom.tsx @@ -1,11 +1,11 @@ "use client"; -import { useRouter, useSearchParams } from "next/navigation"; import React, { useState } from "react"; import { useCallback } from "react"; import { CustomFilterIcon } from "@/components/icons"; import { CustomButton, CustomDropdownFilter } from "@/components/ui/custom"; +import { useUrlFilters } from "@/hooks/use-url-filters"; import { FilterOption } from "@/types"; export interface DataTableFilterCustomProps { @@ -17,24 +17,14 @@ export const DataTableFilterCustom = ({ filters, defaultOpen = false, }: DataTableFilterCustomProps) => { - const router = useRouter(); - const searchParams = useSearchParams(); + const { updateFilter } = useUrlFilters(); const [showFilters, setShowFilters] = useState(defaultOpen); const pushDropdownFilter = useCallback( (key: string, values: string[]) => { - const params = new URLSearchParams(searchParams); - const filterKey = `filter[${key}]`; - - if (values.length === 0) { - params.delete(filterKey); - } else { - params.set(filterKey, values.join(",")); - } - - router.push(`?${params.toString()}`); + updateFilter(key, values.length > 0 ? values : null); }, - [router, searchParams], + [updateFilter], ); return ( diff --git a/ui/hooks/use-url-filters.ts b/ui/hooks/use-url-filters.ts new file mode 100644 index 0000000000..c29de37327 --- /dev/null +++ b/ui/hooks/use-url-filters.ts @@ -0,0 +1,68 @@ +"use client"; + +import { usePathname, useRouter, useSearchParams } from "next/navigation"; +import { useCallback } from "react"; + +/** + * Custom hook to handle URL filters and automatically reset + * pagination when filters change. + */ +export const useUrlFilters = () => { + const router = useRouter(); + const searchParams = useSearchParams(); + const pathname = usePathname(); + + const updateFilter = useCallback( + (key: string, value: string | string[] | null) => { + const params = new URLSearchParams(searchParams.toString()); + + // Always reset page to 1 when a filter is applied + params.set("page", "1"); + + const filterKey = key.startsWith("filter[") ? key : `filter[${key}]`; + + if (value === null || (Array.isArray(value) && value.length === 0)) { + params.delete(filterKey); + } else if (Array.isArray(value)) { + params.set(filterKey, value.join(",")); + } else { + params.set(filterKey, value); + } + + router.push(`${pathname}?${params.toString()}`, { scroll: false }); + }, + [router, searchParams, pathname], + ); + + const clearFilter = useCallback( + (key: string) => { + const params = new URLSearchParams(searchParams.toString()); + const filterKey = key.startsWith("filter[") ? key : `filter[${key}]`; + + params.delete(filterKey); + params.set("page", "1"); + + router.push(`${pathname}?${params.toString()}`, { scroll: false }); + }, + [router, searchParams, pathname], + ); + + const clearAllFilters = useCallback(() => { + const params = new URLSearchParams(searchParams.toString()); + Array.from(params.keys()).forEach((key) => { + if (key.startsWith("filter[") || key === "sort") { + params.delete(key); + } + }); + + params.delete("page"); + + router.push(`${pathname}?${params.toString()}`, { scroll: false }); + }, [router, searchParams, pathname]); + + return { + updateFilter, + clearFilter, + clearAllFilters, + }; +}; From 44f8e4c488a6e2e861da4e5410621b987d8b8dc6 Mon Sep 17 00:00:00 2001 From: sumit-tft <70506234+sumit-tft@users.noreply.github.com> Date: Mon, 5 May 2025 19:12:06 +0530 Subject: [PATCH 20/31] feat(ui): Page size for datatables (#7634) --- ui/actions/invitations/invitation.ts | 2 + ui/actions/manage-groups/manage-groups.ts | 3 ++ ui/actions/providers/providers.ts | 2 + ui/actions/roles/roles.ts | 2 + ui/actions/scans/scans.ts | 2 + ui/actions/users/users.ts | 2 + ui/app/(prowler)/findings/page.tsx | 3 +- ui/app/(prowler)/invitations/page.tsx | 9 +++- ui/app/(prowler)/manage-groups/page.tsx | 2 + ui/app/(prowler)/providers/page.tsx | 9 +++- ui/app/(prowler)/roles/page.tsx | 3 +- ui/app/(prowler)/scans/page.tsx | 3 +- ui/app/(prowler)/users/page.tsx | 3 +- .../ui/table/data-table-pagination.tsx | 51 +++++++++++++++++-- ui/components/ui/table/data-table.tsx | 1 + ui/lib/helper.ts | 5 +- ui/types/components.ts | 1 + 17 files changed, 93 insertions(+), 10 deletions(-) diff --git a/ui/actions/invitations/invitation.ts b/ui/actions/invitations/invitation.ts index 6211ed5a06..44cbd1a455 100644 --- a/ui/actions/invitations/invitation.ts +++ b/ui/actions/invitations/invitation.ts @@ -15,6 +15,7 @@ export const getInvitations = async ({ query = "", sort = "", filters = {}, + pageSize = 10, }) => { const headers = await getAuthHeaders({ contentType: false }); @@ -23,6 +24,7 @@ export const getInvitations = async ({ const url = new URL(`${apiBaseUrl}/tenants/invitations`); if (page) url.searchParams.append("page[number]", page.toString()); + if (pageSize) url.searchParams.append("page[size]", pageSize.toString()); if (query) url.searchParams.append("filter[search]", query); if (sort) url.searchParams.append("sort", sort); diff --git a/ui/actions/manage-groups/manage-groups.ts b/ui/actions/manage-groups/manage-groups.ts index 118ab1704e..f2b1ca7289 100644 --- a/ui/actions/manage-groups/manage-groups.ts +++ b/ui/actions/manage-groups/manage-groups.ts @@ -16,11 +16,13 @@ export const getProviderGroups = async ({ query = "", sort = "", filters = {}, + pageSize = 10, }: { page?: number; query?: string; sort?: string; filters?: Record; + pageSize?: number; }): Promise => { const headers = await getAuthHeaders({ contentType: false }); @@ -29,6 +31,7 @@ export const getProviderGroups = async ({ const url = new URL(`${apiBaseUrl}/provider-groups`); if (page) url.searchParams.append("page[number]", page.toString()); + if (pageSize) url.searchParams.append("page[size]", pageSize.toString()); if (query) url.searchParams.append("filter[search]", query); if (sort) url.searchParams.append("sort", sort); diff --git a/ui/actions/providers/providers.ts b/ui/actions/providers/providers.ts index 6dbb3a0aee..2a36f7ca05 100644 --- a/ui/actions/providers/providers.ts +++ b/ui/actions/providers/providers.ts @@ -16,6 +16,7 @@ export const getProviders = async ({ query = "", sort = "", filters = {}, + pageSize = 10, }) => { const headers = await getAuthHeaders({ contentType: false }); @@ -24,6 +25,7 @@ export const getProviders = async ({ const url = new URL(`${apiBaseUrl}/providers?include=provider_groups`); if (page) url.searchParams.append("page[number]", page.toString()); + if (pageSize) url.searchParams.append("page[size]", pageSize.toString()); if (query) url.searchParams.append("filter[search]", query); if (sort) url.searchParams.append("sort", sort); diff --git a/ui/actions/roles/roles.ts b/ui/actions/roles/roles.ts index 94dd92d270..e63558d1b9 100644 --- a/ui/actions/roles/roles.ts +++ b/ui/actions/roles/roles.ts @@ -15,6 +15,7 @@ export const getRoles = async ({ query = "", sort = "", filters = {}, + pageSize = 10, }) => { const headers = await getAuthHeaders({ contentType: false }); @@ -23,6 +24,7 @@ export const getRoles = async ({ const url = new URL(`${apiBaseUrl}/roles`); if (page) url.searchParams.append("page[number]", page.toString()); + if (pageSize) url.searchParams.append("page[size]", pageSize.toString()); if (query) url.searchParams.append("filter[search]", query); if (sort) url.searchParams.append("sort", sort); diff --git a/ui/actions/scans/scans.ts b/ui/actions/scans/scans.ts index 0871bded69..81ded7e469 100644 --- a/ui/actions/scans/scans.ts +++ b/ui/actions/scans/scans.ts @@ -15,6 +15,7 @@ export const getScans = async ({ query = "", sort = "", filters = {}, + pageSize = 10, }) => { const headers = await getAuthHeaders({ contentType: false }); @@ -23,6 +24,7 @@ export const getScans = async ({ const url = new URL(`${apiBaseUrl}/scans`); if (page) url.searchParams.append("page[number]", page.toString()); + if (pageSize) url.searchParams.append("page[size]", pageSize.toString()); if (query) url.searchParams.append("filter[search]", query); if (sort) url.searchParams.append("sort", sort); diff --git a/ui/actions/users/users.ts b/ui/actions/users/users.ts index af688877bd..b826c5fcc7 100644 --- a/ui/actions/users/users.ts +++ b/ui/actions/users/users.ts @@ -15,6 +15,7 @@ export const getUsers = async ({ query = "", sort = "", filters = {}, + pageSize = 10, }) => { const headers = await getAuthHeaders({ contentType: false }); @@ -23,6 +24,7 @@ export const getUsers = async ({ const url = new URL(`${apiBaseUrl}/users?include=roles`); if (page) url.searchParams.append("page[number]", page.toString()); + if (pageSize) url.searchParams.append("page[size]", pageSize.toString()); if (query) url.searchParams.append("filter[search]", query); if (sort) url.searchParams.append("sort", sort); diff --git a/ui/app/(prowler)/findings/page.tsx b/ui/app/(prowler)/findings/page.tsx index 9fa50fc115..6166ed4f94 100644 --- a/ui/app/(prowler)/findings/page.tsx +++ b/ui/app/(prowler)/findings/page.tsx @@ -149,6 +149,7 @@ const SSRDataTable = async ({ searchParams: SearchParamsProps; }) => { const page = parseInt(searchParams.page?.toString() || "1", 10); + const pageSize = parseInt(searchParams.pageSize?.toString() || "10", 10); const defaultSort = "severity,status,-inserted_at"; const sort = searchParams.sort?.toString() || defaultSort; @@ -186,7 +187,7 @@ const SSRDataTable = async ({ page, sort: encodedSort, filters, - pageSize: 10, + pageSize, }); // Create dictionaries for resources, scans, and providers diff --git a/ui/app/(prowler)/invitations/page.tsx b/ui/app/(prowler)/invitations/page.tsx index b51a315d15..89a7776b13 100644 --- a/ui/app/(prowler)/invitations/page.tsx +++ b/ui/app/(prowler)/invitations/page.tsx @@ -44,6 +44,7 @@ const SSRDataTable = async ({ }) => { const page = parseInt(searchParams.page?.toString() || "1", 10); const sort = searchParams.sort?.toString(); + const pageSize = parseInt(searchParams.pageSize?.toString() || "10", 10); // Extract all filter parameters const filters = Object.fromEntries( @@ -54,7 +55,13 @@ const SSRDataTable = async ({ const query = (filters["filter[search]"] as string) || ""; // Fetch invitations and roles - const invitationsData = await getInvitations({ query, page, sort, filters }); + const invitationsData = await getInvitations({ + query, + page, + sort, + filters, + pageSize, + }); const rolesData = await getRoles({}); // Create a dictionary for roles by invitation ID diff --git a/ui/app/(prowler)/manage-groups/page.tsx b/ui/app/(prowler)/manage-groups/page.tsx index 62b3c83342..178baf320e 100644 --- a/ui/app/(prowler)/manage-groups/page.tsx +++ b/ui/app/(prowler)/manage-groups/page.tsx @@ -163,6 +163,7 @@ const SSRDataTable = async ({ }) => { const page = parseInt(searchParams.page?.toString() || "1", 10); const sort = searchParams.sort?.toString(); + const pageSize = parseInt(searchParams.pageSize?.toString() || "10", 10); // Convert filters to the correct type const filters: Record = {}; @@ -178,6 +179,7 @@ const SSRDataTable = async ({ page, sort, filters, + pageSize, }); return ( { const page = parseInt(searchParams.page?.toString() || "1", 10); const sort = searchParams.sort?.toString(); + const pageSize = parseInt(searchParams.pageSize?.toString() || "10", 10); // Extract all filter parameters const filters = Object.fromEntries( @@ -59,7 +60,13 @@ const SSRDataTable = async ({ // Extract query from filters const query = (filters["filter[search]"] as string) || ""; - const providersData = await getProviders({ query, page, sort, filters }); + const providersData = await getProviders({ + query, + page, + sort, + filters, + pageSize, + }); const providerGroupDict = providersData?.included diff --git a/ui/app/(prowler)/roles/page.tsx b/ui/app/(prowler)/roles/page.tsx index f0515ea546..d613990d98 100644 --- a/ui/app/(prowler)/roles/page.tsx +++ b/ui/app/(prowler)/roles/page.tsx @@ -41,6 +41,7 @@ const SSRDataTable = async ({ }) => { const page = parseInt(searchParams.page?.toString() || "1", 10); const sort = searchParams.sort?.toString(); + const pageSize = parseInt(searchParams.pageSize?.toString() || "10", 10); // Extract all filter parameters const filters = Object.fromEntries( @@ -50,7 +51,7 @@ const SSRDataTable = async ({ // Extract query from filters const query = (filters["filter[search]"] as string) || ""; - const rolesData = await getRoles({ query, page, sort, filters }); + const rolesData = await getRoles({ query, page, sort, filters, pageSize }); return ( { const page = parseInt(searchParams.page?.toString() || "1", 10); + const pageSize = parseInt(searchParams.pageSize?.toString() || "10", 10); const sort = searchParams.sort?.toString(); // Extract all filter parameters, excluding scanId @@ -120,7 +121,7 @@ const SSRDataTableScans = async ({ const query = (filters["filter[search]"] as string) || ""; // Fetch scans data - const scansData = await getScans({ query, page, sort, filters }); + const scansData = await getScans({ query, page, sort, filters, pageSize }); // Handle expanded scans data const expandedScansData = await Promise.all( diff --git a/ui/app/(prowler)/users/page.tsx b/ui/app/(prowler)/users/page.tsx index b4a19ac5fc..d6bbe6152f 100644 --- a/ui/app/(prowler)/users/page.tsx +++ b/ui/app/(prowler)/users/page.tsx @@ -41,6 +41,7 @@ const SSRDataTable = async ({ }) => { const page = parseInt(searchParams.page?.toString() || "1", 10); const sort = searchParams.sort?.toString(); + const pageSize = parseInt(searchParams.pageSize?.toString() || "10", 10); // Extract all filter parameters const filters = Object.fromEntries( @@ -50,7 +51,7 @@ const SSRDataTable = async ({ // Extract query from filters const query = (filters["filter[search]"] as string) || ""; - const usersData = await getUsers({ query, page, sort, filters }); + const usersData = await getUsers({ query, page, sort, filters, pageSize }); const rolesData = await getRoles({}); // Create a dictionary for roles by user ID diff --git a/ui/components/ui/table/data-table-pagination.tsx b/ui/components/ui/table/data-table-pagination.tsx index c81e272100..a7773925e9 100644 --- a/ui/components/ui/table/data-table-pagination.tsx +++ b/ui/components/ui/table/data-table-pagination.tsx @@ -7,23 +7,36 @@ import { DoubleArrowRightIcon, } from "@radix-ui/react-icons"; import Link from "next/link"; -import { usePathname, useSearchParams } from "next/navigation"; +import { usePathname, useRouter, useSearchParams } from "next/navigation"; +import { useState } from "react"; import { getPaginationInfo } from "@/lib"; import { MetaDataProps } from "@/types"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from "../select/Select"; + interface DataTablePaginationProps { - pageSizeOptions?: number[]; metadata?: MetaDataProps; } export function DataTablePagination({ metadata }: DataTablePaginationProps) { const pathname = usePathname(); const searchParams = useSearchParams(); + const router = useRouter(); + const initialPageSize = searchParams.get("pageSize") ?? "10"; + + const [selectedPageSize, setSelectedPageSize] = useState(initialPageSize); if (!metadata) return null; - const { currentPage, totalPages, totalEntries } = getPaginationInfo(metadata); + const { currentPage, totalPages, totalEntries, itemsPerPageOptions } = + getPaginationInfo(metadata); const createPageUrl = (pageNumber: number | string) => { const params = new URLSearchParams(searchParams); @@ -44,6 +57,38 @@ export function DataTablePagination({ metadata }: DataTablePaginationProps) { {totalEntries} entries in Total.
+ {/* Rows per page selector */} +
+

Rows per page

+ +
Page {currentPage} of {totalPages}
diff --git a/ui/components/ui/table/data-table.tsx b/ui/components/ui/table/data-table.tsx index 4577f1bf08..b759e4316d 100644 --- a/ui/components/ui/table/data-table.tsx +++ b/ui/components/ui/table/data-table.tsx @@ -48,6 +48,7 @@ export function DataTable({ getSortedRowModel: getSortedRowModel(), onColumnFiltersChange: setColumnFilters, getFilteredRowModel: getFilteredRowModel(), + manualPagination: true, state: { sorting, columnFilters, diff --git a/ui/lib/helper.ts b/ui/lib/helper.ts index e8e7a9e71c..94da6e948e 100644 --- a/ui/lib/helper.ts +++ b/ui/lib/helper.ts @@ -161,8 +161,11 @@ export const getPaginationInfo = (metadata: MetaDataProps) => { const currentPage = metadata?.pagination.page ?? "1"; const totalPages = metadata?.pagination.pages; const totalEntries = metadata?.pagination.count; + const itemsPerPageOptions = metadata?.pagination.itemsPerPage ?? [ + 10, 20, 30, 50, 100, + ]; - return { currentPage, totalPages, totalEntries }; + return { currentPage, totalPages, totalEntries, itemsPerPageOptions }; }; export function encryptKey(passkey: string) { diff --git a/ui/types/components.ts b/ui/types/components.ts index b9a9453690..606c0fe0ba 100644 --- a/ui/types/components.ts +++ b/ui/types/components.ts @@ -755,6 +755,7 @@ export interface MetaDataProps { page: number; pages: number; count: number; + itemsPerPage?: Array; }; version: string; } From 844dd5ba958719ff4db3f0bc3498a069b60a80d7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 May 2025 09:53:40 -0400 Subject: [PATCH 21/31] chore(deps): bump actions/setup-python from 5.5.0 to 5.6.0 (#7647) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/api-pull-request.yml | 2 +- .github/workflows/sdk-build-lint-push-containers.yml | 2 +- .github/workflows/sdk-pull-request.yml | 2 +- .github/workflows/sdk-pypi-release.yml | 2 +- .github/workflows/sdk-refresh-aws-services-regions.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/api-pull-request.yml b/.github/workflows/api-pull-request.yml index 49df46c8e5..178e91d7a5 100644 --- a/.github/workflows/api-pull-request.yml +++ b/.github/workflows/api-pull-request.yml @@ -94,7 +94,7 @@ jobs: - name: Set up Python ${{ matrix.python-version }} if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true' - uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0 + uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 with: python-version: ${{ matrix.python-version }} cache: "poetry" diff --git a/.github/workflows/sdk-build-lint-push-containers.yml b/.github/workflows/sdk-build-lint-push-containers.yml index e29d91604e..28f935c0be 100644 --- a/.github/workflows/sdk-build-lint-push-containers.yml +++ b/.github/workflows/sdk-build-lint-push-containers.yml @@ -62,7 +62,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Setup Python - uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0 + uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 with: python-version: ${{ env.PYTHON_VERSION }} diff --git a/.github/workflows/sdk-pull-request.yml b/.github/workflows/sdk-pull-request.yml index 484df4e10a..65986ea7fa 100644 --- a/.github/workflows/sdk-pull-request.yml +++ b/.github/workflows/sdk-pull-request.yml @@ -51,7 +51,7 @@ jobs: - name: Set up Python ${{ matrix.python-version }} if: steps.are-non-ignored-files-changed.outputs.any_changed == 'true' - uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0 + uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 with: python-version: ${{ matrix.python-version }} cache: "poetry" diff --git a/.github/workflows/sdk-pypi-release.yml b/.github/workflows/sdk-pypi-release.yml index e2183909e5..07d6ca5a6f 100644 --- a/.github/workflows/sdk-pypi-release.yml +++ b/.github/workflows/sdk-pypi-release.yml @@ -71,7 +71,7 @@ jobs: pipx install poetry==2.1.1 - name: Setup Python - uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0 + uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 with: python-version: ${{ env.PYTHON_VERSION }} # cache: ${{ env.CACHE }} diff --git a/.github/workflows/sdk-refresh-aws-services-regions.yml b/.github/workflows/sdk-refresh-aws-services-regions.yml index cc0fdab1e1..8ebc1b5db0 100644 --- a/.github/workflows/sdk-refresh-aws-services-regions.yml +++ b/.github/workflows/sdk-refresh-aws-services-regions.yml @@ -28,7 +28,7 @@ jobs: ref: ${{ env.GITHUB_BRANCH }} - name: setup python - uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0 + uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 with: python-version: 3.9 #install the python needed From a580b1ee04d10f84cd67bb702ef9a2e31f516fa1 Mon Sep 17 00:00:00 2001 From: drewadwade <32397380+drewadwade@users.noreply.github.com> Date: Mon, 5 May 2025 09:53:55 -0400 Subject: [PATCH 22/31] fix(azure): CIS v2.0 4.4.1 Uses Wrong Check (#7656) Co-authored-by: pedrooot --- prowler/CHANGELOG.md | 1 + prowler/compliance/azure/cis_2.0_azure.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index fc76ec6948..eaeb7d4812 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -55,6 +55,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - Remove invalid parameter `create_file_descriptor` [(#7600)](https://github.com/prowler-cloud/prowler/pull/7600) - Remove first empty line in HTML output [(#7606)](https://github.com/prowler-cloud/prowler/pull/7606) - Ensure that ContentType in upload_file matches the uploaded file’s format [(#7635)](https://github.com/prowler-cloud/prowler/pull/7635) +- Fix incorrect check inside 4.4.1 requirement for Azure CIS 2.0 [(#7656)](https://github.com/prowler-cloud/prowler/pull/7656). --- diff --git a/prowler/compliance/azure/cis_2.0_azure.json b/prowler/compliance/azure/cis_2.0_azure.json index 6a35609d3e..59ab14879d 100644 --- a/prowler/compliance/azure/cis_2.0_azure.json +++ b/prowler/compliance/azure/cis_2.0_azure.json @@ -1988,7 +1988,7 @@ "Id": "4.4.1", "Description": "Ensure 'Enforce SSL connection' is set to 'Enabled' for Standard MySQL Database Server", "Checks": [ - "postgresql_flexible_server_allow_access_services_disabled" + "mysql_flexible_server_ssl_connection_enabled" ], "Attributes": [ { From 473631f83be7796f3f583352fe1509731440cbda Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 May 2025 09:54:16 -0400 Subject: [PATCH 23/31] chore(deps): bump trufflesecurity/trufflehog from 3.88.23 to 3.88.26 (#7648) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/find-secrets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/find-secrets.yml b/.github/workflows/find-secrets.yml index 4043f22b7d..a6240297b6 100644 --- a/.github/workflows/find-secrets.yml +++ b/.github/workflows/find-secrets.yml @@ -11,7 +11,7 @@ jobs: with: fetch-depth: 0 - name: TruffleHog OSS - uses: trufflesecurity/trufflehog@690e5c7aff8347c3885096f3962a0633d9129607 # v3.88.23 + uses: trufflesecurity/trufflehog@b06f6d72a3791308bb7ba59c2b8cb7a083bd17e4 # v3.88.26 with: path: ./ base: ${{ github.event.repository.default_branch }} From d5ab72a97c32b50245964fa593ca31e37f68d2bd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 May 2025 09:54:34 -0400 Subject: [PATCH 24/31] chore(deps): bump github/codeql-action from 3.28.15 to 3.28.16 (#7649) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/api-codeql.yml | 4 ++-- .github/workflows/sdk-codeql.yml | 4 ++-- .github/workflows/ui-codeql.yml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/api-codeql.yml b/.github/workflows/api-codeql.yml index df5c1456a1..95b044007b 100644 --- a/.github/workflows/api-codeql.yml +++ b/.github/workflows/api-codeql.yml @@ -48,12 +48,12 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15 + uses: github/codeql-action/init@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16 with: languages: ${{ matrix.language }} config-file: ./.github/codeql/api-codeql-config.yml - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15 + uses: github/codeql-action/analyze@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16 with: category: "/language:${{matrix.language}}" diff --git a/.github/workflows/sdk-codeql.yml b/.github/workflows/sdk-codeql.yml index ac48ea1163..5634ead1e6 100644 --- a/.github/workflows/sdk-codeql.yml +++ b/.github/workflows/sdk-codeql.yml @@ -56,12 +56,12 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15 + uses: github/codeql-action/init@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16 with: languages: ${{ matrix.language }} config-file: ./.github/codeql/sdk-codeql-config.yml - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15 + uses: github/codeql-action/analyze@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16 with: category: "/language:${{matrix.language}}" diff --git a/.github/workflows/ui-codeql.yml b/.github/workflows/ui-codeql.yml index 29d1fe600d..a43f59c245 100644 --- a/.github/workflows/ui-codeql.yml +++ b/.github/workflows/ui-codeql.yml @@ -48,12 +48,12 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15 + uses: github/codeql-action/init@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16 with: languages: ${{ matrix.language }} config-file: ./.github/codeql/ui-codeql-config.yml - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15 + uses: github/codeql-action/analyze@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16 with: category: "/language:${{matrix.language}}" From e6d48c1fa4369252654a9866c0324f70ecc9a148 Mon Sep 17 00:00:00 2001 From: Prowler Bot Date: Mon, 5 May 2025 15:56:16 +0200 Subject: [PATCH 25/31] chore(regions_update): Changes in regions for AWS services (#7657) Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com> --- .../providers/aws/aws_regions_by_service.json | 34 ++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/prowler/providers/aws/aws_regions_by_service.json b/prowler/providers/aws/aws_regions_by_service.json index 210a12a965..535c7e8aa0 100644 --- a/prowler/providers/aws/aws_regions_by_service.json +++ b/prowler/providers/aws/aws_regions_by_service.json @@ -821,6 +821,7 @@ "ap-south-1", "ap-southeast-1", "ap-southeast-2", + "ca-central-1", "eu-central-1", "eu-north-1", "eu-west-1", @@ -2801,6 +2802,7 @@ "ap-southeast-3", "ap-southeast-4", "ap-southeast-5", + "ap-southeast-7", "ca-central-1", "ca-west-1", "eu-central-1", @@ -2814,6 +2816,7 @@ "il-central-1", "me-central-1", "me-south-1", + "mx-central-1", "sa-east-1", "us-east-1", "us-east-2", @@ -3445,6 +3448,16 @@ ] } }, + "dsql": { + "regions": { + "aws": [ + "us-east-1", + "us-east-2" + ], + "aws-cn": [], + "aws-us-gov": [] + } + }, "dynamodb": { "regions": { "aws": [ @@ -8769,6 +8782,7 @@ "ap-northeast-1", "ap-northeast-2", "ap-south-1", + "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", @@ -9280,7 +9294,10 @@ "us-west-1", "us-west-2" ], - "aws-cn": [], + "aws-cn": [ + "cn-north-1", + "cn-northwest-1" + ], "aws-us-gov": [ "us-gov-east-1", "us-gov-west-1" @@ -9634,6 +9651,8 @@ "ap-southeast-2", "ap-southeast-3", "ap-southeast-4", + "ap-southeast-5", + "ap-southeast-7", "ca-central-1", "ca-west-1", "eu-central-1", @@ -9647,6 +9666,7 @@ "il-central-1", "me-central-1", "me-south-1", + "mx-central-1", "sa-east-1", "us-east-1", "us-east-2", @@ -9849,6 +9869,7 @@ "aws": [ "ap-northeast-1", "ap-northeast-2", + "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ca-central-1", @@ -9856,6 +9877,8 @@ "eu-north-1", "eu-west-1", "eu-west-2", + "eu-west-3", + "sa-east-1", "us-east-1", "us-east-2", "us-west-2" @@ -10225,6 +10248,7 @@ "ap-southeast-3", "ap-southeast-4", "ap-southeast-5", + "ap-southeast-7", "ca-central-1", "ca-west-1", "eu-central-1", @@ -10238,6 +10262,7 @@ "il-central-1", "me-central-1", "me-south-1", + "mx-central-1", "sa-east-1", "us-east-1", "us-east-2", @@ -11106,6 +11131,13 @@ "aws-us-gov": [] } }, + "timestream-query": { + "regions": { + "aws": [], + "aws-cn": [], + "aws-us-gov": [] + } + }, "timestream-write": { "regions": { "aws": [ From ae74cab70ab4418542451e44acf5178cd6560cf5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 May 2025 09:58:38 -0400 Subject: [PATCH 26/31] chore(deps): bump docker/build-push-action from 6.15.0 to 6.16.0 (#7650) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/api-build-lint-push-containers.yml | 4 ++-- .github/workflows/api-pull-request.yml | 2 +- .github/workflows/sdk-build-lint-push-containers.yml | 4 ++-- .github/workflows/ui-build-lint-push-containers.yml | 4 ++-- .github/workflows/ui-pull-request.yml | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/api-build-lint-push-containers.yml b/.github/workflows/api-build-lint-push-containers.yml index 4a24e47031..953bd032f1 100644 --- a/.github/workflows/api-build-lint-push-containers.yml +++ b/.github/workflows/api-build-lint-push-containers.yml @@ -81,7 +81,7 @@ jobs: - name: Build and push container image (latest) # Comment the following line for testing if: github.event_name == 'push' - uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0 + uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16.0 with: context: ${{ env.WORKING_DIRECTORY }} # Set push: false for testing @@ -94,7 +94,7 @@ jobs: - name: Build and push container image (release) if: github.event_name == 'release' - uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0 + uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16.0 with: context: ${{ env.WORKING_DIRECTORY }} push: true diff --git a/.github/workflows/api-pull-request.yml b/.github/workflows/api-pull-request.yml index 178e91d7a5..675c0ae500 100644 --- a/.github/workflows/api-pull-request.yml +++ b/.github/workflows/api-pull-request.yml @@ -179,7 +179,7 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0 - name: Build Container - uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0 + uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16.0 with: context: ${{ env.API_WORKING_DIR }} push: false diff --git a/.github/workflows/sdk-build-lint-push-containers.yml b/.github/workflows/sdk-build-lint-push-containers.yml index 28f935c0be..f4314055ae 100644 --- a/.github/workflows/sdk-build-lint-push-containers.yml +++ b/.github/workflows/sdk-build-lint-push-containers.yml @@ -127,7 +127,7 @@ jobs: - name: Build and push container image (latest) if: github.event_name == 'push' - uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0 + uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16.0 with: push: true tags: | @@ -140,7 +140,7 @@ jobs: - name: Build and push container image (release) if: github.event_name == 'release' - uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0 + uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16.0 with: # Use local context to get changes # https://github.com/docker/build-push-action#path-context diff --git a/.github/workflows/ui-build-lint-push-containers.yml b/.github/workflows/ui-build-lint-push-containers.yml index 8d14ae0bbe..6de0e6abf3 100644 --- a/.github/workflows/ui-build-lint-push-containers.yml +++ b/.github/workflows/ui-build-lint-push-containers.yml @@ -81,7 +81,7 @@ jobs: - name: Build and push container image (latest) # Comment the following line for testing if: github.event_name == 'push' - uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0 + uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16.0 with: context: ${{ env.WORKING_DIRECTORY }} build-args: | @@ -96,7 +96,7 @@ jobs: - name: Build and push container image (release) if: github.event_name == 'release' - uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0 + uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16.0 with: context: ${{ env.WORKING_DIRECTORY }} build-args: | diff --git a/.github/workflows/ui-pull-request.yml b/.github/workflows/ui-pull-request.yml index 5ee8f2fe6f..942a4efade 100644 --- a/.github/workflows/ui-pull-request.yml +++ b/.github/workflows/ui-pull-request.yml @@ -50,7 +50,7 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0 - name: Build Container - uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0 + uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16.0 with: context: ${{ env.UI_WORKING_DIR }} # Always build using `prod` target From 887db29d9609ccc0c81c8c205adc139e61fa8484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Mart=C3=ADn?= Date: Mon, 5 May 2025 16:38:06 +0200 Subject: [PATCH 27/31] feat(dashboard): support m365 provider (#7633) Co-authored-by: Sergio Garcia --- .../assets/images/providers/m365_provider.png | Bin 0 -> 69594 bytes dashboard/assets/styles/dist/output.css | 5 +- dashboard/compliance/cis_4_0_m365.py | 24 ++++++++++ dashboard/lib/layouts.py | 3 +- dashboard/pages/compliance.py | 11 +++++ dashboard/pages/overview.py | 43 ++++++++++++++++++ docs/img/dashboard.png | Bin 763824 -> 320174 bytes prowler/CHANGELOG.md | 1 + 8 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 dashboard/assets/images/providers/m365_provider.png create mode 100644 dashboard/compliance/cis_4_0_m365.py diff --git a/dashboard/assets/images/providers/m365_provider.png b/dashboard/assets/images/providers/m365_provider.png new file mode 100644 index 0000000000000000000000000000000000000000..d5bc8bbe5f729f80b213974115d9ba84e3b12cdc GIT binary patch literal 69594 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 j=B51qI>6fYnZ 0: filtered_data = data.copy() if azure_clicks % 2 != 0 and "azure" in list(data["PROVIDER"]): @@ -561,6 +573,7 @@ def filter_data( aws_clicks = 0 gcp_clicks = 0 k8s_clicks = 0 + m365_clicks = 0 if gcp_clicks > 0: filtered_data = data.copy() if gcp_clicks % 2 != 0 and "gcp" in list(data["PROVIDER"]): @@ -568,6 +581,7 @@ def filter_data( aws_clicks = 0 azure_clicks = 0 k8s_clicks = 0 + m365_clicks = 0 if k8s_clicks > 0: filtered_data = data.copy() if k8s_clicks % 2 != 0 and "kubernetes" in list(data["PROVIDER"]): @@ -575,6 +589,15 @@ def filter_data( aws_clicks = 0 azure_clicks = 0 gcp_clicks = 0 + m365_clicks = 0 + if m365_clicks > 0: + filtered_data = data.copy() + if m365_clicks % 2 != 0 and "m365" in list(data["PROVIDER"]): + filtered_data = filtered_data[filtered_data["PROVIDER"] == "m365"] + aws_clicks = 0 + azure_clicks = 0 + gcp_clicks = 0 + k8s_clicks = 0 # For all the data, we will add to the status column the value 'MUTED (FAIL)' and 'MUTED (PASS)' depending on the value of the column 'STATUS' and 'MUTED' if "MUTED" in filtered_data.columns: @@ -675,6 +698,8 @@ def filter_data( all_account_names.append(account) if "gcp" in list(data[data["ACCOUNT_NAME"] == account]["PROVIDER"]): all_account_names.append(account) + if "m365" in list(data[data["ACCOUNT_NAME"] == account]["PROVIDER"]): + all_account_names.append(account) all_items = all_account_ids + all_account_names + ["All"] @@ -692,6 +717,8 @@ def filter_data( cloud_accounts_options.append(item + " - AZURE") if "gcp" in list(data[data["ACCOUNT_NAME"] == item]["PROVIDER"]): cloud_accounts_options.append(item + " - GCP") + if "m365" in list(data[data["ACCOUNT_NAME"] == item]["PROVIDER"]): + cloud_accounts_options.append(item + " - M365") # Filter ACCOUNT if cloud_account_values == ["All"]: @@ -790,6 +817,7 @@ def filter_data( service_filter_options = ["All"] all_items = filtered_data["SERVICE_NAME"].unique() + for item in all_items: if item not in service_filter_options and item.__class__.__name__ == "str": if "aws" in list( @@ -808,6 +836,10 @@ def filter_data( filtered_data[filtered_data["SERVICE_NAME"] == item]["PROVIDER"] ): service_filter_options.append(item + " - GCP") + if "m365" in list( + filtered_data[filtered_data["SERVICE_NAME"] == item]["PROVIDER"] + ): + service_filter_options.append(item + " - M365") # Filter Service if service_values == ["All"]: @@ -1235,6 +1267,10 @@ def filter_data( filtered_data.loc[ filtered_data["ACCOUNT_UID"] == account, "ACCOUNT_UID" ] = (account + " - GCP") + if "m365" in list(data[data["ACCOUNT_UID"] == account]["PROVIDER"]): + filtered_data.loc[ + filtered_data["ACCOUNT_UID"] == account, "ACCOUNT_UID" + ] = (account + " - M365") table_collapsible = [] for item in filtered_data.to_dict("records"): @@ -1302,6 +1338,9 @@ def filter_data( k8s_card = create_provider_card( "kubernetes", ks8_provider_logo, "Clusters", full_filtered_data ) + m365_card = create_provider_card( + "m365", m365_provider_logo, "Accounts", full_filtered_data + ) # Subscribe to prowler SaaS card subscribe_card = [ @@ -1346,6 +1385,7 @@ def filter_data( azure_card, gcp_card, k8s_card, + m365_card, subscribe_card, list_files, severity_values, @@ -1360,6 +1400,7 @@ def filter_data( azure_clicks, gcp_clicks, k8s_clicks, + m365_clicks, ) else: return ( @@ -1377,6 +1418,7 @@ def filter_data( azure_card, gcp_card, k8s_card, + m365_card, subscribe_card, list_files, severity_values, @@ -1391,6 +1433,7 @@ def filter_data( azure_clicks, gcp_clicks, k8s_clicks, + m365_clicks, ) diff --git a/docs/img/dashboard.png b/docs/img/dashboard.png index 2d2fe3cc9554a5b9663156494d882f232a28b205..2392debbb7c70c6c15388994bfbb173c2fd01586 100644 GIT binary patch literal 320174 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 z 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

wd{Wa7o`@?>o%6 z0vDV`&qF`rS-m8&o1%3X{)yksHWkTHa||`HOu5R6g=1ly_MrqG1S6lWMcwB1NjiWV zt<7zZb7E7B8&fu%N3G=Zu@NfJ;?Q$o*Ce z!4SE;u<%Eo|JC(79DAZ>(PFFN5V{dZC-RC@7NP(>QkbXgLK6RL$qnQ}TxJ}8dOB7Qy zNBCX+QD$}EMN*w7Nb9`wxKqz8tgJAOTSWc(G3!ehBvr-*2MtwY-M6*1fL9xCH4hyP zQ;hC;JKnts6~$6bA$=h5C2>iVrN&V^uFSQM*iY{ThLJz~9 zU~r@-4&a$3XX+f^s5=J*o<9_7{vCSBDXBXCJRbA40jDUbQpNAD=X&>9F4Im~4)tL* zMUBVuynlX={q28sT&kN3It^JZJTl@DdPYbBWT_9|X>_9(vixavz8KziWbm`C$@89L z=#^p)CH!cwcbP7)OfdX91E93h8yO!{o6_qhlGKP)qf#g82i50-PiAN?)@9OtEwED0 zQ38Zz;*UeQY5@u982U%535#;b!4M;lxcX&Y+*^w#Yd!C`Ok7H~vLY>^V=}_*XeWw4 z7f^Cw)&po-2_|teHP>*dc)HJ0QnHPD{We~HwXUw+ua#mxocFwUugC~wBk26HDZ&V+ zH2b<;H&hyP%K&;x>Pb)&eIq@!mfSj86Jx~<_01uJ;7>hZ6rXLSCQ z-eG1U^}(TF@CKLYcMj-PCjV#!`$_jq9JZWcZ{OH`BC)(-ONd56hLnRGn zuSD7t8&`zWd)%tDlJ(82!P>vL1VHK1*Ld4bFSWZL9g&7nXi)Z-_YEM4q2G6AckaRZ zqm6ELJ;j#)cI!dlXom!wdSw zi4TrJea0x2w&0IudL?D@91vpCwG{mxUqpiTB?-Tw-VYq<$ObPRg~Wbs3cmr_7;Zu_ zRmOaX3OcAu4ujySI~g$ZK$FFgfl+|i2hrP)krZh^O3Ckro|;5m;&yuuy4&5azG`^P zLgTi{nTB41%$I$u8I$SDhTe~JM}o zyNbc8rRD&Ma+;);7My4~SZ--oCg?n~kTK8b57$#Mrb;@8v$@bO1?pAgmQqD#pNf^y zw{wS|zkkyVyG-F)r}4(L4a0945DTrX?y#miGyckS_Oa~{^%J-tKp&>Cn#g&j6?t>)=Q+9dwo%FG=<;(LHDH25hKfEC5a*3r3EHd{DQ{<8RV zC7wHk_j5VxhrqOzkeY2~u0<_tsVA(!#RYjsHBQTIo|PO_6>=V1{`*tBlFH~9IjTA0 z)Z+_+mtqs@N`H8yhivu$L)(l<2f>(iWx#-4&n@TK6xRk`9ctSP0{z{}Hl|g6t@FX! zecO3}gOA=2eC4+(a{Ajoq>wMU)g|s_4MBWP zk=Wsbkl_PRn&oPBWw(lgLR^(dK(UTpv%~1!@O$FI*R&M1=vpU*mmL!OmL>C_Hyy?2 z8kVF#gJ~&Ui1>$}qVUpS@#(jJ+*GEUSGJHuBc!e;bZ63x<1$rTn5QvvX#7&;8f`r*w!dPwVl=!5%noG@*6ja@dSlV*WIEpOiABoLESx5L1QB_`1V-F7T0;5r{^bS+74T>o~9Pm z1oyjCOLvIZ>B56Rajo?o3sSE;!QCU((GTIq?|$2 zq>9`LAs5xHOX{u0y!&lCYVd#Z!-?k(hyEhXE#eP$eCumKdv3?e{V2^pHbo|1S5GwJ z=iGy9;I}~Jc|q0>zC1VZr{V5z*XDCYq7Wf;x1q$hdYr0b|H~)9>g}=cqNb+C^3M}y z9PdYjaB^AJZ!YWY1hHdP66q8URPCzAG1>E<=9$QcL=g*{32LdRBl{co-4fv*71Ug= ztZ9^&;i2+?SGmm*O7ljw%963BQyN+D)u!AcvLwx@F0ALUo{|nKoNYQH2QlU4N@onz zwx{A&=f-7un6jQ0P{5K%9P7fUkXmM5l4N@~yhcv#ah1^c0s6#>8%06zw&=^wY9(t4 z%F4(o`EPwD5|MA-<6~!3OT_*8;avh0wut ze7_hdw-c{=Rh=u4JRT1;qw+02Cr^kLPSb`zSwna{{CTCPSPUu%Ll3|MFZ*^vBPGNg z{!FF7fenfHnvgV{uL#x5 zRrg2q3zVEMpkC}u0t7AxiGLfg zB@rP>g{5(25LZ9~(}Yo7=Bx;aCOBvleWG9RX_Wko6#o!lS!>rm^1do2hjbs*eVSfs zfL{Ge8XpLZR9JTrd8=vGM01=u0C)quC_ z)PWY6uM8b!E5?=8u2&Y3lxdFCIgVYnKW7V*PD^uq6LUsz<$jE&T}fR79fp&Fz+ZB`qNrhQ^2q<27Ly=rSpjF09QzZzu`;vuDZ9FgyMcV!ZSn6trkuHjf(%aK*sp^)?sl{e0 zqj+)1V&tD0B_6uC_)YJ5C4QcO5|`Cy)UU^vhB}Jujelai({JVSO^BrC30k-@G*la( z^#(^36#>&6&|LBi|AN&fs>!=TT*)U4R*Ytw4^U>9ZisTbug4pjavJ>^FSC+QG(Cdn zFNXmQp!WB>B24X+S8?N9#hqCwN zqTE;&A<7*6dFi?Aiye=KOZ%9WOdC$mr;zK^UUqk@zfha+u(dT-HIUV47gGZs_|Q}R z@`Aac*ZV0D6w>56q^RSPSVt-*H4NNR_6@7uez{X;dn)&^NF_CBB(3b{6Ix&8El?H2 zfQ7r-lyPQw5BEI9Y5b9PzF&P0bS6CuOG&I3xvoVK)WyE)$8oi(ZLF~ue}2CH;h~}D z=cbi${2<5agsbNn#B2HfDxUM?(3)O#^U^v(qS1c*YsJ2he%A=POnMh%6mu8LBHJx> zWwZ16&xkr4y%}@PhV|E}EY2LJlv?F2U<58w;>s;B>T}xsd)HzGwC?j`%|1aK$8F>3 zu2se$d6o??7?4uT_8YZC2u=SLElndtFH!!hEG8g}U%Pa_3DnT{&-e@GT@j1WA{Z0v zR9|x6Z>aU$Odc-K&sJTg-Jf4y4xVn&S{VCD33V)zG5kT*qA1T{SststS8Ds>XB~nD zmA~!VZ`DDed<@#|j~)l_`dB3>9++`_$_{Z|ggj0KaFt&w1-*JVpXY!6aMZEu)}o;3 z^@5W_M8+y3_T2E)P(eSOfjQsiSa;@T^^oxpflY+5rH7KgNah|lN5&bBj(xF?bue$waYc3O3XG} zedVH6m>xNqz@7bcss?t>$KN6N=fD16Ugw&dGcQ6*oac+X?JH9 zz|{>Ld4%m>(aX_NhVCpY-v{;k&XL-^1k-xtqER=taDtK`N#n-d$QqZ|9Y3QvaBEao z-$FLD(X?`kn_#r2Y}b{3~Ot zYFG&%Ia&JVc{TQwkB*glflkvhyJ~gt?Y2ql&`J~#W(%bw~|78HQqgC>X zL#LdeCdy?#9&EcBF?MD@o0z-vDjM{h@ZYk7hZkgo$+>L#OQzsbN)$>PJV-g@MBS59 z0219&4N8_dR5%7c5;&FJS`E%K3|!Wxe4B(v*QICVkyHKr6lnMOJUXXmZ1cV-ciwRH zWZZOwhai3i*tkAU{~@FrxwA)oJXoJ;levO)kc!c&^$S`7=tuFDnw<7+^z%I8dAmIN zuCa1yW#s^Jnn9Xxdqs_cC^ ze4P{d+^RAc{qyTjI@!{k9|Gx38@@Zp9(iz1Ik%ObMwB(80hfs3b_Q3LiL2<`g&LlP ztsbdaey#y~-QN5=8@aE!zhLK^Kh9&9JLoAJC^|^w5l6*%^N92pbre8EMfjy(5iUDa z^I-qT7=*F^9@nEm?$u0~hLts1UKBlE%!5{{p6Fk_Z8&GRKbaAd$t~oSk~vwS_7+uq zy?cEwrHAb=b78spy|;QiAV@_itytb8@a3k5yL4M0P`h|?Cc9M1VogJ8j=SroXhW_rOp10@7ELOXcJGohn1^Il>Ey`HgXP17lBKKlP%}0^>^K{w{*qw7>B-c!gm{CSX;xD+M(SFmD1Ez z@3!no>`hsEm+Bm*0>g?tl&zVnOW$U#{f8dyL2V}gMBWD0H?9o2VXnK7E|PPf=y$c6 z+8s)t_X35O`k19^4FO*eC>|H8!*w$&ZIw0mf7A2`Atk7BS_u-_ z+-eEwNXx}hiRUAJ#D+A#emgtt_PnyyFY>PJh9jZ-kU6t@rfb-a8k_@BOuD87cet-a z?vkOX-264TlC%^UjqC_NZ}Qvg@>F$ghPGw-Jqs3DQ)Q%w2Xf$5OL>$stK(|xD#*0H^$~K4>CEx+Y-PGqsnR;+%|XBO(55T_(oAM*u3ji1Pv54Ge>Bx<9|GD23C*TOFQr|0pFxnB$`bl1{aHo|mAJF0 z^Ud)JMJ$gJ9Zyjx!_#`Ony;Hfkx(a61JiN$my~{W-eFOJ$?uPqLl@k7*l3kCn>I=W zAT+de&hI0B50|cbQ;-Paha?4G%Bo}0*z$K(3lOl6b*2HE+h2=Td4OL%Ytp=^ifu4s zCAbtd_HDC*{lb<_^&V(7%l$i=V(bNMviO4(x)o9H5fl3mI+*&p^(I4|efbSp( zy{v?Y%zp2(8eHcmpoqYOA1%~v-lTQ@gG^{`MjjW>kX^)^rZ6H4&`C3&0YBIL=O!|^Ra1e42EWxM;EGD}HS{BezU-0?} z>z-MKGRhjA$D~D_Gn%vFH5%1HOQWdV*b-R^1<26Uo{Vkel32_aZ1Ebf!!#dQ_!1H| zREC0{957Rf@p!%-)yfH>tg(52Xz^2}Gr2Lv2?Aax$cQy^#ilAJHy5oRdshr#Cq!}C zF&fmW$LIQCdH;(ycZ}0qQ9r6R_0Msj&KdbK8=wvAV5_4Pi)CeuGuNMrp_@i0FF}KI zr85iZ#>FD3*W0sgbaE@fl7}YV9JJ#@6w22?@8!&5mM|E$9JfW!00QT>mE}}X3MEl~ zSM$y4_odWr%^SGZb(%;M^9VV*hK85K!hyN5IS$z?Ef*_$X{{=y&B|Iv2w?!q@+8Zq zMjbea&?701u4kBAkevnIj5 zndtM)SQzh2VFb2`6qVQMArV=u2ofKgC0FG<{DD|-aj016`>{!j(i1@iQK&??Kozwa zMp&Y7Dwslei>t(n)!l`PO>5;{sI)|luc^X$s?FbF)oW#YO~iAQ$RG8zl{S|dE)3r9 zBcENzk;32LJh3sWiM9{pHJD!R26%RK=E-CuC1IvRxe%BfCt1ux|FOpTB$ZS&APviv zeI4-LD~-By2k!tsB-rX^wwCk@L9jPXyVPWXfT@Ya-zD%xA{#0gmnHw=(ed%F?}__q*s^_SPTOpjP1V?W95fB%)mk2KN=kGQ=1hLIZGD-%a#7mM{Rr=$+Lq>-C zT&h_e;cC$m+lQz3C0yOwq)5i@Tv#vH$$A7bG)L537cEgrAYV1dB-;$eQM4%tlESq~ zrS{*30vr^N3T1i%_#gzLDwf)-T7}r) z*jVtfXxSp07?4h6JyUVa38=8lIScFuAsv#X@H~BjO0d8IJ-)QCSr)05EY|IqGz!tD zF>MN}5WoN)p~A9dw=ifs|Dl|Hj4{!5`#X|E#ir6OpI0*+4L$;>R^0&4lDJn+JK`n7 zS*4aHT4c++jV3)BZf7q4a&Jo)H|Un*Ufi>Etfz~eKOGnt>gLMgRP{;rq0r*9 zMhPEoM?U=M>8oTqT~wLlFu!pOCs7Z}Twkj^e_YqUi7O&mq4f&tPoC^HS)kf`fGCJP zGq^(GQ-X&WFN}=n#WoYrRW~)>Ubj_o!` z;n`u2mPIyJoR!faLX_ti9!EX?M_EC}sAXG>1-zjWNqtY%i_41vL?I^%fG1)QHv~K8 zDg+g4#-D_sB6=17(K3t2|Nc+Q{1FY%GUE;mi>`p7(I?H6R%UL04KXnY!+ADBTWq=83vx^yk~z1y5QOSFXyyG4J^WLgvU zd$h-_whxokW=1xZNyFtW{21y;vytu@mGxup zS*~&FSi)h624xz3HCW77*2SMWJ`sC0I}aAiMJ(b*=m>gsBv}^AYX*dGt=NN2v=M15o-OW?8dt8G!bP(yo*;uT9WNBj zA=9eK`N~z>tSQRYE2#5I^p&1jKd@?TQbRwA4MvQ(ng~jGmk&R-55F9xpGbhBciy)> zn@#?DZZwa=e%K-f<u zF;iXnntC9g(B-L)59*0}&RpI*TGgU&~-OwDTe)A8t3sf(Fu zLI@`*sb7j`b-f9FUzD>R)bgc{L`rRWaMW$2>3H+kN3E&_l|Ie>1aT06W(45!hC`lb z5_{7uNmhp&{l*3PtZ-T`#q^~e_9DHPO9|tu`SK5oUSbfA=KwM;z;qEMw;p=J5L?G3Rs3%$Dl6H>ZaqDeYP2ciqve6p^qt?nP7j3CUHs}{A1oYrm8CW>cCC0DD z=S2&KP>M~j(Wt62D0lYQI-}?>cvxw5BABbQN)wUmKH?dO&?<48}+4Q zevpj3$BghzcrXx}7rci#!S7XQedO4Wf!l=yT%&u1+37O>g48lf2>o>NAah3HDJ|`8 zz;kLLo+o8wPJ_POE(Vr}z+zMY*H~n!^H9;IKnP&VwPY*)jwih2>^cPe)Z!5U!N{57 zs8j!x@_>_Od9?qtg~vlK=^I-^MUIx@lZ~3pYaJ|KQ%L-fA~sKA7lWnHW+DO~MR2(b zT20OQMJ+e=vOqjmxd0k|SP}x`Fz{4lgZvnV*wP#m3qhoVn07i`pq3G;AYM-ENUJRE zOou`B&AhPa>wbS)T&Z#;^g8AOxD$_ICr`D2(rZG6DR?F; zs#x9vdVC8QO7e&p@Z2NeSPKAJb-trK^xwxt5^TMvNGjoiC>6Klfn|lc4T{tJ03}pm zJX6wCTj7Tp`;MG~BOtLyEJ*H&1;j(Y<6-^{o&mOGUd!KLmKIM|j(=Biln=n9=G_ql z3BrP4Bh`TQ4r;SY(uSNAS(<9rty_<{$+2LRN|#bM74Od=MRlwAJZ=4R5%Rc_I%!h7 zhtvSoW<6n~Tz5FUUmPh$=@v(ORI$;b&x5nnTU@v7@wC(C#531t=WA#VBE*z&v7NUw^D^)TjYKU_)C?V9y(XOr9uTg2g+<&1(NJ~#FKxM!+N_o)ee*PB!2`s3@?{VG8Ubbt8`ami7ru4TJ zwvylx0y4TKHPj4BZ(7;YroipM9ckW_Q2Cg;AZDrjw284)n<@zLTU2+_fwEJGhS80s zd@e?{Ik}=HVScoqm3Wx_C%jK)yX|w_D(xyf?E6|(lc99R2#Ps6#dmqc;wfcIsMF7w zK@#MFoIyU)g`)Qu_Dz`FZ86k=R*WG9rxw0>+Rk8w!MHK>#R4=Q+JYQ6S{z7QZ`rpR zx6;+3>Ph|RR=1t>kP$*MWPzV@P6`X|TwXSm#dR+S#9U#CQ!2;lBSlbpF9U`)Swa7H z>NkG_GG0lI{@I@YXpa4Rfn%+c+=9!A!&gb-S6O@u80R5E4=EuQ$k061YOba#2gMRB zxwpQ`XT+R~>w4C6B+_vF83(m#7ZnL-&}N>*5IVI)K@Cy=srUeq@2kRf5oA3kT!-EUL0HQGY3$M#Nan_vMlgPP$IEcY#+vhG|Q|~ zFQ~CH9Q7^dZ^!!72d)w1oRRTxhmSeRv%--;n+Dc@JhC2}9w;X^)!!X3CAX2KfG{yq2s?{6mF}c{a-Neh zn?F8$A_adURvV%$#{?oaMxdvwxRAgdi+i-{is7vcwUq!r{g)J}Z}wQ@Tq#|DFJjN1 z%g>ly}_zwUXa!D)VDSBlA+@+}*BC{^zBYbrd|;3qS#;pbNcn5sN*;f5T;mD5Hiqh{8mW zO=ng{Nga)-9hVhIt)7Ik=P2q*`NEhj8$S1&0jgN8>Xb&6<|{V1GiIN4xKUV@}`Ev(xszrjvKe*Tgjuk2@u%ZQ36Yu#zmys3`WEGf6T){~P@-tSDrNI} z`2qhRl=s)W*s{wp|45S$mo{HF83?)2-M);bbq zj=bcC&g7xzGv^|QqwriffIEfnr`MC9xV+`fUc@L@nEq2CtNBgpB|${RIGBHHa@2+O zLkj6koJujlVW?s{Rxpvj_q0nbf}j)Ze9ny$q$eqaU8qpQ#j% zzyB&EuvGk1D^IJOq(zeSMh)0-Z^W;tj`AB}m2WeP`71g+zF^A+`*aP62QA(o>M-E*uGrkUphf0)tg? z>oX=F&+VSQG5YYy(K?WBFb*PKVh$5DXU`5%EF+A7%}0ao%7Sn3D^n1DL=5dHsC9GJ zTIo;{DpXwZ+7b?^#jj{Wy!CHXPZZ0&O<|+z-wxwI09Vl>-+Td;wXby@_Pd~=>|o3i zf_OEmJ}T5^1M6)Q$JG(}rR-B3`yk=bP7quZB!ng8p-;h)P34>fV8)_P^-B~rskqJ; z2;6yBXYdlh{Cgjg>Hx==R%fqo6(}@7yC@`z9!MGmG4(}ceKPCu(%qT)Oq_`-KDkSn z`_DV&Bvc9@dc49%V9(MD?D7ymW7bzIFTu5jVX-KW1nH$nVQKdt$y%myiaRLSCfz)G zKDCUQ1%Jkr_wuD}*BsYMRtZs7QIdy-o`9DdIMkfGd20brLzMG7tvu~s6E;CW%rc*K!X=f z^FzRFMiA=hl7=9a6C*1ye4DiO(zee#ADTok4W~0e5aw;(PN%Q)@^T(GDd&x+klViZ?}|oQ#iC^DcKwmy$~DpsD>tI%z6kGkmPgBjDIkf+*r} z3+(7IL|3w>((~^MEdqG!kqXF*&m? zGZa4_5m2@jX14Z&wl6javLlC zsS>2PmV_b*7ur;6N@_v^^MZ2*yI^?v^$P$Qb)(^t>u#?N$MDJ^JboD3K(S;Mp#35- zL;|u$$pg*5NWc}uJYe}@?5Lh*9dd6>+xQIeu!|rwIm^U^I_ioh;X_ryaqtGoH7}wE zvnE|1wp-(^Zue3WzC)4{{JUxJkRbGwat)a^uK)W5DFlxsSV$#lRgnDUN7IfAoBGDYXk^#whsMWS~(p?Nf~EqH$} zTy$RXE6o>)gJptlUA`_Ry(ycclrrkxdWrZ=T^FsToe-n|3F;W;X(|2Oui+L{kwQSs zOxEWyu!3jtYN?fkA#^ibJ&dVV>Ba(jV@Y2-LJ18vbQ%UawWfF^El*v2M>5$Z6}}64 zhYG;!jgh>mJox!(VFEasGEmCCQK_N(`N-qTQuEt`A3Sk|^522#cUKvGX$CwSuqC5q zt@M|~qJ;U6r;0(_M3CcvNF4j`V)94-jNBWNEJH$#)ccyg8n;U`GijlPi!vyxq~j^9 zH9@YNm+`~dye2D7C{ZQhgBngugBfP^@>ybxawcg_NH3c#v3QzTY}+>pVOMtKAk#}S zOh~7S2D)*4Co|(2>7*nvIeMXW?ld6uQu`QD7yp4>*&s2n%unL%(Dq|)XEj?4Yc#^V zODS4eYFX$`HNm%3-0~wmFlI`v?D`b+6QY%0pRcweg%E;V0~T5f%2>4KXTrr@`cv;Qu|U*?oxe5fn+e?V*g`LNu-P$y4t>M;A{`ql%DKXH zy8oZ6PSePIQ5Yf0$->%S-ZPB@on01TO@1gToYOyFS;ec!t3?leriDC)s>;=ZaZFw4 zCpNY15jskO?_xc&$qg6DL4+KnVmxT=T-7dbc{@H3_x$!>gn-TCvWf=< zk-NM$qwo8SFeNKewP6hYtH9Jv$;trdj7e&+waIf50V030;N>$|)I|RfHYg%#=N*pn z(|-s-0?u)wodA5y^xvOJ-{C^RJ<-&cW}+dcUeatcsNo>(;go`VDG9=!FWUz5g&L8* z@QFi71Fv}`rK`qyH7l6deEoSx4g0yz5QMLpPM26$7GsS>>>MIASspobP|e*eTU|E= z|Aj-?y^O8hOV&IYjvXv0FC8lJ-;7KBi)J>I6lJq)bx77}op~g1pSWpf{_lP@tz7#G z^RT`|wQj<6K{48!X+pplbU#fS<7i5e^{#K%%KmC(&Hm^nqo!1{gluo$J)knoalq5S zQIj;TSrlxKzC`BN8VSF1+XvneIIjC_a>n?P3iLW}o4hXq^heCCmsJGgllq%78rQg< z2*f^2Fn3rzSY4$odrI~@8A~9uVb%yCOPya1@QgqMiiD#^)G&A%KqO?A`0rI8FBC}6 zPT8B6^xsYc1GwYH+hc%puQnL=?YAX0OoC#mt#JOD8yXUUDSs<1Mv^`4Ios=s^^_SG zh@He#H7KT-PJy5zYLxhSXa$2mhoZsa^Y65ML0lIhsLU84OH4y)JEQIlH`jCwspdyS zOt}U9k%uYq-f_G1$N;$4Ik>UuD z%j$WP4ykCLTNpPgjMwMg585$LnN3%DCqb<+n$9MLo4W^JX9v@BRO$`kG#93&NZ+>5 zR|wsSCFj2}14?M1d3S&^u7N^Pq{_E4fKq%blyGmi`suSOt4B8WfRPZDOPrz$x74LPI@e)q{c~RHN0<0m~>27J!g|?ESE{h z?JF*4FmMaHkH_+i!9oO4Gq%1yVl&e3tG~;3zh>WBh-UFXwyY z-&Mk>oGN2{ChRsj*HPTFA#?GyIfTF{@uDw7Z>lI9Qwg6;El6ncVh)cSO(alJXDzAG zBHB653PDJ203}ZqXl-O+$)vUTf614lDvB5>1Xi~g>>vLx`toGqu;WvE%z>d25Y_lu zX63^Z+1g@S@1et?uQYj~ zx(KUfez6k$f9@iiH2<%qs<9ew!D{ATebqjG70Z@ivgFHPfl{>p+pU_b`2ZQ292Fvs z!P|-529!uEsCmSTTv<*OD%Sm?WB4Q_-F*aCM}`TNmu_WX#-o*AME4|X%Sdq#kGN6{ zM$_#A!ICoto{DsihZ&R%mG>0&_@#*Tv2^kbu^Ow<=`xK6JFyLKQf=A7UGqk=W!AhZZ#61&7KkLhiR}uhM@#cQg!*0P@M`Wp0El}mY;y!#XR`v$-!~i zi$daX?_+XRQ{?^3C=BzW4v^vA7dy7BR=`?Ux2T>&)L)Iq1YJyZlPb!O$jQ@8yfAQG zK`~{=S2@y(*9v@xsXOmSmy;{lG&X-TGp&(FYtLPP)FH4cFGSD`)n9s44k0t{Kga1S zIt}Nc1Ta*3Hdz=a(*mX;nC9;8QFE~S4|{p;f<`6NXwA;E?2k*f|3qg-{Xc}gRZyK< z6R?Rp0kW|Gf#4q8-Q6v?6WrYi7CgASySsaE5AN>nHgC>3-&D=~RWnyyQS9CHYVW7B z6WYwJYFnO}oUhUNn>Trmv{$*%hv5@~i7@AE1s>Z)dRl4W0 ze(%gl`muh!1)bTWEx~eBE8Z-T>m=S_1dm8^Z!CV;RNU5?#bo%FJw(m&_y~pkr*4jY}a}?YbP;eiL>7j&B~}%NT(Ebr{Q-197-- zt1FLatu+&%;R5|Sh2!N0e)kMbuih%>8HlKUF>G`Qig!_)?U3+-#;Y4{DmOm^iYutE z7*bZdN=>)$#9|l4W4#-w7tDIXRF);)7sW4txiC(Gpk`w5zR={kE2OGhm@h{y3KtP- zUTg(wR^b>jFg1p4{LSVtp+D5WK+yUEEfS3^)JM2~HJcv&FGw>u2B&h24Fc#m6$B>V ziI81IqnniYg2BFsF-qHY<JYLNw3;P=-c%_7C z{WsZuDq_E77=L(x23a)s259UCeMGZz1s3Y&eC0B1B3`Ar9h7MJfumC4ZIYnW?7@qW zQ1MW3wyqg|H7QMV|98rtWIijjnzs7(+RDoPK@gz0HH?;TH z+Ouy%iQH3sR6s`SR|%6l}$2BT{Y10=GClh}crj64x2i(I%?=P$1nF^FyoT>tac45FEOYp0HY>b?QpU+?k_#0Xt?~ zcpVCH;bc^ZayV5Qd?uCV7g%VI8vvg;1c+@mATv_ooZMlQR4Kq3Ta7J9Ry3IJa)x995> zz!k#+4-^0t4e1m3V?ih|pZ0HIrIiSX##<9SNhem}{7g_yU`WXjn5Zd}-3P0)*`Si? z(M@qaKz@eQNg`q#eK6kRPpV&jBq_WLu?`w-9p0fn3i-0xC?fb;4ewGcmIRl`9uF+V z^~JQM2oqCVUmayhLR38x?6Ud`R?&X#DUsmG=`v8spKuCM1RW@0gc-%-&wl112kn$x z=kb;*xXa2WOmiI_9?q2SI@*6mkZGAqqhvj#k~zYHCa)Yd0-f6nNlc!BHNG{9s52iC zDrA`F@z2qIrd#+X0i}tu)edi5u%<&0l>m%ZeuQu?%FI9F*)-RM>aw_9836q@pq?0=&r#Y?E{iKnEAcF;xTDSE~CT#JiZvn*t5{S3g)$6DTIT z?cf$EAt(r7Y6O;KX^Qm+9JfB6z80Emd}z+;H@b&WVLekgM-i{6?EK!+e`wc$n0H{n zkL7`poKy%4MbTs0$$)=o&0I#Td~mc}w-zqa*h4$0WFf*|@?yo4uz!HfEVFV5>nre- z1~EcGIoN|fdjfh0zA{kSHF{(Lok%aa{6+qEajo*ksT)o9Y``ta#vBuTiV&A@JJt8! zrMr`6ZyZ-gUB-G|vqo)Aohe9Tr5;PO#nwAT3QL*AyG-a(jdFEdlY>;o^ky7ZOU!KU zHwTIe_8@EO%b!HCJ56eF>L;I1tZWO_JSEDf0}65Ve4-}L`|?`u!~z?wu2x@`bZ_-r zSkjHa=1r$5J7nE%Jeg2{wbP7NV7>bv7zw7jrNX`cXBYdhuMMtDwaUBgQ!|W)X?`jx z@@ocCK6BE+0d|38deK`dez0$hvm2MWa~1z^^z=f@xgj%4koX5)rc^ToBxXmzCkxPE z>q=;-B4aEyu7q0?cEBb+7crvA_y>H^^Ct()EJRw2Y~;I?U@xd8=DXrw!0ufsI=~y( zO}-8R@SJEH2@bcyiDv)h?0bJ_OB_UE4w2^m$I{f&Ou`EVdig;n-|X@CDMrf-StyA{ z`&KC?%kZuRb)a2WJ{Q}+EK!<}rXk!yYNtzRW{-|%@gmb7;?t81H0V$ z)gBg$X1f`9HZAql`Ml%00+;C-yK!n@dzCQw^Ik>E6@tssP+^nU`!*-P zq5*sEB$W_l)5DRQ2ur8`AX1@nlnVPb-Ee}pgvg$gic3dY1J&%l{tuU_-IzitOl70A ztK?-P`ALry4QNLa*hRiS8}|I#0!W##!BH!zNPU-Ec9+xUA)WL}(0rdDRgTIA! z2IX+^e*^7uf1t2lu9R@=6$6YD7Rp8iCO?!^~A(`Z8B<%H};s$FlJr2@IiHtjQiocCW(%LlK1o)qheHdC* zz1>s|a%j&1ZU`WIYdepVN5jS~N$OS)7^tXI)Jv z6{jdX4n>X}t(GPm`fq_|QL8>A_o+t}58HER{`c!H!T63<&zs|1t>g> z3*3k`o2RP5@$#Z!<3KPPiwgbwFBHx~21u5*$cXJvVikq_wS|Rp7)ik7B0Q6bJ-jg) z$U2mEpRg~FzV_(~cNBwav@cM?ufUaIe(CSDjd=Snh*%Lk!?@rQ?FrE|DyKZ9`RFcl zB2`_-Ej$Riaxun`tax$m4%S6wtH+eNlD5z}qqC0V5A&-$y?-e*)~Tl*g|Yf>#bOj9 zEIV_)!u_mOLaDz?-S#rym5mEtKd^V5-p*u-MpdugEsLE=;z`lfhW~j*z0Z{6(^hC{ zzq;c6cJ|uiFwu%@-7*w`%QnvQd{Ubt9eh)-s$oXj2rT9V7&%xhBgjmvMU%Qu>ZXy# zZphmo{gUukH+2~Lrte#<}nJv@+F>umGU%K9kq01((;eDcq3DA~`*%P^Hp}`|``bkV^gs zUx~rDX=|rBvUmO1Vfe26FY4{8v_4f;M&eAXjjQ&xtx``Vz)JS6S9|2L^Ydr>S+#zT z$#A=%b~cq{%Ib*k?#OMnBB{#|=>}xZ4dzCviBduMncMHf2-~YJ>i}5z1@``Ggs!=H zFJ;84p+BJ~|5y~O^Ll*wtVZf>L&xpW_|wGbe#6K7mw2^Db4Ol_$e$`4Zxb3*^nAi! z=HYAu3$(BZnB@Ldp1CiRM-XGyX!uS}PIFqm-)L4Pp;D9zWmPuKQM*)>RMkT@>HG?0 zp+aV1L2}WGpn#+ro&ZYrWX4!3W{IYkeZeFSU?bh-upes(>)gj7^Lb@|A$P z-jOvZp`zF}4Ry2rCKXIRk7^x{Qld3>*CoA1iNtPZm%^_Fs2!AiJPpC3jtQ74H(o5dj^-eC`dn3KuD#Q<()YqPOO zZ#1zX^shiH^}hDo%*GXR0w1Dfyz%7hm4u1VEgHHp`Ldr8_XP=20p@OTayc^NIHFzf zd|W%vQ@UQa7%nf>gDrmv(ga3-S6X2|+ZX*=Kewul;CfzJ7g;tH95RL8S9En`}JkRfYQJRIjbZ?nFJ2dxYhrth&XdpfLMIh<#nkPiRxar(R5 zcC{}6dqS}LJ@;~Zb!rfAdv8?1LlQy}P;@(#ZMkjPct~-6#bOCHn;+6(+wVVZKxO9R zM$V~c9T)fez&c*&bIBl{Q{IhACb020BBeX`|G}f=l?HK;J>~5V?E1TP^*B<0dMEy% ziu0Mr{YK9^IoX2!jZPOm*7$Y_fORRVp=w({?yfpqUG{%&TqQfdx?XKre`>H?e2rW- z=y7FJQEk+gGAi|HKbCdbMxJlw({c{fyge?BmuoZoZm3E>zVXm$Cen=y^1~GTe-SMI zfK30{lkOS7ZQV`OS)y&wDk)H*3)?s3gCa2lyRIhJ=0%yV&#f( z?Rw6+*0tC|HK|rd=vqg;j6+CQeAeBiwma@S-#N5`x%H|dDlg~X$6Zz=M`-s|)$O2N z{(LGFGuxX2_aj4Znr@gSh9B%2B?~PRi|77uQwAJ;&@naBHGZmO0_h7JN?6f7)X^)1 zB53*MsMBzTE@LXxrP04w;#);llz1|BDnW_f=h0u`LO`kY1%YLdcc33fv`Sanxy?| zm|9__jiW0c)%@kjeMD@`2J!ucvA%Cfcg3GJN~}^fLe&Zzqq` zd^X`@Z`1Zhm`t~xsynh+2V%Xc~u_`FmXgvASeZQnvjCSjkqs@e=XE1|A%6dT#G$cVTk ze=6|f>n?mtbgdGYqjhwt8v&skk6L)*l7A4vNwP)SuQieT8v`<#)TvSZdXWqgLn6p_ z%Vfyq!pNv^!`c&LLWU-D5I!hXBO>OF5Ce-}f6p`C!AaQ9^cj!9>gc;mC;!>Q)Pz*Z zmXrAj=}9$^Oge)YPtprZ+g{>E(`l}0r&u&$wBuc41>=`^iG`mNqKK!|j&lnQ9%YKZ^2t3V>8}u+ z5Px`&7o|%)n=sy;cFHe@x_&T>GUMD_I<9!F9abV#6X`f>xsF6-aRGYG8@JP)T-Kc; z@yTTPE@`cMEyt^*iMrXwo-+|-V(q}LH1Mh2u(S@wJ1+!XMn1b7xs@#_e_h?n0A*lo zNe?T=S`Vu@%!eoI6a9jRY7$f;3-wC|`qY1?jf055z+>NcwX@vj;?NxU zYwp*G9FLvkh28I0U5LfA!<9z$wyI4Cs;OM_PQBRWZfs#Y0`8{La_VnV=!15Ib+1Xb!tJ_aBy#Sxdt8J6#>e^Y`*k1P>#%#545TWt$C4?*Uo{uIxENv?_(kAu&{}9F$W6LD)^-4I zxFlx}*i6PR_l4s1ciRdfr)t?? zWXajt;TdAj_Q=T5$8EMnlF&>sShDr0j-%R$?;FaS3eE5XahFND1Iair%ih^GrR0Gq7_f(Z6Kn zQ9TIr%>TINxX9tF0=C_bR0qBdS@*}Qss>IypS6qaq$%CNySuxG@xoX1qrgzFj&T&0 z-#v<`&sk?VK7XY4?tC1;wVvQ{cCo0aPxuQu|D{6wzWsscK<~ac-Nkub-G=ABkMC_$ z^dSl=)P!W)4}c5MWg)XIEzq`}*el+vPP=qzIRvU0%A7rnFWXo^Tu< z08my%pU2r$57q)1L)F_bBskXHk}+D`wRE^0w7+B6)w4<8{~N-AhdAKhSI-Km^vW8& z0r-niWTs$931Pu*<8lEdg`@gr>X(qZPB2XJEx@BJ5Iw~ZDfUNU@A?M?7?f%qf*>Xp=*{y{Y(jOw;ealbya>{3Lb!!rkC%!5Xkw~;A3Ums`w z5*LFVQ-gH0tYeDe>`nDyO4CUsb>453z0-GDH|WeM7kQ=ukl4GDA=vCp6Ky!~bXZBc z92il&olW{{-p}tj^vJ)b{Ms~R^v!JQQxF+3?niXrYN%FqDRpsjwG9!MeBO_B&+e}< zUR2a{we55=z4kI|UW2U~;dgl{wuF*9V;t3Vy^!x6l8ZQx!a=AbC zusJ_VHabtX-y0pZF&S@FIt%x>l+u~Lv1ldFG3rWTdkSh)$)r+C`14zMClAT&K~^!S z?9cCQZI`uO=OwrOs$|M2405v9og4xO`L*X`Je-N`KDi{eDH8yq#}QP~^hx^+i_hny z?shY5y6RPh|A(yy*S6i|zwUeKF4R;NG$gZS~{YUS4m?TL`X$~bm)6=Rpo6jJ^96kv7Hx&^^{kR?K`HyV z@w-FkeftH*w5k0)065H;eBss(tmDxhf%3QDj?96da+u&4Y~PEobgaxRJ>b1fes?zJ z68V9+O|Z?9eYj6C14^oM2zfP|3s#L7-79^-N>^%aumervPuH~e1q!9%e z!g(H>Fj|P=h_4@C&l)@J_zL@-(@-x}IIYvL7{!ltY`nv`&Rh3ewxeDHo{thcw|IfO zJs;*N1lAL#euqfcas2A=9t>Vry@4zs33LN}wA|B3am2 z81)MCaMNo~Ni<%5IA;*?N$WIAxfpvrEAUo^b+J#|`HDzGrqmuMp5)(&o`a^VdE!x&44AU5-mmlJVaz~)B~9I@+0DX zNR-!Td*+GS+Y!Pz#sHm_zC4=7rj#LU|#8pYk;d$H0I5V#g z+BMRL3Ok?2nM|b@_C@e{*B;B-^0YiP;j;{n(|%kCAG!HeJrEcxT+hi}5L?r+byK&t z2my!oMJ_>eF5eB|{jx=c9bMLO%!p~#!#Fv^%z%ewOJc-bhUk)PDv08)TUa0$Q*$83 z`{X>gMwj__-vUU~4aDWq*k^c~GM9!@M=-`ID-iH0%eln+WNHiL5jT`mKs%R{;V4l< zlw(*qA>@a~WOC8$0C_qrfu}F@afpLkv7YDqTJHyB0o(6m(FE*0w~qJhZG{;!hWAAF zmkbBEy6>DBYOgHm)7(JS0<)FJ%Q1B9neWMmZ)3eX7=J60Z!^|+8#2iSG4naO?RcS>wd=nk-uD3Sn?ZFfaaV?sKox{Iy*E>2dGeYG~Yh=;A{sM(Mzn z5nS9y@a0M6Ve?vPT!c)u@>;LmUhSuk)PF&yRxjz@t>b|oE&bC z{5Iw}IVv(@>9doi4L{bZ;V839JEovP`3m#<({$?y`i9c%Syu02ewZgH9+EX>Z4s|y zp?%^8p3iEf_oI}{At_etJ%KkAxnBg>yp~6K>yt~TL(_*Fzzoc$-M?w!1 z>~%c)=u<3lS0x@G0$E3Jr^MAPu|Ai7)isJHtX2Zzl(_w9OXaWAAHY7^6DSwlMyEkT z?wqaNx2r#Z>67IR{aD2q$*#?0-x~5TA{KoWt&G(|&Y!Ikvu~hfv5HQ_# z5B)IYRI74oHbo()N3a@FXC4PQ951sQpKoCKTKLmHsQvtaw9%edsyx3L1hJ#uM4fF@ z4PoSkvw%AAS-$6o53Gi*`{*OH_v6bx@3HLT()`14WF_hxbt@-oOapDr%UJdR-FtId zHg#OnES=Y4AH88Z2ZC{V7xMJn)ShXJ_>l^t5;c|>1BB#*KVdV3`Ii!L6%ZK-;;|iyRaP-tw z@pIWs-qms*L#w;5RQHes+%a-!Jli)jD;#xh1m^{=HtoM;Io^A3=Ub@{pB|;W?W;ZR z7Qe4H%JLD*)-XHczGIb^tWT}qZAbAWu+^qJ4MOzvNS12s<)2C2cMqqMkr)IR^cvI=6d~njc6qBe;f@J+OI^@QFc;D z8~lK61x5cMVx+Q5XxI*_KgdGZG)Gv66ia^Rp5NJ@9-;uO=+~Bu9_0`Q`t{?np)GEh zO_80m&UbL@#Kg{(_VdZ!6^YDO%cCVO%a|UUJD6JFqrVnt))<9&d`Rb16!mXl!Uv^b zPY>mhD)8x(;cuaoZA=LCz-1-`$;%n`kn9b3N`f%Aj4!pxxinkA6!v`E4kM4GAty3QT@X{?yVoH83!Vl z+a2xt)usY zgYHug)cGwLgZ}DMbqV9Oxa+~ckYM~|OpX`q0t_r@du&|MDvIq_I0~6r< zVlPx7W_W(w%t%w)S$KA_dvh7*B}Jdjz&x*6%Iu7#ahA%H>4`~g>rG(9hUWe(|E6^6 zd>vCc+ig9=Y1(#E2|wSysb!dN8<~;-(c59+mhZ z`%wiu%`s@~&%KAm3C{Le0HA#$<(!MN%( zGPtW3E?C#M>koVHEoat?7je55q>W>x4T@IZbddb6i1lz&hINBgA^r=8g3vamlzOYl zxrkus$i1It&cevO);_;=+)o?aci+@MQn|3Mwni$&gr;zvKVWG~u*EMH%B7C$`lH8( zRUYuYg~(lCiSXr?#^^}QkA7}?fAb{$SfST)G^~3aJyL5jMwODDu)WP8#V3#pX>%te zyU6%-g1I1?8W4c49WLk0NNQ_Jl{+M1Al+ug<&(cc%eH<}bqE>DKR+|XNUv$#yxaHP zG@NpHgDYiH*-cAbgZRiydCzO4T+M=Z&vR2s_p9>I?bnZ9luzdPxJsQ)ONTGJ&x5@7 z;m@}=KKmUa^DLW=?Y%i6qn~wdwglbGL<*{sLsAhsW_x!E-u3IhJgA);ia1gYk88)X zP~+_k|5W~7dNj8`6|ZHp=3%4L)Hkr{G_N`T`tSo0PZqn_iB^#MPwU>$O$m|yENYS- z)Ii=rR#LmWNqPDZ7xZ-wotsc4=G@dLO3>LX$da6UlZ*_mO#eZyP-6kuiC-=9orPiF z_`ETl`9A6uQ9(Gsl0wg3433+LH6tdh4)Qt3(+@lFk0pMU$h!D@?{0jk~GX z(VlbRI&+cuv{`DC5Mq;0+Z$_VB4XrEy(?28$JJ4~N4Ru!`zvuD{&IWVH~20TUZTD@ zr0o|kW{>OfR+x8>;q-jR*{$_i8poN(e&+et=98KpvsLHga&A>2s5DvCD6KT>`^3(d zdpH=agl~8JWdSBoy5D#Owr`s33k0R3LiaEg~Pu2Lcal zh#>x2G>UUquE4(TV7#NJr>E8C{j}4_Tsn^(ik)^-gUj2qtxNzpX)HD_J^JWa#^6og zv<9O~GavIz&3T0_N-oCm(D8cLc^z;>M}agywkb)Hgk|{(;nKjzn#?2lh+POTQxR4q zNMwOPc2$WPw`Bni8_E4PFhqV`tR>_xbk^~FmK$q??|A;+g$Be{#|``+29uzbg;NhA z8HmtC?tSavzt&@hDKs%ELZ0$Le(yrb3p%FSEp04qy+(k6pm^l--fU*82H`&m@PKqW;@m?PIlhmlExzMLx963;Li3ZtOb2u39RsJ=yY!Q|)Ad*;meJYW09zAC zmYd->U25QM;gK@#yPEPkG~bi{#q%r6JJw0k`aH7CI`=K^nT^kDsnD|fv-dM}hN8xn zoe(9WUNS3?01gReS!6c08SemxVA9KOXtjm1isAbFZwe4t^??AF-Wu+AA1YbDam>%k zI~;tw-WyE|^Xt3Sg6Zt(@Gr<$!kkKl%yj8?kR`qw@ziQ9#Y%-i5u(sJ=muuOXOok^ zG-X^S+3cakv!!Le%<#Rncim2!efu_hczWvWb#t8GI-2b6VI!A#OxBrUo%1jSh8&Am z^NSdiz9^E;b>_kO`|$YK`Ss@b_!QpWL)?UjE;>G*$xj|#5cckbwY#bar3%TRes*|_daq?!Ktn%BOa(R#A{JS5{Gf~ds z=%+QAFAqCrb$n03+=f%ti<}tHQPqCwz_Mz+zs{H@iMePX8x>ZV@Z{xXjtbKi(-fn1 zrw4ew%Ct>1e#9;1N!hz{VGiw#+0m-J_Y0qHVGiDDiJAhdXM9L!xhbSETlHBIO*_u< zEWWuznOMlyxow$J;m!TUy2Fb$mOnCnj#6s5nxPi`K0znI$2-6>LGq)4kV^Q_6inb1 zv<@y@x#h*;mbr5e(?(t-TfVLBG@dK9dKGW+u!??O@{%#Eyi+Z0p6GfX7%F?iY;ShT zqN%pM9VAKwTI)S1v3$=6c~@IyeNa3;$gVEpJ^z)0 zHS5Zv*KH1idcYXp!5GpW)>IbbI@CB_N~zp%+eakF!K{o+!}x{Hp#*#VH_G+vgGbaQ z-#hX^Qpgj*TH$3cfl+q4W|XSEkX{X%X%xoFkm%Gj8`OV+q6U~>8&^YWbh+q`L3jIS zRwi)1Pp+imCaV(S>8#pblcp!Cuv2AR26O*;m514biPk1=i6P<Fq&43}qND8slX4x927EBtp_-$gq; z5?Gmsa!6UkYDn(taEo)A1*zCHIg8D1&`S!f2y=Aujy_g*qpj|Mh~ZI-CTpIT{E z^It`ul@oG2j}pJ-&0Y|wz}oM8A^b?jSi{&}8Li6yrKCaicjRt2P|ndH0Fu+$CnqBg z=KskP$xl@*YZG1uU0T%6HE3wGsSVwCNE#bex+a2>BZ2uX>W)K1*!-tO2myZU0`Hrx z20{?OCK3G+l(Dk;1?GO@htTg_hjVa|(;CLvzi-UP5b}Z|HCyvAdN&`G`O{i{REmsY zLxgq>tN2?_F_k_rqgYb(JQHfbDK$`huNx|s1PyyMrm;AbXg0ZG)OT(gF@frZ78jr- z3&E$PsFsfDN#{;A%Xb84SUGjzsv<8?W&_`BOW=+`g`G)5Vqo8P>mNO>uTM#!2Ci}B zHh!zQ*>}eCjx6-ZM0{N4Z&zVua^s~?*P1~xJWbFCXzw?I^jc_JitkiDyh7-;fQRfl zfSa9(>e5Wp<*ahlK9~t7jA9%wHIY=1EIg7g#-$R};;3$q%l{{v?-C{gqCv8cR#GE> zOJm?dS)^!PBlR*!^+t2j?gax5g0bXG#R1$!GXiNY7lLSH%$oynI=$5fJFn$qAJIVu za1LE($6!u9f3}#YK`|q$Qhhh(rE}sIJFuJ>L9KGL!LtbM1$TPz__>MQH%AB9^)SI| zc?D`pbAESphydsgLF9V>D}R*VoDj(QFX(R1R2>T6YfBx!_kd+kuo}SJO?nrdZUhJQ zDVGI~)J>h3S+Bi(Kg40O)RC-6_;ePOKApYF)Rr7_H|`sQ!ege6zlx{Iv>oPKqEv$0 z=Apk$Tv3|F*f0CN1e)8n#)8{|aJE^$$pj=in`p}X$5J3Uh<~E@B#>aH;O1wRJy#ff6XRo3*#r~v7} zw1x&}y&E6KJ-l7UL{=6gO~#-==zTKgG-C)#k%<4jWV}VTOkeJKH~D%E7)osL17-DZ z_lUw%1};VsxwFP>?HX8Gv3+=liZi9nPFYm(#V)=`QxM#;JL(oCGTS>4^ZFSM_?kxv zw7RDkyb$f7fq$%P9A`3hns$Tfry5O#zI{Z2`SbhJ3sb_Undj93Txl0X%!-XMMr^ih zT4&^`D7Gajs5auwIk>|fdSp6T=#Md`cQoO?z9WV(q5e^XMH;S5N^Ipeq|bs%NgZvW6fR?;1ZG2<*&oE@|* zQ^j$Se^A_VWKVD=;GV@ZODZGYG2n9#)qjHjM9Y{K zSoBiQh!+xh{=($+II;C*R^GD@OZO- z`tqVBfu-sRE5NATsi5g?&AQPRUYk!0@qG0Lw;<3-OC&gKPp{>f6aD*CF4`T=ph>RxdnH0xXx|}2gTw~3I{OH7Mw%* zw1D}*ne(FV(4e`u2z+Z3ZZ!G!;h&H`Px=)w=m*Oz8KJzB7g?wZe?3%>X}E91yCE~@ z#5h&YG5mqj4cZE6s(v)_+;yG$FswgQZ}tV?8V7C;W4G zne@><1Nntf;aX$Ps@S308>0d+eH$Cl)R!1Pwj*KKHE+S#k}fi42Xk;4(EZ4yPu=n6 zrnQdI*d}x32jMRV$~3N0OlYCbLJ?#gL?Kvf7J7ZS-1a>(m3zL^f;t6i$CXHqC>x?Y z0dGTl1%ylVp~&-Ib=`TLox!XrHw$wTw?djF*i99Xx=n@(rhm;Y2}#;$A8zu`0q2K9 z(WweOvFFQyV_l~!g3~^QIaV)?%wCj2!EzkztYf`vv@AL{{mkBQ9AhgU^`? zvxKiDl;8N#puR7r_Wb+YRL^m5`-xjG|ZU0NQFIOqmG#11f zvvq^l{t-!SVWVA;EQ%1`XCkRe>k_q*M-vr%9ftY4;=Oi-8XM(QxA?;EA7j!ly#+)z zu>B}42|sPv%yEUqM2PL8i!2$?zqao|U1FF( zVGgX!{~KUu1>&_!izf5Yt*=Y!`D^F_C8hY`n?9)wMY_%KuirPtg#y&os>EIkkx>DZ z!a~ku)~$$a`52qLQ3Ws4U+kt_1(*wipXP|t8fA5oniNz)y5zPYvhl~!wgzx?bu$_f zGz}v;9_$KG$f4d#6>*sTLpSCMd1NUQH|BPI#d4E%bf`kl-$QvfeHKQUe~i)8F-CPN z@no1+3gBH#6Qb0C<8b#ug(Ce*r#zvj40c_t6+z_}arejEe6L*-e!VInt?|8^G$C7D zAR#9X0;Qrx^z@QVe+hsRyJGpA``2Umiqet)v{U<1sJ*?o#-fww$Sz=%16b0I8Z|fP zsR5(3QRcoD^{=U6l~)04--Tx1MegxMQ~Z3}h#%*P>@PyTkt|ePj*6+J8ouDb^Wnbl zZ_kBvu)dx5X-p)jGY5>7n%FTk{!_o_x5-7L&Gs)AR>`Mr`d#uh{H0otIPCtw>7)pkYNpgli1iE&P)C34Q(bZ|QkW;GY%$!J zCYvlNJ*F>i`oxImDmgBJ_?%PV;NN!oxS%p04k#V0vC@_uvLuM2%~4Ru(w~|>X-$!|EcXi}iD(9R%W(lPTKpCi9{8t^ue}wQ zCuvXfF%3N|8Na1&OSz|HgVhJOspKpj4PGN)j%5s#2y!F7{BpR+H*WA6zx-bP>bXqxiD1(m(JS)j&Ih|0{&^uGUwYJ+r^X317lV zc({cC6Y|-s17piT__3qd;}S3H)XQ$g08AXb|qE zi1c+cEx(RLEhcxE1|0_8L&54$q1wa62sF3!n`7fgFQLq1ZUv<*T%k&xIn-#sD?_B1w{zp!DKl{7JT?j z{t9Mo3mj0xdDP*iy1o@Srnwxn!wv`jqqz&+@kLsB(A8Rk)`wZ8H zDNP1rUEh0}`u0>boBz<*{8Rb?r3@>`B}o0}lT3&<$ZLT|o}85+onQl*a;%y>SvMqI zj+UD*490|E5njo_~~izP5SV& z{h&iAMo#$vqhCP-C0t5fBu_Z3th~rhI9A|L@_x}0$I5k(vwWB_}MgwfVUg*j)|B}XnUf-nv6$VTW{nWMpoq(v}a zl33*J7Hg5;p%81LU`whwpJmA z71kI~#|xLDv7SEM?EKW;F4n8ZkSXSx<%*AV%2k|>zicf5Y^>^>O`sVk#DOsDn+<1~ zFnC(*tG17rJ_mMZB3ni?4zTD0HJt)J>*9k!M=CFvRg1UZzj1 zRALCib6Qh`m)sxYpFb4K$x1wtw=g zHrAw0&s6w|KrEpg$?*|W(~TSIhd5F)7&0lbnHl`a|CWW7PvyQ8cgX%n>ouo#F55}E zo~)-W_@sM-lz6&Q`Thn>#A};`j2T`#T&?i}j=WY9%VWhui+MEpI)zTY2Q~z7}_~8vUTbX7A;%$SfQ5Sz}uuY z>OWfPtSL_dqf+alDq2kxCHIrqdX1Mp`Ul}t|0S2;P$$F9F#NR?|LLEVuP=e^Vt@(m ztg#c|F;B9s$FD&A)X8uG##TakScsLVfOQu-9lib&RrhSTK@q(XkT!?d$%`@f z=ZQWwl1(GDNZ&x$=&eLYrvc{pY}AA+mO)qItlLz{K@Y}ku^Mrb*i?POpO|4cR48}3 z$I<+^<|I04g9d1bm7WFD%)x|{cW@i4!mMPQufpir@|G}t0y4yTeAUtLn{{k)vSv7! zg_{!GefsSPI!YXRI@q{6+fKxW?_n^AI~Xl%!%5~=Uo$8 z$7%0D{$RJnUg`3Z+CO=$UicVP=oN}hUkj$MGo%j$G~(9TF4>r;3YmGcMfJDe(e3yC zN!hzlO~L-wK)_5f`~Q>k37lS%F(}2jvOnnB29$y<^c@Y^j~j|!KX6QpvVB-ebSMB* zH##n4MT9H4rOFSUoJqeM|D$RBXT&qxe9W~)I^wRhazC&+WHJWz`X0d`EQldBGNxAp zE{@3$H&AHJz;31)LMm_pMQO`I3-hZ%yVg0q0bCsi!~tXu>{Mdg#{hB*sp&+cei$+u z?CKA9PqCGEH(K_LAjeYQT?rfxWa;M=iyG98P`Qs{>6_=&xCi1jwqCvCd~@}J#!3`D zzayHms=Dxb7R>>-0*T81tfozcdsIBxR@!d^)o()f*Ys%!DheM6{wdet>ltfNWMg88 z7jg9#Q(T7mg*%#we9btAV%0kSJrCkassgo@xron$5wxkTNSP z^kurV!eTzv%GfdVoOGol{!Fj;q=k9`Xot+2I5!dO#NFtZsN=sjD% z-hNW5f0^!g>D%f2vpIx+M-Rmb=l9TFZ?6P86f;0ghu4!ZAe&8#jQ}g@pN}S}e&{DUm)rctD~ubRIh%W=d3U`@fv}=6ZxFm3PB{4qpo9sj z<=|#%R^!fM>8`8TnNxH&#P9}=*IRJ&@RJg4%B4=!{;`uUTJyh$R}%6CoeDS=X1E4B zXQf^Mul^$o*vJtSvF~`U4P^}TQ{0hq%R4*vpK{hW6xX_3kz0x--=)|~Z|1u}JTOO^ zdX&xBdv$vTn#v)j`Ku@ub;NZHk;l8cXXVGF}>1{d@^FW;=p$=N*`9)2V?VejS$IMuzA_ z_(}775tz0EVZupOI}$Po;+WwZNT{hY;LG5C_~U0(k-yYf z?}^}jxV&7j0+bJg*7Y3NX0w&vN3C1{WO%9d!Q$Pbs=E8tU*lY4r_v4PU6h&88ieLc z(n)@e9B*W)_ph3uYS%3t(xo zC$5zQb2Fa}oJ;+8@R;<-moFu;wIKB&8J0xl&&?tPJyK33*5(NAaWo-3n?fK|g#x8d zrXG&W5C_D?GBV)EhomP)?Z=RlKAyj@Y~( zFe0&;tfj$UIDmL~nMam0tak2Q6DygsNr6r#a0!+9w}Q?8{)J}<0WH19VnAF#QWp(n z*B9|sa`Dq3MdaoZCtTJz6;es$5p{*8YUBm6i4H#$1{NP7q)K=xci&GDqoPa&p)4je zJ*VHCRrcWcJpI7e-gfTBpxK>4A^)KxoSJ2Op!hI^f~FVs;@R|Y4MN%b9>#;@_dy8E zOJrT9HZ^53v&0I$KMbKIJ>p$zL9b~#)-&v>FBa)o!NxE4w)jXs8xRKX|Ac`f&{dIU z0mTw#_+QM22{()Hxg21kscc^_sOLQ$)eJmA9PvFHxNtOZX}wFNL`Qb-n63W2!k6E{ zG}HeVPuCb%>Ed;($#zY)rZ&-ZS^!|NEg|AJ3_0KYQ=B z*V=1C2@Vs%GaH;`C-5=$VX1#$}uM=kiJ=nMm zCYZgm@_|1MDs23(nqe?ZiW(AVL=U%~tgF%1R4jXrzCoiVUSLG{y+U!3xKhm*1ADsB zWYB$R?~&j@(&-Sk4>OK`zU^O-W(;m6tds!CYX4s!vM&U(Yn4?|5a;?5L6Rs8wUq_M ztTzU%oF*kEU)9w{OXtXux`)f0$Jd|(2zhz@1K;ax7`qvG`v36#P2nj1iL#CrPJN9TI(%!SWmd1(twf zSxs`yo6x}f&RKuv3B}!+->HunSuY7g7$KTwCZk*_ zHr5!z1{?+hA+gy@EK4Q890Cn?r1U~iMw$5>3r=#!dM+f=NcguBid0&SzTy^pPLRpa zs+DP!;bP#caIfxXVwlXc<=}<2CB@aW1AEH|0jcbjCtt5WS>VU+tt>!^z~;awDAHd( z;crHdqy_63K7DO2GU`G2H#x!kCyNrXf-Gv#PgvinDVjDH!2eph5oF65<@1+l{9pU#Bh9=_{1nfYx=78OI; z-+Isq@uF3jQsDbreTynmQt&m$E$OG%^iEk}$>ci5u=q-a02XGMxG^Z_L3PhY(IY52 zYgY%}Wl2tul&dLnYl{Qs?t35~qWvsMWJN09dIyw$HDLXsM*p$2)_10SSvQ(kZ+=+@ zD5pl7gM=>FROf736~P zMXzmOHqf9Cc}S3`QZAvBtYRjm*;Nut$+n2?V-mDMv}5N)7}NS~GY`XLndu)g1%Oh6 zmbTJhSgHPBpxqPy>w?Fk89~|cmI3T47ND*R98QgmY0&m8(11(uV+PPb=Rc8RAz*0K zElibf!AI2Db&I_17)+`P<_J{_6)PU}ZK`Edd+6#TMTqQ4VJ}-oh*T<;C&#FY5^aq2 zb&R@xf4WsAFG}>hlzkeGaDV>OFKyMcS!Qzav$vgGSqLcZlO8I^XE3&*dO$&E z_o?JKb}e8ZL4OyyjEs!|nt3${c2eSjG4s}kg=x}@O@5~UL&&ON^a~Gs$72U?PLnKN z)b&VD!y)Ct{~^!X)B)C@6bGy_%+E?fXrtZ6IFshR5Vst{X-`8Gt3okRL=^+_)P?*%l9NM)${Go4ignq@@A0S=9KO7CfZVwCl)+ZoSYa@yqx_*!Oblgw7zGDWt z7M}Ejiocf(?pQcnKIxk^YHBGv#4bY+2u-#OLuMPlwPm&zkUmWZl7en4^^9O;Xoc&r zC2z?AK0=DXF-ebna^SRD^9i-FX1g&OZd>V&J8>31y6jlqz!aZME+{7RPXSi&2HRXc zpe7eb%6dmH7crN1|I)mIHWlHrl!}cvKy3d}%|UI*0?n%e`@dKNh&#_zOht|Fj+!7F@b%k1QSUB8S5Auu7!%Y&KZde*?}&V zkqI^JX;kDYldl99E`KL6Q#Evm!=@A#NF{m;wH4arcoElir7+=K=3A{1zm1puJom0m zZ1nYGAEunA@1^hZ@trvg*+yW%8%0*c|q5ajndeRjNLlkX|dVI1Z&p0nD;;erElvoCFl*0ydFAF&VR^N;o zoSGmmY*6>ZI~=r2a^tIpYkpyc4=6S3n-JL(+!qW{V9)VPyCn6m+US%RNaJZ%%hHMe z_g_u$^8=X6f*qk{765;<>?G@kkj5UVfcVdngU1?Q&}!r$DH#}}c)pE+GKmbqFjt2O z6P2sA=*llj`pIZ3fxO3bt@hc#cLpQEk3|ptF16U9nN+lN23Iz#`w%g0@f|iTQk`tu zw|ztIHvQdL^w64A4!NEtm=P8Zt>jQbTNoMYfg$Nj)W=|rz0AWB}f$)Y4$M3!+ljaCidV8^aXR%G9epg};bEOE3u)2ecM+fJaff3XNX zl3gE=Oo5=Sz~6mCuZl%h?hZ&u-5HnRUFsI;`uh3Yl+JbNv-r8UTjkkbFMmLnO=yfU zf(c_(Ew=Wx<)x>)K@~eb2?6GYy);d0L(uINEKFKyeF|AYHh#^0uDJLZwo-{NHezom zLOwpLReV8X5rNnDN0Vu>TC=~}C8QJQ2IIO!D1!NW$GXi+1K&fFI1Z={*ICk$+EZ=> zkOs798(4cyGRt-1;FbxELl-S)>aFL7ZW7xa7S!f6{&iYv)JI8hC~_GJj( zu}yNLcnixmgF-=@kMj6xO$=_x+lOJf`-xeGKl(4owGR0U)Y@no!Tv*TbAbX(p}=vL zhusg#4b`-%vGlRTYQA@@OP?MAXx?3zAeXYlVfu({j(V8!0h+vI-Sa$*1$rLXUm~)g zrbZTD!E=;Cj%moWLxO@`bQ}enPIi<8-+CA!1cI+AC^oi55Np`o0wh>LWU5t#O#|Km z)e8`AQlBU;cB`gEtwd+grdF1kbxuUfV?m0ir^E^t%u_8>zbo{w$*?eQ_t#MsEK}W` z#_{&HfXHR`aMGFi^9^dT?Z_gWA_|SECC;+fngTE^K_Sw* zp1Rf-AqT@k3X?+3I=BvTf*nD6JARX@BO#Sl8{KR)jyru{%|3plWZy3vT|arm+lJI@ z&&Ms|*|xpvAuqQQMynaeF6DQ##E1K`;z~++&VovrK<+3D2Ij>}VbL?(K7iK0P|l+^ zt&-&sRm=|>gQL1MM#eB&(SPlyB=ZlwK+=tqGEeIiq_eBRAMM_X;WHJ-_EAkZS=V24 z?YnGg6>vjaHox3{0={iMj17kG2YfOoep0_l{(C|8NMqTLAd3O!2fOoCot2Ear3tBD zSW>CgT=kjiwL0q#VE{6a!|)VxI^pwbFs}_i?q!5p-b&IHflsrxoBtu0gvFhCUl^nn z)>r)dRA1gn_X+XFTF^rnT0GQc!`Sr*thO=o3h}Y8k9sbzCR(1%b`)Vg5D2y z@u2KCEpjGkAFXt~W$nY4jwGo^EM}DZgTcOPX>&hW_*5?dN`k6YKgEz34x9}0rAYAe zYm@hH)2Nj)2uNhFZPct)*dZ8~`PUY|P)GHaEhVW~=#wIGQj9qBKZK@x++eM3DG<8; z*r+jEQf`lwy-NGu!QXe}BwbnSTWmBtydM&sarA@7-_97m z3fRP82Spm}8=K}14a~Vf&&`yoXHcjdvRmq3W8*~OAY(dAMYrn;6N20FQpiL^Eejat~ubc*UXNtcbB^`cfh_`Vpo!w3eHc(R121&3eJv^YNg(<78Vldx2X5D@p~o zrufM+I||82ZLj!ZCz0dX7qJioMJHHs>*%;(|D}(JQ-v)FZG-~Tbdduik(u&_wuk9P z$$_+;=8c?`uIjPPthH*netk>Y#Yx9WXs67dcx9^Z`xy%I6dMtNo7~^@>>t)TfM!ux zbyJYCmPPROvl^i0UUh%v?UiJP1x$XW%byyc#%}G=r5M#^YYKNt1-3L!>bZA@&vbMN zk23D!0EXnj;2kT;jgy2J*ZJ*3+g;UJ)~xb#963LYC5icTn{V*y>CDMSZ!uDSA5=M% zzZ#(l_e!-xV|I;uIL$c$T8r_zGEd8y3z?~>yDn;jvF#8X9Lqad*v?0*gYlkxe>FCm7nKb#uYG!vP$BB2A z)aPHPy0tva*hM78kb@hUhfq#idbBd`mhyCB*J5Azp?@|vr1!YDYXv)a8GmsoQ#gsy zwIQ#>m>eA~s7`>%V1T|$fUNTy3^rk~C(VGrMbR)T!p(yjXJyId1Tqr=0RQ4{Gml0P zW&FWBF6UTG^|n%_k;OysFVx^0OMQc3AealtJ22jUi160EEjJ zA0f2K_Q}~}PtzX9y@7GJ4AA-}l?0mj)|#!c^YZzOwfGss-*(*9)>FyzWY=`i&ydfv zV@bwYn3FA=n#xzn5WT$ZGF{l6ZVgd=a%MNhRrdrWJKK+OikTH`r49TT4vuqp9+F%c zuiSPk8}ClTReq@J8QEK|cdhwd@U;3Xs^#X?mSSMu&Nq-^#ikz#n+&cRIz*Lrs?o43 zgpXVXOKC`^Lrv+iU+h+5E-viq{7XXS#Ecvw~!D*Kine z$nCoD{MLk79PtYUToDjQ^mCPsS>tqw#P4zbx)T_ee0gf_@v?oU6dR1;W(qstuL4&kwA{*GK-g zMjyu(T#mCZPEm)WXE<^YwXhiLC!cB0QjF`G5EY2GHpkb#N3X_`9Ym3Z@d5IvLYc%4 zH>{J>TKOjc0AN#&HTvhG+>awAy}2tI`j$j8YPwgS3WzB~b6s&qT0-+j#k4O^gL*oj z=f2yVei*;LxJ^r2zYzu+y8tm)37mhH_3w?B2)OK`VI3gCz$Ln>HHxtgR8&U+(&u6z z3}@JKTOqXQ1HA~Mex&M^r1GDnGs^XAaAM7#6tY+`8tj>#u2n}Y#i zxH^s>u`J$(=3SGAbx&>7R&|LO}byS&rrfwVIm~Z2Ca;Oz6j#JoO6tCKhI_6v%Rhf5i~zY zSu8jABFBv6c%(1Cu1Cu?w>|1vtiyDYyp&_gRo3L)sH7B{=Q%bL7WSyuTO$Bi>ar1Pf2dd8EX3-uW}}0+OJ~`yr(5l`{$2^s{2@0bHm!K1+_OnKYE9q` zY}Jv0S4?V6?SA>Ls0uaP(&wo)p6fS2WWrXRw6Y8l!ByROSx!rRv?0C&l=(u&ihXRl-bp;_s+WN?3R4Vh!kqvnN7`NM{MF$)Bue6Gw&0 zIH@&jkG(Pkv^NUUkhJwqU+b?^3&SH7ZZ!pbC_1VNnV_aRKCIYx?oUJ}%Zr?7-aD`| zX_U|1kR%2^pW5hsS5Ke0WAcFP+usFmeJ|DULCR{1`G27=kRl@iJB9(cb6V%Qp{aO) zGlu>VB9HFtN7Ca&nl`)W1*-6o(0ALPuuO;H5(yGg%ON4%1Kls>A2uXnF~iuQnO2q-6gj}9a(7$x#?d%{wmlT@Sl)7J2w(@@ByD0U;) zaPpL&_Dg-Fc57%{OjK|bNsunt_up*Ws9isSss%`)cBO8&p5J{Fg1~_#4RY+`9Ey(| zU_<4&jMGy7DHq{-QmZ)=!(5#!jNkg=%bN4F_vtfn{&(NtbTH1f*>F2Tz4wS&JnzsU z<5&V21)4ROu4c4n90GGyJLr?LN{-T>0O@kYp&MRNM}j-zlMF9` zPsVQyT%^%(f@cqj&!o>M^sy>b z(^nWaU|=;VRjFTcH$|1TgERTj_Ob0@@fO1gqP=TD5#e_S`gHS4>ibw-Y8xqv`S^90 zIT6eJRsO)Ji=2W6@z|nvmew<@0yI%VIsf)#?!A0i?h6aPo=zAK1786e9ZY#0SsaIz z@=r2d(AC6C?^VFPBM4iyCJ3X^-?&2u`<+V-5yJT&F|mU0KS!1T6jyjU$Fz9ua^{8& zkI`q1IXR5IjjN4v`GsL-3BTi$ik+GVC zW=;x%SagME79Wvq+JGPj9E+CF){(QU!ITseu?IIH zG&E+mTo|5yI~B-~?kY6a6YDu-5U^U={eBWnJXko=pgM&@c<(os^g;fp?&utQEw_aKL#%i(Uv*#%MN7N2x_dlN<5yAQf{d<@72Kpi~|quQ4J!Hax^#IQtE=H{@wCg9^lIZm~Z7NdA0L zup?s2dKZYhH9rv<)UuX4hFmq#dDRC<8a{x;#5tfu}0YWAVKX_`N2?!aFU(0;P zM07jTe-M(_8msiK>)>-b^^Y9U$hDeAuab%eKu`Nxp>V&Izr}`eM6OeR)g?GoW1_kt z&l;!(urf$#U>8TgJ63%e9}=b7k82U|_AxqvLtv=+jzl$hYtJEnj!HFlQk>XJB~kh! z?jV|6)C=>>Qoa<1vFNsgkHHU|JU@klw*PT^lBt9g8ABzW^4RsA2AKEcq45@qjoWNC z?=tROwd+>9>mH%ct0g6(fxw{-$tQwbrQ2}f%OdBYWQ)Sidr5IH z`@zJ`Chqq8^!4ya<#Sj;FsKXs_*KFl{dr4!=Qt3m0{xpnY6LK_&|E@9LYMZQY51;v2z+}3w(!A);%P5 zzp&f93#qbAIFzm!Y^qY?V7Lg4vRj%5CP$nF(4$K@!XT7uPhkMOA2ej zFL)leJuh4-C%yZ|H5zH$SIis-HV**2RKe2VigxJkQv{3c ze`=2sTDz!uZi(<7Ei``K+IpxJ(jKHLIRD6lOUpBp z2DWe&HvPSgNIvbFzfrG2-{%nm@a~2ET=ZV=)xRb{k(|&h%GdTsK&&mv)q#g+sS@35 z3}5M5AuMSdHMgt_X$X*=FLpype3G7g!F(vW*xpigS#hIn4v}nk4K!6^}A>T=tYg|3|;pRRpCRDoSjj@4JvsC_{%x_Z@LS4^(x#WUZS+?XONYqcob zU=^jr_bFMDq0F}?cBK#1c4?Cp!Q=WBySuZ(vTta_)ZzC|GPwuuH{3FDSFByrwu;@LU+y5_dGmN_R@`b0YHhCk-u+3GgB$ zv(V#Ffsw3K412w!endltG$xpBPm(tnUE?6>_l zESp2$-%>frk??B0oDZj~R&AU++AfD9eio^H&7J#lMAKIa;)o4~0;X;}7|_djENNx< z^&)v3urBh9kMWLuS%waE4%6Ow82!>29*ntFh)m_CM1G=00gk2!&cjUv9T7riG^MB9^BFa}iR?^!wTd90ULvQvr9B99L7etl0IgzLX}3 z<}-1( z>Qqd-tDXhYxhilhzJXPNDBWsq!VM!d#mvVTl66l6RT+WwqS8V}W%+`oy61X~{DsWZ zTIKKZ81~q0!-4NtM5H2Y8h`%S6cTGcTPh^=8KSl5=A4Lcj|`Q@WjVaygf;WIw3=C}ki=q;41 z?{Pw1T=RJ{U%tKxbUpvA2Xv<`cAMaSY{PKqvYR;s>neI}RqGnbbnAhUot1&1t`(L= z%5_y*S?aqiZa4^kRCrd94#;$-(Zu5Z6rk_f?E*^g?5+q zh#YTT-%WWY+5U4)=c0}h^UAb{!Rnsp@$>iUfOobJYlT?uq%7 zOcC!&?)>J#Xm8egyPg3_U@Rh=Y-xJluhY zn)j8x_Z%Yl(HMnr=3dsmoK%Wk!6z+0w3I{@Pqn|wFcFgNMxMVgiNGHhv&MPdHD*fkcG(M~Oc9&xB#`vqsFdSEXm3JGT7B0)6?E9sd;^Z?D1L0=TT1-Ry539r5| zL^ljg_}mqw5BnvTe;4#kl7DlYTw*vxPPcP;^RQnWg!B`Mg@*F>wLJjfwj{IwX+hHw z8R=;(`b9V1Hs=9#EAxe0`^ZB&s1@50kS=p61yz2pjKW;mKPMC z9oF|UwKg>#+H-{VFN1E@~b-*%OUB?iY++|8A<^Eq1lecs~?OwrSLxLS$8lzUc0hU(8N&&5mcZ&_h`P z-C1px>rAZp5Aq3}xi9M?v}(2_UAG~ynmZm>W_5h}tJjhn{*>Xvvwe5YpR7j|-3(d( zRQ6TWvMk};epkhzq|=2ik&q4{Heo{XWo>#CK{MNX8>r1y;=TE_k~2je&jRZU93 zSL^r^cst>H0ucxY`efgt)lUHkuq8Y$kya#c=muOP-wZEtF1G1LpeXtRCQ5-5PM&zd z6WZ)V2ZLCn1Eln8S7Lfk0q3g^LCbs>S0VBTp@M7-^G4<$WB5$Tz0`#?f1hy5)b;NaE; zc*rCIUhqHxZXP)}Z5|mKTITJEQ1ZtYi2HA>d1p%9m0lIYL?fdr-gGSa41dT`g5yc! z0xO~pqGzV>6cY={9lWpyZ;oHUxBI;W$fCYL>|NKB)qgKhliOI z=?rF;-E3$FN0^HF1pn<@@%8cHyEalCiwH zyK$4DaWQ{dkq|wp)QR0^B%}s;OZ}XPl7%PMiY`y)J>E7XSy1YQP@P>y7sgp<{QYnk zxHT6mBHSZKzzKg~0?omf3e#a3>I8R=l!PW)BQKKGOcC}`Z=+wK4^_{;mOcE%gLtw; z7XZ~8{IisW!Bl~tL0I%VfHU5>y{V{zdaq4XsZ>lx`pjXGPWz}zE0GSh!!dCAV2*ZGs{Kos^_GmI|M(dAVw>s7WIV;R*~q)d%G7 zgk_+U;;!4Uk=YPoBSaVw)iiu>Re>}xu=(w10YX3m4}GM<$#=|d10N=s7;>MR?f%b;oHo- z9?G}r{orHoC?3pgcgt!sdxm`!T_Ibk;VYaeEs`ZU9-ayhR-wFYwq+dq-7E-1)>LdVt>(JR#i&q07pJL=QBG+hG0^ji*W8t-Yk@N9 z4|%!KBdNWJL;mdx^@oa6O7D7Z@2lF!m&x2yxkA_V4zHHi=YZmMG$+IJh+=@_<*NA? z_RI?g1nLBcOLln;8E+oMV)6TD|2tgjTd2~h-s6o-=O16oXEU(N)ToCJRLV)sh=Bx_ zd>F_<6mW(8|G6v>NED!MD^5jEE%*5aF>MYUKbMwgj|QnuX;<(ShQ(5D?KcO;QW>s{ zsgzd|J106s*sTJvvNaynKCWL*q&=2sHJe7g?lMcSi(h(9y&oJ0({-ux6!0h8^+oNf zIhKE_Q$?qXuRFJb?pX+*hw{+8&uW|4uluxVTNkKd_+NCco^rmLS9{J-lU{jV`9lfC zWw{@GeR!SFFst3%c7lbG1q%aI{z&O2EPkx|^5B~CxpNp~0kKp&q`0gS0!y9=yDqg) zis~%=6o>l_R&-I%KmK>Pu4roW1`qyt6xiU~$;b3=Oxq;S6|$Vogcj?TY!>sR_w#lO zyedK0KzT?2`+@CT<@HG})fWnKnQE~p+;jY&7Wh$mhK+Bx2kABr+0S!fZ?EGjT?cQv z_Rsq^T$zdWgIS&}UpDXQU9Uy?b4?2b&>3d_TJ+)9Z2DY~iW91^&Wt%P?$4(Eb&M|K zF@e)Bfu^_lmh&;Vf5kykkvtrnuIEf~se=I_$UUV8%=uWkqZYF>ESexY5BnyM&#tZW zPFDJ7dLkRd*=nBv_QuO5piIOQ+*B z!Huz?gbSbNc>Fav*QJRL!vlENekHi|Kw8zjoIAZ5OSa%MbsykYToh)l#(_#Ndy+GZ zYCR7k63Ajx?%Gp0&OV@tC|}^fH+dRK=>*yxj?#Cqs1!VT>^XLMBHq#!p^X|Q%x7ZX z?((WXJ0pTPLYZZ_q-nLpzsRLy1Gf}UwVd#d(pa79)~7!^7c;ppzdtT@`?VQNqq@%c z61ebt??@tcc^@;mF0DVdY|cW-mLKsxc;03^g={!>;hOJw(z+UE6J|Y$6(icz9=5RR z@+#k#13BD+KrP@}3yesPE7)vZ!GA+Jcz;Q8fx%6tv#h%_7S=D=M4KL?->6fcX5K4b z&rYjaUMwGLjiT*eJKwD@w2HG)+&=8y?=N}@-*R5B`?1 zWZ<}+%0eSA8A0y#8glFnlHsy9OTsEn3KJ=rhZO=vHG)URiYNSvddj@7^JR#C?ETRg zD^!d=*;Z~?b5k_-y1qR$kzTi!PHy#H$lmX4olmy;4n%Q>(QRuMF?z{WK!?NxVWhj z_K{OIm{z9ov^-afsbIqhTKG8eqv=N~PV$7={Ni_cTS?!SmBU+3r&1D=Mi@whFIZAq zoR+s@xo_hJ*G!dO*X8sY0@H=+_#8e1+a;W^GiUAs8jEf=NxsD=x2ADF!{y-R;7D8i zZFnoBjJ{&HK@~MHR*Rs}P+|;OKwD5aHj;t~3kTXjU~&$_E8-INVGZ-QES*ag(~bjy zymePE;>98Vdnpied<@{mocz&mTHn|zlFPnW$f|W2H~-S0&S<@Im&UUXi@qKP0XCg^ zcNc*?Rr>Nsr&Cn%TRLQb{%%%G#&JU~;#hi~C4ah7!j?~@n5F-~LNhibbv|7tt_*J< z&c=3n(E*`42GZhQ^h=W%0y-wMJG4aGio5Ii9_VTicAy25E zXTN>b$U)-E_eH7)xG=D{`mO24OXVk3MDr8Tk_Vxmx1FTtVTPpXl-8XUQ2kmEv>UO) zlF6v(F1;~}e|EQ9KfE+(D9d(w4!)eW@$=S?y+_I7xbsD2#xm>)1MEDdWv_)=Xh_Oq zk&z36W6Lms#DK9p{QWJ<>ow}l5RXc*tEqr?^?4BRrnL8dIL2Ep%82`PFji~e#`{H@ zsOmc&bLoY0m-X-Ef$?QhY&j8S?gTl_xnUGdc$LXW(KfRP zSU~h15#Xql(rA=@ar@&}XJeA`SNsk1o52TdbFguWjO_hS^oW4m-A%$91yra88vYy> z{RRg)#F(Pv0W+)jc_Q_=oWOT!I-b^VxAnWXr3$B?6(`xVwQ~F67 za0K$Muqm`?#9q|2BpXz*#7Cy23jy1&;B8zZY%XKeh9sO8Pb5*eVE_|{=X|Ink%#;d z12r-fb}&oDYal(-6+yvfupx$)^yAuUGjuhEt(`nVWbVM>raw-(YBFLH8Nz-5b>y1a zhniqQg$6%KFG)&}gIcmW9Da^@hQ!Dt$zaIa?arZh~Z9|kcOGv(4Nsb1}p-u=bSAOXK71dm$xMLV($VT&Es`c`x6PSS` zO_wYKWQm)p)|@G?Qo-Hm#{$Yv7we zR3fx|nuo1lzUHQ&L&^2Xza`-MCz$_0@Z)Q7wrWKk{LIh()?;I(^EtG22+ahya z*Z?DN&iNe+fd@FkgGsRfA~u|y3mSBx-s-AfD&W6cnl4e#6-Nm5+yt8mjyGL5&+RJL zCVgL+UAwuFoIEezRTtbBKRzCvv9Q#Jw=K!uY+A1e%C23P_xJH0vY`koMwE&`rZaW3 z6$k9O5>AxV2WGsKtMkkjKheBxD_!MxB)PjxHok zglD#D9i-0w?ELg`Mbg<0+eC5lII1?^K1wB*c90I7J^i>$D}R3M{_+TwwQAEb|JPFW zE#m#M;BcRI%R43Y1MsB_~2Xk?6dz49l3BEP!8egCU;g3zYblQ;@zm0~ivhqM!E zaB)w3gFIsN>G6>bLy93W!L4V+N$TTN$^~P#&yj)abO6M~5)`4~Bb3D$INDAv?Wt;u zR6US2VW1cSwA6<|&?CrS&?NekZh+*hkoyQys{}R0HL>{=ttqXP*eNDf&roN1BvHzu zSS+-ilon^;ZKz~>oRpR|H}1C4#GIG*y+q^Ol{cB!mqAKxRqIcEq%NpkRlbU&a753j z|NN^p^vdF>dJIw9`T5Nyf;LE+@wU3CJYN5$wRJg4yn1QP59#)7Lv3$|`a^1-KQAp> zQFb__o{;yc%Ph3Fqk}%rP=NOChfX|KjC%v30+Yy1m3Ze}d<4F%O%If~o9+9v97B1V zGRL;Y;O8dqVFvJ#uUMENwq0(#mfa*$3)~%%#e9~^NiV9d)3ye^xAO^wHt*KFoR_4l z%U0pS8|PS>PKD$!6e38!JCWa{5N7QH?JRAwlz2_+qt?Or2g@8mLVxqESAj6wg4}|V z3`M|IHE7)ga{SrUiuD=M%h(>i5hjZwbO)aR!(1ru8&ozfDFCaD`geDD@rP8ervHCq zY;oe8FV;nFCE}hrS93~mZcJ!}%f<IC-&w+HPs_3bZma2_&}q7tbE$We`u`s1o}+|p}Eca>f4Y?A1NspEoFT({LNt6Ys7wv<0j&r+8fdA=uYK4 zq5bpV3Ko~2^IghS6Y|HDM6^0uM@Tu>E+oW}8>8kYs7xi;m z^pLO%Iet=h5FGvdnx^cy_{ew`NeXD#%{RNnN1t$>y%V)6I?o1XurE#k`=jE!rUs46 zGN2{-=-Tg9o587h44vG$J0MM9@} zwI4a?iuON(VHh0n1|`=})$Z__zw4o1>?REU^fB<>PMar##Ur&r$@GG%N9h@o+b!kE zt>w?#Zzj*1Bnck0$;J$d;3*hFyfigUjzA{ll;2CbFN7}CZ?9&`ubE|DD6Sc_F|7*` zl9h04UjYF>%|UNL8|%0Y61mygP3gQPM66diwa%=yIIcZ#pLGvTe!koK zmcQb}th;!AL0VWWVi31X_4fy52ZAR}I&!$)SO6rjAv@ z^s_q4v)RW@Qq22Rv%7mONNuoZM28M`SDxEHcfod&pd^C%3Nwz-p*1^Q#}-wlUs$Vu zuY?m4hrdw^W5aLMlaT(0`GBRZ0jCEvDg;ndB7S@vawPHGvGH~wAN~0;SG@G`rxyvy z=V`@ZB7@Tg_}0StG8Gf_~nhn6ZaYI0@H&x9FP7XAp`e0;mWvG zUK%FNDDS4o50W;-VrK+$V>Bb2pm+5wG=&dZ43780ovAn4^xLmPXQm z!kk>G>4K8mAVqU|d-l&Oj`(F-WGdZB3BJfBhVOoqvX(>*-A4SyL2J#51QK;Ym3Q3=A8BA`aM4kI&sy$^#b*M<0=g)lw#p zv7=Hlb@bG*YcI~B{v zAawyFgU_(ESds=LlPR%(R{GgH#B8b=I4674k`n4%# z)UfVH?*HrO>Pxd{kX5(;5MMgaAT z23VqI61K?Rz1Yp>I_%P9%s-A(O>DT+x<$U)kK|0%#VLa`IQyAMI$h88zpeA2G%$GRIQjgt_N`E zRy%HzstsQiHNm?voM_dm$U3|$U-ud4UB&SoBUjDyqrhyJzpaTKh&lpY`r>OP)5aB-QJMt%-bma0%uO6|-><#HKi)Pku`J z$);%0ER-~m4TO7j9ci=FO_`lwUZCjL6i2&q(jNQ-Ojj#gelVa%AI@O=#%P?jZZc@@ zbaFkSu-6w4>eOvnG_f|O>pTl{&`<{^_4&hJk3EIifxp=8(+VirhY>=;kX9;Vdn%_O zxv*xbWQvi3Gc6fspcp+@Vkdmw)k&`d9TK)WU2dpz1zykF7_w)St%YX^tGXt}e|-;p zc3t6|&b)r|eLasyO187U;X19@wFBI^PVkJLH{Z(IOm;lL9w)8$SO*cTs0MJ~M6{js zMSa3(%wXgt#PJWup6sqYgV;TTG44On6hlYN5NlxZd<3=ag;B0QHhB_TE1tN%H;h`~ zbma2^2wAteS~a{oE+Es8y2Xkck31&%ziADO8)&_Gi$Rhxe=X}iP?+%gsdqCT;J7ck zO+bp;{YkrHyvr;V1(G*8BGW9-&-?QmX>Iz5}y?~V$a zaE}>t+~ho^`xmz?Z2itLXX2t5rJYhwLsuJB2j4TH+J(Bl){k4ix)P7eu`0E5V7U>U z$#UWvKlYAksVDGWLr}o=@Qar4G2i#&j>OzqEcEA~_`;#F7ebd&rD!~O$b1=u4r@qy z9f%%3sDy~KhIjHR_03?&KXpPFBt6+q`7QlnY4(09hhX+!SEvDSQY{;9aCf8w7+8ZvRL zj*0=>oSqcBV&TRhPL?ndSWOIv9EFU4q~+jQ640vDXpx++m;XoCJ4IKzHeJI}$4SSw z?WAMdwmRzA?6}jhZQFJ_wr#K2Honz+@8=!=$$yZs#yZJ8?ppJjRW+;Xsxsh~Q5a*l zkJdx3H$!{VL%HV7!3S4gjeX%4iSHELyYONR#~=f-%Mt^xO*1dKx}tamwX9hPiK}uYb}eB2s+A3wOQD&> zNa#H+J;-auLP_!d6=*n*srGk zfFSt8@%%-n%TK_J`-PNHst^-P#ys?u^#>vFCorZ>IhwB>Ry5tQ7)^ClJ@Q2Rf@e9e zmtZTR0k<30nt%Cc>yK66%0>2AmP<5Zh3jjjK=}QU60Y4*=f|+|1?p!iKws|V-fQ&@ z!U-wRY4Qm95C7|1slFP{sRq45-X;5`RLBdP;0&>Iom;|@w@-R7ostRY^S|^Ml3e z#-1DfxORxZ=~JSZxo13EVCzrTg{#0vze3v+4&vL!mfPi@4b09r)8^x%bYSnmHuyzv z_FMn`%mN2g7pu4KP3;i=;ZJkYQH!m&E!7!B?kB_Mt&i8@C+3mXQ(FDwD4rb%OgndJ zF}hs9Lp$cQsBrS>`LXMtKO0q3pYw>mzaRZv-CAv5zP~L-LVYF^YrDn)qF%GiQgJgy zhBWg1rAa4>8+-jMa_tLx#bv1oT8_rlM;XU7B=!A^rbL0WbtTiNQdn~u z4=H%){s8IazBBpk(gFX8j|8Q6Plsh@;|At8->P&u14~DO+ud4TdyUvJAvE7tcU*8 zV9&%+^V5=v7TkOiAb2(ACn{ID*5_V*BJ5swV4MI|e2aY2L+76+PW3@_%Ob2lyi&gp z#*+h=8UUtlrXKYdvbqLA>|}(OPAW`T`z)dshbL3oj(`rc=du5OJc@k%BWR^x7h zQ;mqvVDmSDjls{~5s{y)69XCfM2b<@0%@)Vtd=KqyWuWjgL9lGRZ?>-KAqdtZi5{X z7H5ovn8vJgl;76+<%*+^n2H|*C^1?H`C9$@vL%W+y^mYdTR+p}Dffn+OHzHf`Jyyg zeYJR5F2bBwNCUq6^np;`odSnW%(m2=4)e^%e_sn6+&>pPDZW7o9pvB0n05jy=}gGb z4MVUOqC}<^|5sV3kLvz<>>RUf-Elq0V3&Ug*Sx{8Pk7t^psC(LO!H7ZNO;?jzwvdU z*WHcI6du(y<;#GdvIUu{0^P0>VeJu!qSm}#`bjdEG%8mk0GZIV@+Lgn+AFqwf4=mB zr0vj~9Y0uhtoyE!;`&%Hl_lbagpXYd*gQ15n~~_?G4O++wsY2Uy!h@cD83X~7OZ}RYgld40SP@l4Na_=pK^yEP7B0TiA0jngZTHOk zSV*6BDsFCUB;ZO+WHp>TMXt-F<+l1wK-HZ^0a#BWi-*GGke5wOC^9`hj&wS95tdH^ng1gbLQfUNH&HA*m{nLPLrS^}Ml) z5N3l-!(yixr1PDpvvnBDZs{*!M*hYInQSf!9wvo`35kTPh@=?ff@Ns-)2!`PV9RZ? z6*zFzWnvX3|Ek2uws1JOn42K6LgUC79aN8q-9tb-F^(Uc8qa=&87#8!cUdsph+MP(7~SD}9*K^vrgidN{Xe>{t3o5r-#E zB+okzggQ(1(aG9u(87qU+I7fl$^?LJ-x!Vwk65pPqEk&8JE;^;2)FmECqTq6gZT>* zA*Fl;OEC_kM*=?n@7I4m3=yHv#!o339(ppFo2tWv>B4ap+H0bqqkMufshq5lbK|Em_0#KIkiiJBlk%u(pdm~X-UHeCB&&p`T1WyLa(b&R`ey-eB&zu>v)raLTH-5N7DS(2NwrE64 zmw>dy_vTIKWS8J9-|KylU}W$5-uZS5B@|L!Q_=`*p$Wp2i$qoJFEtBpOi ztaRWXYd?6jZ&iKGbz_*Pb|J&H+V2R_N>#Eqjj~kfY;qU1tOCdPhg+9FiA=3@*Y>kKsFQ#BfP#n}9SY+Q}8i8P!F51?-mZ(N?onfCKa zdB_pb1E<-bdX|2_7Va-5a@-)q>3Q#Mk%1S}|A!CY2Rt<=pf*t%z;DpQMK{9E~4iStZ}jof6r3#Zm`%>AXktkg&|`<-C{ zql7sYY%1_HZce83`WPtS<1`>Ts=3j{q)rarr*Cg_=E{GBl&cqE1~|Iyfm_`dqAk$B z6Zdr}B{!>>m-&c!BmbH!@=D?zTj<>gNZNJHy5%kJ)*~-kCnnSy*dnSFtkJgqfb=x9q`+k@_ge+{YWQCrE`Qkw(L=3l_TL{)tIZD;y{Yy za~8D`EEv~pM_jg74#9r z5IkXV5j>i;#J}|^V-U3UGUOqje$%?I)HC}T;lU$G`g1()`)290lYsO>FChD1T)yH| z`4Dp+zHPuM!9UV6(CJY}lASC09sWAu%PwB!%D3GUT_%JLATEf&u18zVq5r=S8UH1C zPBG>Do>e{JOrfRc%WcE6ozt*x0GN3g!@-JSte48TV%MI_lsb4|Rrw4=hRbcAJ*4Ym ziVL%FiI5hr(7FsO6Oc}!yR~_7@f2`nEKZ`VzZ>d3SL{yys&$SQ&%e(Vpx*qpTsu@! zz3e8I(_dAt3>}04N~k&p;%vjD_hqGlkJ!QGGhpt9P;X`P@kc0B{Xlq=dqo$tScOm| z9U_U!LAYZgpUS$5PGmCcac)Z)FMVEY@cPNDycX_#--+9l$a;V9b-jbNml$j!`mY<= zUe8oQo(Ii2_&8(`LBxbV;AW1F+;StdP!fPpTI?dpVUm3MwK;q@o7iHvk$w;gsDksH z=NOX62ph3kt$JYJuy(3#yOT^>0_ATTzPqc2{k!5Kbc3hnpLkR+0{DwJvoYAp5sM~y z8zP$k4E!0nW0it~u0&Xs0am5^!+okuDTC8W@CQm+AODuMwBZj4RWz-BR0rOde;DEH)YGwlhL4Mii0gZeife`gYVr|kQVJ*>P6Uh1XWf;yFJSyh|T9+TAU5yapXk|i)F zz6!9kCF%X;BNmk+fh>>{Vyo+V9sPtc*3i84=W8qt@`8W(sg)SXt=XxMwgLQK>_LM1 z?@HrHwL=pACJi@U9)YIY^E+ti;D-F>suMl^g~dGlqvyLj4w}wAF5c9X;6RA0yoEpj z|GswI#YATVtB?~@@BMu*Gq=hrEo|R|}(X@cOS5U-%HTM~CEnDmJ$s zx7||In1+#ch^9qBm>XS0wrm~@ocq-GFUIjSqIuJrjz*US-vS`!#PvEw&=3c#wDg0! zutx(JIND}RV%@6dgnQx{98bIyZ%hsw5}41$<$2J|OiB{hShS_J;+hq(1+W$1uy25& z2VQj_i4m2FYo4PHNS&yLE2<9V4_-`SJbnna4QE!pI_idZSsq3o0<{=y#beiLts9$fi)^kh@vT=5+VYDx`!}O;%WWinOYVah z&<(^jF~Ge99_8vcSS%#;PC-b*YP9-<)kU!7NmB8xrF%H7ph&pEqjD$@-x^b@vH zHDsDKJopYd*jI~$v(7RW;SaJ((S@3q)v|3LKR<93)>jAfZc-hhUq4f?vDJ@vw?3`x zhBgHxEmn6kOk#$j=A9$I)B(Jl)_;2IqMb-#XeX>`fiHo$&=wa~$gBciz;eieKQdpql@S=tSEri_~d3#pTPd}sEy6% z#KKtsLt_TAB8K;uQms)|NiT^qIv9Zp^YFg0Zp=?ql4|9p1Q;RR>eAh3nyRcA3ez}A z5!C#If<#NVrR9U`Qt{j$wK+VAD5XmUI0l+1@i<*<(SP=8gFk=uYE0IjwHb_#1Pdgp zp>+&G3E!?Tpc2kI7!>}w%}AS`<{uE2|dZ{jUj_3&baZeEO4abpfl=wn2xrr&@Bih%V8vqvZ}vn6~|#NoQmjX>s<7)y>EI6d&QSfbYlte~d>``f%CDYrLJt8W@EqBJ~6FcKZA zQ-fLVq;^0<ocES;8`Cnp9r=>yBg71UM_M;kqsi_O!92D`)Bc#8~LRm*U_}O9gOu zW!y+eySY6+!%)xm#|!Y!-ARaVtB zDxp1AWv;Rr$2eN?jH#iW9rr6xIO5<&`;CT3><^EN_!2%2pe)Sn3`lT>QPBOghX>G_ zC4WPuzhM{-7 zO_?NP`3Fec%%$FU@;lmluDx11|K`2Shh3z{x)LahV*__ms-@ClFI0@NC9nN1y^D1& zWyaq`_qOR!Z2NvmkrLC2d+@SD^As}83i2bg_F(y&I!pHEo2?Ec3Js(uR|+r0Z6s+i zcBVKTW}EkE4TmkT!CY4hEZUk$YL@y*;b|WGR-zT2cbo^RVMu{dEmVjWl8UHwCzg(C|#qqI$u4`q^aj zX%y@O@{b=7+}|@gUKIJ`hXlw9p|YvA?(;1&!b|%z6&dnavZ)xG0!2W!c%B&gxP;)p ztkbIZ8x4L zdRahni|iMM@uGiSvCn=P(X6$LWHJa3vn0lQFFlpBiB`$^YU%+`bn%&fB+3uW@63b^ z@%)*a{uj#|nj;NkZaVfe=WwwVd-FrJO@pVs4jUfWu%vKN3z+s99wg0Wr>T2=%xSBw zqZy^6qT{Af?=zWA8s`Nd*2~i~Vxv!qp89Nb&8D8+advd5OPg&7&`M*t-h96=cjVnl zoc)a`T6mFfman{d6Tej#P`;u6E@5$(OX)BR{dmrtvjUc|{R;bYE1EAg41S_*{y534b5P8E z+VP~}rg%VFA7RZx$*29ZH+!Le_Eh;&+{4xHX9Pw0HO^49b*KdWlx$-_d(&Lw&4O>r zAi)chN8|#VfhoE}V{e5lD9-?rw`dVeF%T zp}=6lC!ECd6@Z+mFD1`YS5bO&i0SJkEX5yu4SE}@O0dGF6GzjwNcWi_v{ZUrt4Ka% zMRzHWQDV{j)^b9VKkOWvgupcjc5uSeVP-q9@?-2zmu|69Pl;EJCR-B*1Vn$!r(F-Z zrl_IC#-~gonYKK8s!rHD@05uL-+fc8Dur- zX&(<@O^*kpIu0EMq>fE}dPxg(wYq{Ieftf}8us&5HeF}G`qq{<*Cj3Cj-O3I=2=G) zUTQgjr|rj8`8>}ZbaAWM9%h(rK4;FeXS!OBhXQOfIHK1nR<}`UHaI#^EC#d~_l=6M zrmZDLu0=dSQ@BgGP*BCr?GflPnbE^ju0~MLB=c8diY?B1`ouenS}skOa5TE!JW|Qp zQV(#J6n_;l4Hqv#Yy0qBgkqdfjLQzx)wwdttrAf3oc;E{9-!EYo_l6J)Eg_cniAAo zumIjJ`&AuF>j0)$t2K+t$dcMmt#xN1lUDylS!>)mj=?M}G!G?wIj1DWQc^4_Z(Egvd2yB!>}9w91}rjwQaTxtFGL-APEUVEmewwOMbr3S6D?Luw`7b3 zTIdQ-edCJ0+0s>khjGw7EJg%!RDBckyY%RHR-U0>^SNBAN9ej!Ni3QzBhk;YZ>jZB zBX2}uILoP8CO$H0DVqZeojhF%@&JS*GK@x6U-Le+u({qCKhcoUAp+(u_tI$e0a_%5 z7DLfXv2j9c!hPX^d6}9BtUrJd)c8R%B*v!mta-a3bv*~D8d55rgt7@OR_CjZUTR{$ zlr666U@d)h)g~q{tU0u@h+KxHkWJHxDCa;9_4I`!!)o%OZ+B{`Dd2k}Q zblrChm&^tNSA#e!rj>poV%xMo4M<)@>LaQ9ca^I}<224ldM_SLwg#0r93w5n2`B z^0WDO91TBHB7izC!v4uFp-pesr0JBM;oH00>UGUV^+KS!w$dW~q1LzB8gAiC*i@G9 zj!Wr*W;&1T0bdyj%jmDsT(Gt3gP2|LnD15l=L_I$fA4BsGAoH*p$S>My61%`VElxA z?-9@(XN%Mb4<)F<%jY;MIU3F@s-X3jL%YI<WU zti;6#HmZ&D+8dEg@mo^x{*H>ly1&#NTJ>u2675CAga@7DbWCD)sc?-mwZnPKicg+J z^h@e-02r~I%*~baI&4I6PCnU4zngomOKJ~eobqqS0F|n7GA27a=GgF_C=#9U2#-H-FeU*2$r{3m9j~Y%T`3`OSxP6?_|imE*}Y<*=V`-t8i?3XfSf8o*MS5EPEsAuO215 z8~qe-J87t58N0=v^TdAx5RpP|so%@U4viWGGjv>)6fks(J4O^ckt@F_c3_>t^h_Ng z!qfI(Y9#A;Ls>2v-uYBbg_L-fzA@`%;3f{isUnwc-U`si?k5xU~O(7VMmR<}<`B zlYPWKkonWbk*Sd3|6Et=9{FR9O9VCI^^?Qo*C8}r9YL`g$tb|Rg?E#IjqYN6feJ0^A!voV6o=n zu*Pf)NreourrF4)b*IT#<>xf#P2jT0$i+`arX)C``{Ts?e#p8?*TRF_2vW(nDl(uo zrfBn(mWI?$4+Q&i%Koea1dhiEf%yxG3$AjdaT^i7f&mJfKHVb^iL#$gmeX<(YonP} zt7P6+=K#k>K=Fk=Lc>G-kXrdYSTL$mvc_QG-S;zd0KeQ}{qqvbC&2RjF&!EKi0_gg zTv4=0nz|51LUX&j_=P|*`ESHV_XWZ}p8h@rbfVCn#Z?a9{$tFh6yAK$(9A=fWJ3cQ zEz?qzVtl5U={TzORwaiqcG)>UhpZ9q&uUiez3lKS}yQ%BMmO#fH?$BoKd zRKV8|cmAVUp&ZWl3e~96S?D`zN$!wD$~DuQVamuG7112pAj@zm3O@dw5`{G$gTnet z(yGZQC38A@i0MIO@R=L-i(CUDChgB|VT@Rqk@UxOYOVb|g&%QZawsa#P%7MIL#jAd zpeqVwKnI2M;uz>2wLgB^svb51DnAT20Vfvj>;sGMH8QjYgRA&}7b<9Ik1UuTz2uH~ z@qB(fj8luofx^X3K{CM^_KF^w|Fq0rre8m3#p~J2nGl5PpJzAl{&~gjzk7GPeUGDZ zdF`Z|_ypvJz9o*`kbh($O{%|k6eh;?`R6M%L=qktb584?{K&3GiN_K>JJ6s50tiaG z+eF(A=yMmFe`-QtEb!-nbH&uD9)#$i6bsL3WWs(Lq$7D0M`KV5=-B9A=q!8b`1z#U zj644XFmt*;?8k1KtQARRDB6K96tpwymO-+c#tmmL{&r&I;OClx%$-@$14{NmsGz4Z zy7*y~VZ(%&EHGWVGX>$G*T0J_jwRX@(G={3r^SX%GzY4dPg;eMM)acmvT-xawyyX> zhha~`1&}pjr@~Xo;^!Pc*sIiEREv^FF_nR(hCW~;21-8lOO)3xdsd(G!@lNzMm~aJ z^|h*Tfqt?2HJd&_D#i#C+L;Kr+AA;*M@kLv@e`j3fkPyKDtZP`I<)8&IeM!2havLy zv&R7mT}iUdXcCh>Do?tX}Aqmzmqu_p?vZ zGaQw27!uj0*K%Gj`*_qVl;2Kx;xfYdzXbB%zslnY5l!=enLqBUh%ICG<86TAzC`?1 z`mJ(II_tJ)A#1q9?HU#?!R{(A10n`*iq&YS4OiL-uQy~{O5_)Bb2vHGu7HvomL;wu zh;t|~q&z}Y&5fZ`ct0J@qeC-S0WiV{N;?lKl0A_xNX4wOf= zxP<}~HT;a$V*L|W7F@!8)3jK1mvpkNe`coTld#1J9}4Yn%FtaUPK3dBe!_~h|DQHO zM+1h{0<^4HpqB;4VEcKQC3B9}cjQt*!zyTV-GOa%imBS~IbA7KaUVgTm5#>QsGS12 z7C6lKOm9kzmJ;v%{1LM+o5POmjV);xp)c<>+MS}ev!Rb6`Sx0~|VqFNqF-?U!y^a}(61SA$H z+xu#~=*mZ7@w2efDJ?lfO%D*GGO90}^oO(G5CWgX6Xje@>GtobcZ-1cY@+Du%c&$6ONbuKYg}bK^x)drcJrsd^##n}v!P7JFP|UK(gwxs* zI}t)p9vjY+7h@%C!2Ab<1wE4)&<1poe+EDB-cI-PjWiSP0)Diz`bsE2HnUSQeu5lnD@r#KIu&IULWn-o2g>RT6L7 ziQd%u0511Ra7x^*XyLaG&-MPEpTISh7HlwG`U}M&ZBc`2gBmzSm^wsE{m_yI-?M3k z)Bqp8Ik=(#$AqELQ#lKm9Ih;B$mdnQE(ne2%8>d({#}|TM+I@<)Be>|K!t!n6l482 zk43`bhOqBL15XoiTRnw};Mv2Pt}sSv6*LS+?nX*rkgQXpqQq+`lSA9VywvO<3&^~u zWQCb}FG^3+>811gC>EDHI|Tf#L)hK$KK6Z|zudXRUwou^6A za2aXZN?pM64zA0+7SW$FVi*EtiCGJ(!l-0rKV_tl`GW39S*&}?xGFoVdlIR{0mU){ zzRs`Q!gN;L)zZq7e8rOt%>TQPAix4$qI@9t2n`sY_gFwZ%T(XTOe5ZKg0NzUkR!x0 znuRU7H}ztU3+DKPyvVJ8eiOugs~AwiE75DZNkJAkcVxTxgz7@?NB&#lB&s?33n8&! zURe0Qm1H6$O<3q{{_yZLYa=R1w&Y$dtq^XYBN5KQ;RpAp0K-w~siX+w>`M!7G0H0m z)%x835mn6l%F&Vv#lg(=+d)pT0WtTDoC1^MStb37R<0>SI(Zab_zGBpVXA=6c{h%Y zvm2KYZx1|6oz|eNy(DIY`PO4ZxfNDW|LZ~;;*BiPB__WAR`W)C)*LFLq9AV@O;^g; z$uhEFxSaRFzq^K{yR#=MNdNbUyWSN{5+l;Skv%y0(l$zAR-;%hn#qe_|l-!T_QdkY5FOv?*ys`>0by zabGV$_jlalk~{^zn_D+N!RZYDe!^g0j9pG_;3Yl3zfwVz%kXXhy(((~x{UMTFW>$< zh*f{B*h+%&@*lv!gZ;Mrt_NjobBzU^?ByL^&zl`R>d%A2BB(XKZT>`!YQMpncFy?) z3ATYONO#UrLfxl*W^`o6Du-73$8`{^|19dhDn>KJnp&H@en7Qfnb*J6N)~-8qU%61 z)KpsQp({K6kAT#BS-nUow65J4i~H65;c!h(M`s?jj20r0UurXJ=^~v5188H`(LkOPOYE! zk^E~$BBUcHh`aP@yUub-_5nY$?Cj;mlW%tIF2d7QL2tGjbv~$*Ju)k?tK+f7LRRro zm4%S3NLU0A)08*DWKzbuDwM%~{_xge!dyzfXXNBjLiLA4k>!T*2|!-YB-5D_53z>2 zx2e!z&7lUt14FJ8z0%DuCFele&%#odfpi`vc%j`?Gm?!4rl}ePLw5diRREzzd(d6z z1q3uSwlxVy@q9i$ycqw;tfwhSEw>pP^9wLm#0I?!_R6IBGd2WrGZ3WP0t|YgDgrg# zD>@$X!Q@~*<b4x@_fQTDOB9{!P-F-baa`+TziOgmFb@E5z zgCOwNkdy^pNP0xRWV~H%6Dh)YPUVYiKg0j*LxqI3#F+aFb>#oFVM(O!2~~J=#F3GQ zzJ~PElNSk8N77>AWR#AC`ea7+s;)Ek$bxNb^ zE#O4}UnvX&5vH1SsLC$7(PHIFXh1O65j@@QLSeB0ctG!HOFa;T0v~8j;wP_6Z?sFI zq;h@Hr+=I}+i}uD{%y7$*sT91%4c~fhY6B=M$!+@g(f9nm3CqwXg?3G8%_Is;9GixT>fj|Om0bZG_nWb@t+9u0HM=NGhxajRbAQk6&b z{oKDK-vOP&xE<;Wv=f9)H<%^5EqkJ|HDb#wK?F=1fOhUzJQMXp$3fi$5)pPV*1wd_ zBmuDtBj*G`H~(KU0SO2C=ejB?)MMmk5Z03dnA-}ML@O`gyQ*1mWj}wk?Yb6Nep`?E zsS*QWVuC$UNq(qC@G5ASf;_!kmI>D7Q~i>8HGC0KzHR)Anj$R8e#~M}ErYd`LBT?& zQEpmBHV{><`OivID}w%Co=b?oI`WQa1Pi*w7O2c#%(6@NKzE$D(3K)-BtwcpW!t4} zLjLM-!HGZy!>_j}Pw{-S%B2_N@2Ui>_JtaU0Rt5o2+*!<0PTK(JU`6kg2*S3)46fH zMR99U*q7XohYWjW>#K+k)6{;ZBv4{|6;=mHZkHKQQ!ik#Fotb>I!|xVI z`+Ts~YJbUZw|HIqL8^*_%CTto-(7X~J+|8PIk8T8XXSkja+Z^e!RodD$- za^RG~0mYveMQ2V3)bg)u>t)6m8YZd_)yNK^ZzTOAid2%>r%w?I3od0T55-(xu>Gp^ z@>q8m06gM;ci$joh;m^rOb^kh72?y%idc(j6B0kGXoxipA<}9Yv!_;%0e6b}Z>L+; zqlvI#3=7ygg>q=+ztcZ3pX__RiE8$culRS~$@BrOdkQOv>P!;S*8!5$$ZQ5NMQGL6 z>q72*UPs7+vJ0nDckIW;VxLC7tVssN{qMenY^keUcf-f`2dQ@vvn(ZHm1#1b!xl(h8QLmr;Tn@KoMdAt@R^xZ~vcRLmDA-5!-wQ(iJsYfksCoYx;JXA! zvnjB)gjM;s&JN%mRJtPt<1ZEW zJ7T3pu_{^QDd8LPqJopOP1o144VL?L4Tl6{b7_CnX;>flNEHV(QjYQj1y8-?$8i=h z{1@B~EHFHc)gmP6=^^$Y2CR6K7pX&6;TgbMFa+@yG{b0rJvgWl36|=!IfJ42H=@St z4bH^JDyYf32kw4s#X{r!dn#&}poc5%tp5iWK_UaR91Bu;*S*0;0 zBo^&@9wS;lKUcDS=F(95@XLBoJLT-XKs%3|tab7-A4#=YTy#ZAA8neK5-JtVfO1A1 zo8y6+EmkA3qW2bw_&RO)*u_c%{f5tBl5_W}nnm=&*jmJ|CBdACY9wT}6)t)JgGW)p z@wkP1WnJQD7-s2!7zlCc`rG>ARAj$`(r9uSd`gJ18J&1Te1-17!KvDl%?smLm@^U6 zIJ7%qI8dIj`SRDT9dbm`{R6tfFu@K-+tRGm5{-WkU3VVI_P2Eo-9#uB?`dGVf_d*u zC;5E>R6?M6p;e+5DEts@2hZh-=4>`If#xu|Z>`0)oOA}EER#D=6KI^z-_SO2ca@m` zkafWwzA}~ZPA3EVde}6pB@BhD1_ObC?N2kgVx-`T!J9Zjp@rGXue3fZ2y*D#oCvVE zO**$&bLAzLGNveDV5sXDFp%w52^Gaf#)z3DpWJkOEpk4O#9et%rLexSXu71SgM-ny|?qBtw+5?{%rAGa$A+S zUvn~1<96QbcJ4h=IxdI>K*MIGxb(?A7JxtMWIn7o1>&2=a6oh*fN?e0KPPNtgQQc=YIiK}*VBRZ2^b8jMj>qBtl`F(xxuWbDB-ooYF3!?7Wm_uOInKX8+SEkruNnWjTRifLVfU-e$;jzvBf@t5u_Dy=EUi>A$m zz`=K)RVK%8?=O!HjjHMMad_b_43;@*ANY1$fHd6{7oOTWu$B_3=mHvz-(_EUux<_Z z8*Y_*G$ck{c@8md()2_a>O7XJ=?EK36IBuz8-r`~<%z$ww-;T?ofcQipUy2DkCAT4 zPH8_pIgbx>d;HRn*7R%g@?xvhZ-n18vLf2Hp~(-sr6F{V1xg~|6`&Igg-h;WyG4F&rr^THDRtAK)J&2tv~$IP3^=6{ZxaI1m( zI{uK)qOLS}noU6J3mjGJ&Jc(n0+wpPm-mP_l&bc~dSH(BHaR2f;38_KDNz${V~AWb zr0SJ>vqfc;+DQT9+0XJZt0%$9Wq#h}m3@jT+6Ic_(1^oo-mF&%lUZXeLPDqCI8(Z}a|z2cpu-H&=jwSR40m>bmLZTG@NJcR zw*@KpuFRuc1bJ1B0kS2D{#?=2y5aE>s<{~ada^9s7i)FU(c?S(cT)xCdnLri;hPt& z!IPC3Omr0~@+IL4ubNu)`!T2@lnu=Le7@LUnO;Y2J6rn~Tj$4eDPr&4H^yxiFHLuo zm4ph6n%4z)N2Zj(GS{*5YY=^HPH4-5n;PowU0W8MlF%!~y374A0u`9d4ttj0qQQQv znErlg_4T}FxU>HFZ+AalcoT^*=U5{SR~|pVLDw^6Qs9r~6kJE&bVCbg!*TI>h-jXz z1&klEGiwIQs)82L0A=A{+!Iit;rai{tXESGc;EjEmoOn#ZQF8jz|-_VfQq;>*7RM^ zI1KhUUQaV=KoOJD{NqNAGP~s{&G!I{>I@{)y z*@auqI#V{Dr8P`)U_dsbKxj1@1tuL23RO>WSeIgbLq&?TD#`rp#JPXrITJKI-zcI= z=|1(@1FpPB#L&x{jXs|8nrJd=bT^IpSr)*J5*(JvTM6~ZuJ+Z$y>a8r-B5^%a&NNm=HRnyq^=3dnI|$sqvY~s);JsC1q)4 z67NCl-llxR3$y2qCxd}sOOw?Vy%+BFOonpEY2$~$aUa)nXiCPyUs78bf_-6OWh;CP zeeK5%XFJOuWrrdO2QN3;_hIybO=y!i{gYE_4g~Nfcd^Ssn4lS-13rrX_Qc+|1w3QncUycJTl@F5ixVCs%V)WLBM(bD2c1~- z0VAxluak=GiZexk)ke3w7cJI{&)4TOdesfSHj%Q?R$iBByZg0F@HD7GRPkt8%E%+Xg9ohXhD9dUnPnUY z7qf&Q32qhH0g&e3ygDVhUA%`4?a)kJ{>#53cLrxiQ@sULbO*?0FrMekmoU0CEy^?hx60^qw>=<(+ z%hmzk5KH)pO>T5`Dw~(|=Wid!vPjEkb4gKDB%)-$#!HcmiV`>^Qsx*-cxBLX5>FKe zaWk3|DH7FqJ!`Huc<`*jtd43D_vKOat7t9t58SL;vFAM0ncq#eQ#j}Td1^HoKtI7g zfaf0$bAq%|l!?=x77s)^lM*wuv;_CAr=&mI$=*-tVEOHKFBLXW!;4Z^exmu@TQagi zpBWxHKUOY*Q3lsER;WMT&J)XQFt2dGF-etS;Lq8d$L6RcLFhKKZFr%P++ z=xxV+Mo&FQrIP54m{$&CGvls?1h(P)t_EMHCEjQhnSN=;z*y9L zYe=z?->GEd?d*7%t)c3Gkfr4N6*x3rmM2;Ei=hQI-MDl?hwIx_Xq%A1mkMz71s~B- zVl-tWwhQ^kBAMdq*r|o%w`04aA3%*DRGpEBPXk%Uv&Rz4IcfL3E2^Af_Py&j)~3MN zNR$5eofW4qgqguF=GgQ%)}{2_`NEt3y9;25ef3>~pe}2TbhvR*29SRN_o`c6=M%X8 zZnmo5wP6Zxh(8Eoq^kxR<_+YkGbS)VOGNnpjSpeTL!7Z}Rc!)kh*L*sO^I>Q&&-BN z1#QYClM#8>taf@?nFG}W7rcm5o#4P2UI5-NgKsvNVaiNO5_sU4py;{Xb`o5xqTcS@N!AenPvPjt% zlh-<*i)_`z`YaM-Po57mF5Aof*6g@2c%6yrQ>$1P51Dt{bswvj%k$)-`27VZ_clrE zFp!*4+?oUh-F!1qlJC&lKV5PS0HJwRk3dvM43_hDH5&aH{QBTzQ=x|E7r57LJBWTF za<(e=<_CKJ{l~)zjPyOHNavYgJw7bmeTqdbD<8Q_YqE&;Pb=Eun07ra{5Uaeds=-A6gglDaT7{*yqaDJrD8^45V9eC`NL2As2=NMfvDw2C z3+lIP}Zt)lt_y@4)LJrmenjGpU zmFhQi8drov*nqqFv|}`igC5tBIS=8)dTx8wBdaz3yJsBE_0_D+>W+Z@c$G|Sn`N2> zVXUc1cP=(!jcWnL=5q8(twwk0y}iOLJOWzxfMc+zY>m~pU3u%=s)NIHCy`q}>D5ik zVzdFe&bAL~&sJe0!M4}$U@^M*Q!csCbnI?{q1kR)10+QnNr-6Ik}Y5bNlO5(t(&;lE|E}Gy@AJ{={Vi~3>yTg3%Tf~^C zVHzo>%f6=rQ_Uz!(h%fP?#L93?q6FQOHw88qF>F@sU2bJbW^TI#BuxO^x<43BjxS* zX+mtsRs@G0Epy8x$ux?0SXXnIC!FP|Bz<(!MMg*@m}HqmX_)PYXZ^RtNk`b%S%%Ye zyytN%nzo!=5!{t~ZGn?-UO9@*b{OHjCT}Gh18Y^X=9mt?I==!N6rR;$*x5-0)}f!Q zc&{O(yxccVj6oVt)&4y0yibjPZvdZuqft0+a%Y)qR@c|Qx4ZMTmS-=9KlD$sI2y+y zEXm=pJ$*o$(dxM}Sxo%>>V|#p^&?DcOIKLdd!^O8s%1=&xVhtWM&5m$PK1Of+5bl6 zM%TQEsBo%|ZuABbW(C$$%Ex^7_IT8p-r$^@oD#SCI-*k8?|iF%_G?V^B|a1x6_V!a z0D-=vLK4;9qpr+A7O^+=rFP`*8wWy`ToW+mh@kP%pYcHT=FDAXJ$c|B6Vrzvv_Wt1!I~`U8XZPp6g| ziEZ#S;55iw$=eA&F!W9elz2PmalOg^@%B=I*SGgae+|JvM(x(Hh&K)5Z;0mjY+A%+ zeA=HA<5BIyoFB!qwV(4+oschurHWECAFL`%K2*6t;7B!pw~#l>cqW$c+?pYb=&Mdb zeLqsMRIaWc?p=u&yL5+H?L)YJ)7o%(!Z+st2zKztg=Blw{G&^Y=PA-X)sjKMrGR$` zZ4Cx0l7p>+tgw{k@Sm%@lmh!pZ%@EJajBlS1xQtF#Hy({-2YzwT;YGF3Jkh!b@iX1C7CsH~BbkeU zpk5lINV1!qoO&~ra*`lO_hww(|6J&WThl-{SmULM<`=zQjOAH=T*0X{5HTj+g?i5m zYIOX)hO;Fq#j&AdSGpn<ua++%t{>+Aj?cBY054|3}nYhDG&8-NPy>ND2rj-QC?o zh;)~zwP}_uhNmYp*4q zndvV7(E8wT=JoeP=V*ZC*80$WtTMWw5V6KgzHkF+oQ?D@29B+fMBmq&keStbZ9n7g z0TyKO8IBG7330d-HgtP9BKD6x%(E@k>{N?g@*|iWnZ{4Ip?{e2ssGCzclwoXHsl^D zOk=Y9W>1!;o*y;X7xgmP<+4P8^3OCqHD8>%7t7WQ_v(;(CXjU5C`{8V*5MM!c`MuN z;I2E0%Jf8s|3el>%?aNgYR-(xF8}XQ9;$W?{{GeE&@tBCIqt-<^H&_le;*btD<~Qx zk9jUgi_rDu{y1%c#m`LG0AIn5!6hNO)4;YZaq`bMZQBxMPv_{s*3RW=r=sj&Oo@lU{Gob*8 z$bIO5VWDZH3d7Fmxwz&Ax3?>4av-*NDT|ux`wsWU002JCkWMTY`8eOSnD$jPG8Jkh5ZEa7uJo3)iFpx-OZ}> z&I-{f_CBZiUr~FSTc>JsdWxY)GpHo9v!cR~IKSeU$ZcL3))JE7W{_HO3bN!n!Hjh} zJPzj?i=K&1MiJtydyptbm#FC~y2mu^`(O?<5#!~{P(&AUl;s5DEm2J40J!deKi}D0 z7_S9B+l$pKom!yaQyN<>HZ{%G+||d@)i+ldev*7;EL8Jn1dO_(4J9H@#8~|d({e?;6ed#cfz7(Z z1TE2U8B-1v_H^ycnbZtPX#R3PpJ3Zf?2l@5Ye;;q@MHJS+?Fyh<*ki3G)8nWtgri~%c489hr+Xri9WknTeBpl z`rJTZ35_KaWbtwnm%_Uq?bXL61hIfJvt~Y#r*5JNPqD&<`iW^4eCysa3Cx;QI?P|6 zVzIYbNX7Za@QIXC65Tb$Vw>}|^FLY^*8Tw4A`xgBZ(yfx3B9tSS9b(68& zk(n|&+lRNsIWSY+)fcPJrD8bfp21HE$E<9jX}?<$^Y#UhTR>~V z-YIbF?7EMg9Kte-=89&zl8Ia8H&#TXy+Kf?Ls)o^%~ArJLbw@gb%^Smrme`oEr?f_ z-x}WBo?agHQsqQUFCFy}%W1UdI#P^V8tdijOGG|CXbl)AAZ!=I{2R1X3*7jm(le7` zYHi*)er5<}pMk2?4w292aJ4MK?8p7_#O}4oHEV&uCx}P2p=6d5o|y;Sl;r*=&olOS zv8WS>_eTH4#H-K@`wT3@!v8}YxP>vcqt_(KBS~}UV(3<)Fdn`h_!xA8`{#yA5<_m% z&jZ5BrrrcP8}^;+<({qaWQZgIMS;y#4Kx!sNdgM_cD!wn40081uV7y-h_VvWyWx*h zQ{P&(`Q6NS$Q-4;Q%T-9cC^lGibUCPs(Aq|ZF+SdPPF~G<t9{076xD}FEZr)b z!D+4Q1BTCSDGAc+%<|QO;d}F8z#Wn~Sv6tF-V+Mf@}5|LfI#X~y7h+Fyej197OXbw zbY;db0CrP8ZQWBzv|Rq7pYzqQ(a1%MSlI_{i8e!(*1Ms$;l13>P{=KAT_8ERs@u6Z zzE)fhiyo|jPfm#7STXk1bj7K8s*vw%x)Mdz=$1#O7;K_|riPU^ciP~?;e0iK#QhaN z$I`A)?tR!zE}vwopoy=oE=#jzqe6G^V1IW#Me|8?!j*$<>!hAb+EaDacz8!yNOOba zb{8gd^Ms{d%0*=0&kjAgwWTtRRu2f>1giC)C3?;-dK{EgF|0SF+Xx;daI%#UWWQ1F zxw>d;#34p&K^F0DE*bFH7OOXV#^k)wa9EzM8Pldyr2J zl9$~nd2*nl={cps!gfOIVjQo865Ny<$oekv9r3)q%owB-U|>d2x2q#@(pM44Ie1gI z>Vt*~V#md0QT&TLsv|E8!knRUInL6@kT&hp(>?daJ=taozB>`^ipc1i{0{+bm4-*n z)Zo}9jry0|TxaVeIL5DgR~f(6u)SCUEf9t$HcRc~FM!i(TWDIQl4_FH6e3R51gc|( zpK9uzP@(h~f-d-9dbx@Iz^zx9$m3;3(aHFWV_0|yrN5HC^WyU<`^onsdZX$W&nyDsUgSs>P&^OD z#1mx%UUCwCx^grHKUDiFUdaEP!@qRw!}n3ZSPK^D6se0-Fm5gQdiS|)!Vq3mljOKY zR1JQC*CZcL2fz(#r2%u$(d#J5m)xUtB26EM7wKwZazQ zZl|6Dq7Qp-Crbf=Iak73ZCXe6loJl4;y%QHj2XkadZL10L1s{~Sp6FocGlozlH2P5 z2mjQk8N}10{aUWkTw=Yb$XN(X(|)j2s2pSl4fh(9|65*c`q)uqWBS6*`uujuK?&!F zEs2PO9Z|(ecdmxFS!#8(jjhMdV*Kb?PW1ZeI!#shH3`|8V`lkCz=~e^))rN?jJ2-gRvk=;_SQnWJ+X=f5*F4anUT@fWJsy)+>u zYhX*%su{yXG2=KfPNN@@RV2kz#7`#26=$u{Vk&RuMKtaoL*fZt!el>+jxskFi>GTt zwVqBhM_SqqH8_1*xb9SOjUC6CjU>tW$8(%2fd!V7Q)*Fua_^H>B11aR^`~@jC64u1 z8UMAE|GKe@q(Cm#KQf^bU>J?Ue+dvj^it$FG5~e?Ki$jhA%+ggV$uZ3Nia}D^Xb*c zFNLr9gSkCHW8b$J^yGIetut3m${h>Ljppn z8R9413-IUf$+(xfQG$PVBV7D!2?+#F`}syI(?5ym-;QBWms!ZF{Hi8m}a^m!BH-+xY+{Bhjo6G zM~c_IAQfX%IQo=l3(L=Q`yDn%bKhGpE@vlda?@I0PK7*@w|~5IR$K=3VP&origu z$nV-}ifnpyDk1lAzGa8-1J|8|_mjJ$kl zesWAM6|tfGf_Po5$%!J?vfsr8^h$d7mk7UQth(YjaVo~?T;90sUuwR20z%zHR~{eG z<|feY722Pc;^#F(u7q1X@8yE3Q_nr(U1>|imz1x5&yKsw<$9bpyjc{#kItqScx^=_ zV#Y}F`<+i4&z2^DoNME<`}y*S9?D=5Lvj0?aF_F1TZ`82mrnD6!zODGxblr9L*UWe zXZq+R-y*!T$t6G5gjMxgeP4@{r}e!U$AXmrbfy_zgDs-ie^NnbKg~RHPcJ`CSdN?4 zEu4Jv4?m3Gy02}qI6LNVb1>+7GC}74>x8v=eP<^x<@IqnU#y`}C#p7?6!rUb>Yo2K zVN}xTA1eth334(9dqK!pzB<=qBmA#&%MU&~dj@FE;&u426AEUQU#$27=1$!*!>Jv6 z{UV5!?@PjF2gW^;`3(o(y^rd*vnL81Jv0+l4mKt6FFIEp)OANV10M-lXC!_tqYhF{ z@?yex1h3CMJY&q0PG&mkH-Z;yA!F$PQI0kA`ZZ$boh{G(T1eT9Stg@PC)1hx^W>||_9(QjB6@h(JD7DlYU*uX(xDIBbeP-W5OP=8$);y^duuc5l*qvJhd6f2t1^5H(CafRsuK(l~Utxyajvv8t8&mHGMjDnGk^1wKX&oe@6(_M+9!Qiic)gH)6o7Fex6%J4 zl&fnbYYu|*d_LT6ycSLStJBB@KlCVYq`I1UG| z+tltUX*qKVev#4fXO95qX@&cBV*6o zMJTsB2P|T#my^O1oCtZajJMADXx#gBw>F>2}G=U&{0 zAWzljefzF+Ns*25Kpm8qfNAPQ^o;Z}d{w7j-S^H>+?^}RJ{WEfSZX-wq@x3 z=l1sJgm_8-WPJ4ltNMca*_R4$THV8&^HOHr(9Ec+l_(qQNJB_jWx&(+=t6i!F3d+P zxtaMwM;;`@laxMnU(lg9TrFQ=;h2cm8_~e zjXwPb>97E1wf}=J68!G2PTBB5eiP)*ibK7&blSto;+(&nSLZhfg{pMNipC-AsE3^diy` zEjr^@=h2DTjQnjW7clWkzjybZ4=>6EEgjXr%{-q)fBMZ;5}D%`6tE<=sn*R0zNOgz z#WI(VT(_MM+#Xki(0ZCm1$k696Xj$L3heN z_Mj=GGrPDmNbd4qJG^@LjTQpCuBD3p;{Olhrv=D6@uTvSa3d2fwv7dKz_Jjo$^r`Ci@^0+ zSPsr$vD}DLBk;}^hyC+CNtR~5zU+SxHdyD=jj6dGo&igvfIdz zh8aVP(afAQope0F1rkoD*|i&lDo_oZ6nkrZ-gmp-XbnbQo+HBzrx?>M?`Ay%6?t(C zT}svGH-IxAyY8s^hsz^#Q0uBZ5^fos^y9!3J&lHZm9$x{g+I|VO2&M&h(TSc64PWD zWS)o6L?Okbq8xe?-+ux4zqhRxb7oLQcT{D#ojd0)h)L0$?}4xP?G-xIhKm@*6YaNx z&y%O2VLv>VVvQG+glpHbbL!m(m*O_oTYl%Adb3R}#LmCU3>m77oM^XoYDu zX?vCj;Sg-DR0B8W`W@reuYr_N(naruxN??8A5VQH6cM|C;kvkykUw9K@9? zg7Ik&9gsi?Plznp0JEruJf^jmu=Rz=1)M)_aWz6s?9WzP?Qf44dnCg+c5l&#aPto( z>jO#;SGWQ{`1d0x^vkO2`&iA%w^yl<%P}WLRrkn%*s7&kYbTC+P0%)5XyBnr~t-G;xBz=(=dJbnHtC|Ex zqw{0ScB0!i=n1|{uxzaSA}2wpaDwZGl8L5UuZo1`d$AZDp9hq)jSy=~PZcW`tVLTk zkImf5@SRZ2__X7z&05H}a7pz2Qrlkot*|}BBLi1}W*5qy>`K#|hxy+U0MQt4O-ZmZ zqTcw6a39&=fnAS@i=nFhA zhfK$~syya;d=x#7r%Z3#Y!wMU^v_pW>N_;DpR!yk#n0v@a9uY%i42e`Y&CT-XiirN z&$hCupaO;U5u3Hkb~27%<#5G*{&*7H-AQ4%+ku1mEQ3DaQh8cwX>4B1^!_kpdJyIb zy$$qCI>Ix%CY_j2EPBFQ1_VF-u6IwWAVdD^J};wS45MW2uNl=-t3fuwn-D_QG%P?G zWWE_p3l?iD8I!D{jz~2tbm{*mtVsXlrDMTnYR1D+Z9s2duPnp$k?9V>3=wgBJJhN{-j#g3?tOV zS)CuIXXZ>!T$Q?O*NjfGPYz3oZ$YDUO25`H-BdNW$iiu+g4#}KxlR|#AyJL}tAi-( z*s*G*0tMjcZuYxFt~S&JE#Z0OxYca1RTKG=o|y=0l|+hv09TtqF#*7v4EC#zhXQnf z@J_Q&e=Edw3!c_uKKR-Iqm|2FRq~X|5B>%s#|3QcK33|#fX-<8{1h)OK?>afAaZl< zEld-X_6Gy5Vlv!;Ctjz`KO>LjK~gmp_bvxk=}Hxh9^4>G%qZm}4S_8O&V*Y0yzbb)}Asgf!0JIt&o-Tf>quq?09s2+YT z^!yFVU>6;xW!k#<&gk?b9}zt>3P8Mp&>K+S#XKRf~Xd@|-Nm3H&slpA+#0RYJ`uUFt}WpxZfBbz_&rB`R~H#(s8` zNcb{mI)7VK{+3A!y4ql0G0?%xq3hKN({$>cDZtPxrTFfql+u82s@SW#lJEN!sjl0P z+PJT>I)`_zxa!!!TaQSV4WBh5831nw~rsTD2z8dmSWX8GbP8TSR zlB%<*Z-YA3VLSX4v?|OdQ5FEN#50^mB;Cihc)BwBB3%yo`^kG_kOs%?JAp!t1yAaL zXs=8a?AqYpJCK9xI+g5wBC2ZKrD3lgvHJj#(s11p13*0@ZlV6>y!|h5UF}U1v(I+q z)>{aU2s5L(d{5ks*t%Ft+PVdO;(RbJXgZ5t6ba`dj5+}S;b=eR$^wm3Go$8WmT@J) z3FNN%H(;i6BiBxbCx|1m!!jvqBDiJn*-FZdH9|{!ZtR+_7u#fJ-cDgsxqQ%q1m~Ls zx!u2+GEfJ@ooZjVm9gB&ZT7ne+8J2g(E|8}tJ}uu%R28Px#GGW^O-o;2XcNt8Ag}h z^lzz;=PsCZ_QTJ!@*XFf= z*PBBvI^?*U;^dXskm`}FX|CpvMmb|$^3}UI&Fq>jKXj^~26mNIE`73?e|W+dUvG2` zo<$3OJ>zf<(1v{#X8=#~&8XOpC1;v4_a^|nHo9&)uO*c?RPQ&l^WZ~FJ{Q3Ql6f~M zM-!4+5}){>5>t@NdPib?!64zsepu@De1Guqd{8OM^ocyd`%xeiI5z!blga)d8=Y=) zJs#_W3K8_%ippxIeGC=94SBd`ajVT}n$&Q@jZAabxP+v&ST)8T^J!Bkrm-vT?b_Z^ ztMRPYJyCnfM!ZpW+h(64W4w!UH(*;bsC2eyDPDdT-D336pd1(>dePj$CRt$kJ4=lIMK_P&r{gbU-GuACox;Z4eGL&3wcWCPw+rp2qbmE%%Rprxyf!T|ayn{T-ONC#sP* z_ubinEib@UP@GaR{k9}+TzWFk=~y}XHW?elXQEx2_vrhGi(E*eAo>hw)yCcUMzjBm zXu8wo_5m}`tUTkl24MkMfd;j#<0dGt(EcP-metcE5c}z+_q~U`LDu9zW3O|G`?CI! znZP+^v#TU8=ze;+SppN+PG7Gx{H6)SNk>pTM?!g1fWGg(*!Bn~X!7W}eNq&G%* zgZM{rt}>Izl(Rcp^3+vm#({Y1FW7gV36+(#e&6V~&9T&+8SvZCM;=Y6^U?R#IF9=l z=yK@QrzhoKr}%vF{%2f#2xHIGIQ-7xziVFNUxuFtR;c5%_s_6Kx5HI{)T188Yn8fo z@+XH6R_j9m5Fe8B-l;6@=*Q^oe?!*5KGcwOs8l`15s^*(YT?Tt^M07|0Q+ZB+VZcFie(p4MDIP3Mifz1GMvj)Q z?mw6Ozy@t>POxEBG`wx)L$arnr^TC@TMXi~d0aZGW(W1lxeV0;6H;%( zTw&#@6L#ka#n!rpYe32{KUkrA6679ueeOfVaca_jBc0#WOpr>OKT5z)_$c~9_ybx4 zlpY@#8>L7q{$_|ND(|w!wv0&vGXAqLgZ_7fA}zd%Ao*i_ni;4c8GOE1o!E6rQ6$uV z>FQzJyGSh3Imz-mkn;9OzPZN;i14(%XGrBN3ntQud!}xym1nh#JP7%`u~!9+2ze}c zmj*&i<=lDwm1c{CRrYDXGgT}x{6>5wmdrmic#AD*gR&&N9$4VbIVp@h_}^6-qt=to zZ3+K^hf1#2H$ip$Y@J7kUCl1cApZ(7$tl2IXGnWk-XhohTpsT{kHkBvb567{avGWI z49=!TmKR^`p0#`MzO7&C*sewnD`s6@UVeAf2+F&=DZd^=K87Hec1TWLfqP^k{`?}H zCX7j&+1&Oh$ZE?^U?axrvM=OT_xY|^1h5B^4 z+Qv?Z?}rT_=%gEi{OJDZcZo$5`}>FLiZUJbRGqEUaSyEVjNXxV*Laj59+8Q*ey74J z3l{SZ z1}nWu#p3*;GSqrx(0?sPz*Il|>}i(^L14BAK@p9^7rCXUePGN0m&(**jADARi0AM__z$bSl~^!q`c;-q+oYI z@o54^!h@lqDw3e3<005zF(K>6TC$r;U(~H5mL^9)qv$N&S?|Zhblx)Myp=-&jr6&4 zNSb6*$Pv+ObB;zF4J6wQ6LgjVPEZ0sYHbmp7SNw*Q}{{=DfYaOcl_zv!n? z$pGAXiN-Mutjn2Hrd{(BL0~|QcrUIx>C-GAm^zmlD<4tM&fTk=$9+sTLK0+r>qugH zbc!1=r`XkjiKYMOZ%HMKv@kQOc?@|M!HdO8O>1<%#VB7gizF6{)pamf9t6bpfAeNNV_u9lc+$ZOq{4e|!a4t-2cTJRu;U+9!>}GSRSs(^mD({gVD&Zl8&SH_ zJ$c##oYfFAmD!;JwqT^Cp6vH&2!rOdzC>}zu$lib`LD_RAthc|DPJJ-e+2w5QYak| zn_i`MtmEe*O*cW%MO;DlFTV*h?>6owAvy6m$&{S&KSt{p<0bwHcU~f1Qu+SOcBJYU zI!Qo4WvO<5?UR7hLfbA*K2P$IJK5vrOciE534hCG_%x6j-AE76-owd1aC<(eC z9)kx}KV)IPsR;H%32`Sg+K8%EK)*Zx-OJ5Z>wlaw?#r&;SX7L_ZJ}I|Wcv88zsH@D z6^p9G=A2h!tO3=Kqu8*E1q5+#i@I{z#&}TE4twL{QD;_hoP%8a-ee!z&FoxISFudf z1?RWLy^yeH)m7qOO7@GhTB+>kK7nb!_N`g7ic4a>yba5NGNSe`)0E;*76znr8}2gU zLZ@VIbg#S4eTBIdzvH#7Fh*TC;O5iAc0=Iuup<$w9eQ|P;8|+k(@FpIcrhdLf-bJW zl|4lic4V2sX(l57sWE%GsvbGSCGhCKx1Hu?^<7}?jr5*0Aa&Y0sO(H?K&Jf~=eX7+ zLFu%h2$OAPeYWD$yPf%{A97Rtx+dg&79D*WW7QAE9zRZe(rkxY?o#GEbX-0gim;P+ z(~i|Ht24c7->4*%ee2o{T77PINHbFLzAet<7dzNAPWwkx`}=RUE@RW(zc>A@MTGUX zKfC1@apGLx|&`|?sPxqR{I4;9jV^upnj@k5ymZ#(F#!N8)OykB9ZW;gKgW+Vo zOOSv#Vz&Ggj_CZ!cKjkybv-7;Q@7j#s}B`CC#bsD7kC}vH9H?4X6uhLr*6QWKmF74 zSK0Kfl)rIip~sS}T%k&1iI^L=2#V1w%#Ekd7};B%cr*3X-Afspitc;CGLfmY`kCJy zAWigKOc(PDGVI&%dHKpbBu@D1$IajN-dw;1{9k+jpuVrE=hPxR5r6lz8hIq}AIxVm zst!QCYzY!}tUvFc4^@Fx`~+=!&PYHwLLLRbd4UtJ91CmTZ4Fi7J^bbMshjfM*i??ft^9|iG#DlPAz{kMiI`Hnt<%RZSLXIsdN^Td)D zkVX6h=ud*F6Rf@UbzU!I@(S)UUYi2gh==k=T5f$l;Bh}yPOVimUQq`-5bmZ02qI~9 zk=zMvdMpi$>DaR5XYgoZ&Z*7gav$2rybE|2DYvxti3#-lVY482)mHp7gK#lgp~C;T zAB9S}{wH*^>4sVR|5Iz|F1QYJl5xdO8@%#c9sLKdh@iI&E@SR?I@>tOL*(s zD`&KH`LQVh#^pX&{-!)~AcnL8~ey^jn#>dSH?G1|;eOQ^>nu8-*8P znPv~`hYxI;566eGCRo9gA@9Ksf;1w+mQ#=1JKeZY9#z)$%}&_v7$wb`q7WNq=8em#llkZB$#SkmA&2cQ)UK&26N7ra zhW0IC%bh0hbPvUo{!~0#VV%R_2aO`z)5-pZ&mjO@twk;8jtDI|8UcMG20ouqDX|w1 zw}G7*qnCX%Q8_tNU8&!|Zq7eeJpyiXd7e!QWSXP^XsE=>H2>oFOIHbk&QC->QH zMx)*%muLL6FzvP~B~Y_F;OP#yOamG61WKrGiY1~Bg7pL0zLYPhW6q2U7(FS8oHgu) zxEsfXU9eHx*}HX0%juFnqSU81Ls#w+mIn4xulr28fWfexRQ)oczWpi4QXY)I>AYhv z?&c^GV4OE}Gu{H(R1M;gAf|ZQj%H&994zn6X@}ghTp5<2U!$ud8P)wpd=}8+)Bs8P z%a)Jlu0eEXz44~WU!M27rjMWO>-}rv-Ee!tfgpQNOyK5=%G08t;b7&JsgA*L9GD5H z5QEV2`4mo7?z#-<`zgrHb-MLOQGJXrQRc@VX5~fCmc5rdxG<>Y4KkH@jS3`nrzbJv zR-|jU9sIX-j8!VO4&6`YoJma6>--;u=9*BV^x25B=$7M#;5k#g#BfrS96f_HRRQxt z{1(ftm3-Aii;b4gcG$vAY<-?{yay@Vm~z8wqOhKEqcUq`Gt>iRTJ~&g+a8n;UnnO4 zrhxC)L+G$h8hfwLTn|U_u49mw;Ws}~s3*#jY(98+iRJ30M9?&|1t&Ho3MZ6^t%eca zUqr)zo6D}&qkuOmlc4AOj0*}gho1%Xe#pn*rMkwx&Pta+rjE9lwKr+(HJ2I2M2GdP zy-D?0PglYexv6>4B9)1nru8u2rre1ZQBJ_4+9S|TKkMb)xZGMQS2P&oZ}Jd#erV$$ zm5>=ln@qa9L96lgd0J?sNMAJbgLY^{?b=n~#;rizy){;c|5uS{^X-pUs=Yh!4F7Lj z3oZJqnHApe9g3iffu?8n{XxvA(+qj2Fu30IL4eck+xGv!5WgO`@(~ZM^{Tdcm*3(- zK@#`tY!Whgn>W8ndYLJ@Tufl={`sZx0*-%Y&qrd(=EF%$fARZ_QfhB}wk#k-?JBh5Qby6VXMLA)elHUv6>wifV`QWqVOl(Umr9+X$%DXPKKTBNV6u+$2eadg>#lEg zU0Af+q&~VYiBu{IV#Gay&M#daP9CeO%Wc&<4o8x!&T}FEj;nCZe3vqD=LeK62Gm1Nk7eGO>ov2lCd zA8sx7TjIk%cp_&X*QQ1AWlWGEvu#{Btub*(TK{KSocK$!*eE*%1If9s`Sc~JrQ;Pp z!ucdRKLB}jLW#_wOG(5mhWrgIF1#*;_2dycCL)bk8=j2{H)HZ=q-qlTDOtmGvs1=_ zQ(T?zUm|&-Dx;Kv|HcclUAlO-F#^~>?qmeA6X%8uykh*jD7f}xy{48vdi?+~VU@nV$1W71qV63S|lT87AVG{L#)Zwq+=b?>Ju}A#pJmjJYKdtn2 z2CCZ;P#5+!#ze5y4?h_ltv+4k1yXk z8UD7PLNV*8ftYVnd!u?zy)FtPzt4aay@j2@6Kr+cPE8U*?-@}XCn-u!48RH46ghlt{P1$V@9}I@{jUUyZcOMZ zBsOc+BtMc>G})!t*st88p?5U(WA>dseWkA7GEx|U| z^ePW%dl`ZA_&R4I2-FV5a$Vkb&yGCX?C{;TO(Fyw5L1)pdosl7Sk0E6`U^{d+t=+k zF%oApIhJjBCG1O*oQ3H~->b4Whq@dP`TmRik&XR)J3TX62n)h_cyxqe25T{{H|-S- zf-0L~&xpV~cW(Hm`8|YHZWz_I0B_FI)yb$ren-t&GY;a_cd?QK z!HJ5LOh<>;RmcmxKpyPt+V@Dh4G`y3{e`R9V}M_35Uce`~yzt zCwcS|BTT1_HiMNFvsg`7H-uD4nSxtf?(JZ>9clv1UTChGhbx)5e_UBjS8bP2eyYbI z=%0$i!cF44*}UrW{++msU$MRs=!l|x#-8g@p@_xodJHlN_n3y^7+*Z0Ah7%n%-4ie z&<}pFQ=i|R#jtXdDQ1r#)MBp{kK_}&X$aE93!A#qmuZJ}TU=E~q;EI4}v!axHpkeB4xg7adUk7+VRDgRza;t%O!hF-q zIm?|A=(fD1)ASd@+=PJwGWoxIXHZjaJKpzbg1oBVNTcXQ%WmGcW7Bfrs9h_TgyZ~;BiBfQk>c&}XNrdr(P!Mo@y zZvQRL3qBM2-)p(I#PM}~hD=4%gcLDYud!s(&HRZrW_LOoxLY471HZ@gU8OeIuAhF4 z;OsR3sH~tDMr6p?f~Dehd%q#-G(U53I?bXY%iKwtE93hoHc4S651H8z#=0OmB{|WA zn5#6xiOTOA&WT6oZ3;Kbk>So;9q}^6Smk<&e95I8?MYPDanCi$-;GOy326_g2TB&i z&nK+c8$O^jN?+#he9;=IPWmYvqyK~v7CIA4w~aB08|na`>ENanIoN`X$~ACL+-i-cESxC+zfQ~&uLx~LjYt8q@4{T~MTOILs@DLrr%R_UzK!K z5M)18QdI@W(b_A9XyPWyQ+x@_nW6fBS^yre7^Glkaf| zEeXxt{%EkvC&L+n+3|JU-)gavZDax_3cn~A$=*yikur|Q9lwR^Br`Jk{48Kc2lCon z4xX1$;r}WtdOYvWXX451dx^`HFyq#Ts!{N&^=hlcLb|-hlN$EZj7ml3m?WT7gJf!w zBGP`t`v8oNNn=j3yf55a4*6Ka_V>19Wfh0w_imOahHEef)@K+3L+?cC&;tY?o4l3` zgUh1~k`%F|3Wn+x`Ha62m`yq*)hEus-8>m*07mtvP-bRMJL|8%b%FOxHT&)|`AY@F#J`hJ_b)?LwYyr@&zw(hE1BEH9rQbK3rh3T*@UR0mh}@203W?mApf|H>DE_585U1 zKbU`D8a&Sahubf9jlLtvLNz%t=!0w2chzX__K{IAIp;E&fi3>eRNRh$N9u(`Cqe(1 z{#E3A#|hUf%{WsXvZPAOkU&rfrsZC;d8f)IX9_gm(bfEs^pg>JqR-f!@VigL60FVy z{4K+Oc4+Lw#)LM%krw0?_l4DE%jQOVpm7$l2(H)ZhsswN&}%tZc7@-^JT;ruCbhAO z5_YAWb=2q=8hyYG#_Wx5V|OOa_W2)U?d`fOnR+0{okN>OQz_8(Oc0Z)3leI@CR@8{ z@ltg+-EExg5#4#O9#sM;a~)HaF-cFDfI}>tj0K}72tc%67wkQsrsrs~hqO}?Jbu?> ziSEWg`J$RkN>l@qnjctq3`9xQu_MvF7l#njg0>UQTSMQD7mdq{IJDx6RHJdHypN0i z(6mX|$Nf2a>_gNz_;qZ&!PquHdGLjE){0jbsa{)SET5KKq$?MTdQ%&VUhQ3!hxT9k zn%+iStbC$!&(dRd8nTphUp%T*5+?dcQz-foT)fGAQxwjhpbk;!NGa9hOrM!k_Q3gl za^OmOnH{8LYXi09uPFYZO!r8Y_K#q*@e)gT+N8o(cd61Y*(KmrXuuva=rkVswMs1< zk>dcz3##ihJ$UvJp|3cqrWiop0HR=V;ojN_0)^U|8nB$S1DxOcH46&^|}AekiYPc_+N5&OmF>ef$y9ZGbpELEuCS$ z5Ir4~swLn?<9Z!v|10D5cY;Plb?)mV8Fm~gfq^9PeK2DLlR&)8^b_`&6b5C$}99bl7MLcE7!eaCvBo0J8#AW z;>a6>UqRd8w9>>Hh4^&SH5shX!ue@;O{)wUH6%}}r#N@Zr zyT$6=7<~Ew9RhmoEuO3-Ap40}N%AljG|TI|)thmf@6S6YsgiB`Qsh|JyN?z#C~)e_ z-i5P7_9XQi62#CJYjeVeP0Xeru>3*Fvf0pUqc@>7xR$pMFCE@c-@kux@>lg;^694< z%VG-Er7y+&0XKh>@vwxx_s_)w$#n;EAVTw`;k6>A`4FCA_Fi`5obVhQ7wPNta;n?b zgSI5Dy?J(mkH?;s88Y?NRwmGIcHype=dIvGL-~mvU(`OAf%ej-NH&|nXzg5Aq@jB7 zO|S)Qz$q$Wr)5#Mnu(!dDF0G-pMe=Nlaj}sSkEeNqe?Xshf$ZU#!0cqRf^WhY$lW& z9W;@?Uyf0)mBI9~SVuwo3O({N)%kUz5U-SqDxKKt?tKg$d^`S-F1tTPtksWvFKeoa zCn0*wQM0U+a-w%UmT;|e4p`P zX}E2zA-CK!p4M(a45}n9Yg)!bCJv_ge9A$%a;x3iDgGbqOhy@-9N+yRY)LCjJ7GZOAGKgGgGq3(}_Q2+&TuvBH{qr;3 z2m9+Q%OIPuFHn?#v}70lCyBHNEFU6m4qHvWt|N0{Fb&&?)2+SUXNjYR^i&ae;- z#V;x|b|jgvOG{eQed+csl}x^X^2I$UdzJsxZLWXz)n4iYKI6wG`XbTeKR>Nm)O=DR z^W;@rC`z>Ryi~epd-2E+P8w>^Af9c%;e-=W0U2d_L zRlQ>ivy+y?3Ld=dI5BKby-7*_$sD*HXI0};RzLN2mEpS$4WtG`WN3sTDp)<(6XCH#v{v9YKbv5f0W=#E$l{^BT6)vvv_2<&BFupZ?qS*PZndre0heB zs5eJFaMm4T2xvO@;fA`vg1}V^ThkoFEJ}ixlp`RhpCMqs>9gPWdyI9j6KZ?v zau`@({!0W1p?zI8|MEjf&iU^ei7^7T3UW^4Q4OPMkMub@=+?<~Ja(WxyKXI9<}=4P z!@nyLZE}?sB-7b`M@LMZ9T|Jp=aWse_D!J!v*74(r0!xP^xMzTyxLXpdP#xD$@>+b zu~^D=e(a9-DMG+GEq`WI=;yQjrrxC<$9~JNEio{cW}(f}#a|N}!9p|&bTcqST zw~eA$U=S-MTkq7>=uVb1NhlHQd8e$X?T5{>pI9rqwHOVqu?+^A6XH zLG;ea`J?s|ep9o`?p_eO?b&4c`fh(@-QblvMx&$26T@HlMPCkQXV~c$MIcuhZ51&PeG^yeRri- z)eOwAVBP2500qTn@XUoKsdIK@icad%2#uT4zh>>DV_F@wr71jOe*)RM7FonMUH<7} z2))jMTsS4{P;qUmxit6pkk9xpf&BaD2?(7~=gWv>e1!+S>wu?Ykruj9Zf?oKbHb2@ zqP7|gdrkJmL@{3(T7>Lb{;cr<~KqvLo1 zgs7?f%w957?~BbMCHFc3u7}^w@7iSx!ezL|@8IgWlo|pFPd|`5m7@ACQ+z+{9_qQV z$eQ+?!wJ<=RqhaKFvXO6nTE1kHY0-1w1W9st4oOdr|FAf?eUI0CWVmSD2;O@F{iJk zyG$6=dKZY@U@U8Hz{$M9*SZ;pU@l}3MOsib*8BuM(kB!QZ;~k`Bam!oK34SGK`$lN ztrX}%i5wRHP_ng4E6)y>5PwTAy$(hUAXw*AdIL!Dj7FssCP&9d6?oeRYduRHwY!SoNmUt1%?2Q_8-7rGlAFo7gEhb`)On&xd>qr~fXyf2N1m33QYDq}<5cps4yhQ@|94EY! z@EnrgGNI4Uusnwt1#!~+k%V|tbH(r4d?)g9X_-2rua$7i43l>gN`hk4opr5{818_F zztK{#o)}F8R};~Vv1c?(E2eP-|GR94UPAd|hrjAe5+Z{-&uc3C)# zO9OGDRexq*>X@H4NU)bY*(w97-;cisMnHKw7{dfcF!Ju!r(AFQoiE;2pYWd@YCFjW z|JqkWzqg@DGkcBfI)P5*?bt^M!wG>zh}%l>)3Gr0XblxbJx1D{r}{<^NO9OPQcOf4 zb!(p@#B+b~7*#P`7JQ(>Zhb&0$)t>DV#Ok3k-X6M+u(`raBx<<_Qip1N02bMYf#?N ze6P>xENsslQ3U#M2=gQG`R?NPi3BtrYH7UdRfzM$iaQpmlbml1&jL~sBd#y>@vQ60@>`@K?YRZj!Z*VOE#Mc7QVYlwI4i{ur;%Yq>CpY(Wg*8{rIh~+ z#_y+(B7Td#)vT6CL{witmKeXOFqeKM^r!Bt^TV0p9Iyz5+OUe}y=1_Lp~<5wXm4_D zU~@l+XKJQSA@Z+DR_oKB-tPgm{&%md%3@^! zv&-i0HJ7oj#_huEb)5rTu%3f}xHrWo#aqW&{uJ5c>dMaf^ppA%;R**My0$@b%f$!g zyiD*%dJ@8sTdQJPd6{aFks>i2v{kHp3r3?j1h@WXGs&J^&irLPk>i3Zt#zVxb%gt0 zGa-YcfgiJbsOrp`O*e6SZ$?aA<+W9;}}< zL^4-D8)(7}xcEybm5`yyyOohyY~TMC^B}2;G%Q=u$q;5`RBwQa9m`;GDatt+dxzJu zotd-(+1`xRK-h1+OBY?E0u9ko8pJOr%GR@`8di$e?8!Ky&v@GO!c;P$>lR7t9IqNA z`*l<<)ML`BD&uov;R|dJ*zq)U^3>?Q4VCzhC8VQPn)d754O!g_l`3|{n~?z$oZoX# ziwj5OL0Q9)8Ou_=o(%rEp8RvNzf${PdOEP}lA&tAOzc%9GWCntY!Mh#T&$KD*(Xr3 ztJikXniU_W_Nl14*cizB)1fSObO>pS#6um?rrC&w-c0mTRQM}FnngeKFr5#adl zv?2?kF!FD!TLv^!m0Zo)oFQHOkNasZu1W5BbrV6eY$v*=p#5%l)aZ>Cf+#2ymq$Gt z*yr7E-`VH{U=peI?8*#n9t&k|Q-bKwT50-p+6|=Lx~)sho1$3u5Y72$9BUf%eFk@J zBl__!h~E=!Fx2ukhsWcc9LVoil{dSSVUO5HW1=BeMt(1_JETLbiV}B+5LckJ-Y9e; z5pszVlei3L1-l_86Y5jEywG8-Og%IfTI4TKFph@(dU}zA3w43mP!%Pui@Vjsz#(nq z2L72CX{Z2Ex@Jqm_a$X2*jvv0c!|8tE#SnFtx)K%r)zrE+CRIi-eLuz&1>&iWiu)i zzlwNC$uG%~BsUqU6Uooh&!o;NtYb;iFr83cMps}NJwS{@o8$h8H+AtBn|;#$?9nlS zig{UT#Q+c;c3z=%28)$+48fL+b{$N{$R>=mSXd=Q1{&qEB2 zAbZO}nnsZ_h8M>0isG*#E<~04xHG2R?1ISjFc=ZMmk52xT_mT&ni>Bcb~2Hgc{<$e z2p^l;@;h?&gU~&`5n53cIA%r8Sa6J@~%K z7M!G+y00k!&WOmEW%p}N%^lJkVBC>MgK<(s{5x@IoMYEY~u1gg2Wf#{R8|#@e zE`D#)d-$W-12d)Tk?=cyM7var+-t1F$sWRzR?v-p4a0N15x1Y$_4WK$&A0j)@{ufbZENH3@qk5uQ8%C2~ zth?bZ8_QAzsme@zRipTeC>5_?8mmwtTg*AJdDvHIP_5PO8;;At8|zk`>8Tm!*=e!F1pT56gp=6&QHHLZ<{&u9Yf{u9S>nf^qH6;6NVr}+R&L}v2n`hDVhwTtp!ht zs_$md5m7>VYvwwako7U*j{lx$GI)%vZps>~L%2Y?Ix>d#icpjjnv^0Tg(RyaSKj&> zgFRKKR5hQidkQF6IZAJSU4H z^YX_cv`(jNLNxVgQb)E!1s<3Q{C;NA)ef9lYzul)DWU^qG>`?+iKcmpc>7e14BNUp zr2Jw}wSAPXO3Z=(k31hcz_Kk4rE)oSJciro>K+By1bw6B;!PW!ShM2rFfy@TW@O~a%)9`o&%muTIQX?%#DTz)(s`oLVA#*4+IzuMb9lD7|+nu^<+rXB4n<|?O7g?Och zr|AcFIa#`rtT^xRk$sF?pcb``uxK|~s2;t5^NbO8?UNAVF-jbPPo0^eT(RSz&Qa(+ zDc8m9JrcN#6g+)N_`0MP<%*q5H``n!zZ%k^U2s~ZEZ;`NH>*|KQt2dOS?R)RD1hZ^ zPPLHTvNwxHyAQYsKjz#J|4~4pAL%Edhwv?>=sV0%)Z1>@n za0)g`&_K+LQe-dMu~gM}EV?x@ZL)|_CL`h^@kL4Wz+NF$fa~W;e7>eW3ud)Qg#?b< zjEyaYZD*OM*yz4T2bRZ#qWlj6uAnmynWp`ckbU&e1jwX|vI{JIqxgfDVHNJ`8nx~M z$;k)!-na;g>F!twb_A3@mXQoWxn%C^GExD4IQyOt%lgu{uZE zGe<>G4z~>H;cJvcZhfDds_BO*dwunaGf&UyO?4H=`VNFXb3#_b-5#J=84vtl{&!3S>p3flfZ(@e z>*Jqb`e&PO>-|MGz*pvoG&CY}S}8S)qkP@kY^~w-SVP6;Gf_|KL6fvig12=;70*!4 z?rv~1CPkQj+^~6EQ-gS%$j5^)O}3Gx#(+1C2xd^)CwygE%y47Sa@Yj%6UYY zHh5bW^br^BWIjz72@vD@G-5wMe^w{Mb3iQRZ?;3~(mNi}wzYu+R7;G>xT7G;n%kt9gmX6xjS?H3juN0*lGwp*q^yT$@%zylwLf!@^5~*byk?u&z_<*KsIZVDz9)uFugB zX2X<^Mz8|R4!rvDH2-THZBnbM@8`}J=vNaL?sk2j$6edVEv0pg&*X24?e@PGT`vY; z`s}A1XCk&dT5TFvDr2|qq}p7m!)>8fU1Jo-w3mr`T^qpsMVF?MTzPc52PNcJQV=o6 zC({JaIbgfwWL7l6kde+jMju>7jUh)9i$<093-y3AUyyY*rQlk~ z^^t4>-4k}`^_5VyPp=c&oxp;HjQov}EQpmVgn!|E{9B`Z+D-MW$oQT|^O}<3N6tra zmMhx;tkQ2IrYYFy2hGp)-?BZqQY6rGa))YvGl?c01*1eQIJ{=2jY=Cf(W+;QHVw*? z|58GiEZtrLBK069j{<(Kiquy(JZwPjvQ1P-u)Fj7hmPj|32R~*loV610df_j!VLiu zP2&vi`AuKdu(Ky=IbBeKNeyw&^U_9@;+Ps&aS%QU%)$cosUmYY39qjC9ti@f^VxFL6@#!U5*=HrGO*9Oej*)+$S-*t& znnrWj^||}|^mW6{E_45;A~_+N-XV5&cx^i4*jfZ|3ZIF@uzl!Jkf^&DSm=MZ%}?34w>(k`t5V;xZZ zKFaLU^81OG6g(LUfzab4q9ykUj@L=V2rZQojb^l5h$B*7u!guV%v@xY)2qg=yj_KsY59<5X zXHza8V4!pgwZKCy2lKm#jZWxG75$ZhDKPnFVdm=+<}o(xbcYmn-z>{P!PT$SY!@9R zM+d`Wh>ju395{wOHECBfztxD-c*et+8a0UmErK+Pnlo_M;omE|#}AjLR&ftRY@4c4 zfz~63Yx93Lb;Oz+dW-DgHn`a=EUFa_!O~tCIdVB?;L7IN@$^&JrNz%c5J{!sDr4=61cmtUgr-`Jlvx; z>_*ow^`p_y`QZ`GTBgW#rEQqIe9y@z~|S zXvd%UH_?pVtC=oUdC+cWG+&bhrg)5%(l`&#$FvHRI>P$s&S)q*1Sw>Brq;?AbuM z%mMHxoH|eH%W*_y?7jh19eia-z7GDhQ-C(l1^wMKjk5D zlo)t+_C^Ef-*IZnS13?T&mDMTF*3J~?l*_NNTjhaXZ#>&1jD4-Jr<>)So6;{Ts|*o+B{@)sWBaiB^;WNt6YGdtR)M0n-)Q9`K5M0#E&vXE8`vn~Qnf-)?Vk(ytjrv zcN7HZ@K)Mzs>Q2)t_GDj)-lBIv z{P{)ekA_Z_M{}q|L3P4B>V1UB-INa&bq_y)8@Sy8b5mU{&%HeS#?5xeBc4t-Zud0r zStIQ6^w86m6O!@cFG~!4Pr;V^^4d%ls5CkK!RbApszEyD@~x!xH>y z;_OgkGGGJF52AZ7Ag)CeDO>?2@?!R6*uO+5@n$CPn?LZDEnLDB(_9*syM^=Jlq$dg zu|k5N-yQyeWZqoHLJt?|%e`e-i?E(oko4IoVRW7K6Zo^MMb^_rTl%>Y(X^51-S8mG_6`y{l!t z+z@xn81e(OZJa%RHcsLL=KU)T<)Jz;;dN$Hcg0^Sru;vOE`3cB8!w`J;DW!KJLCP^ zqbRl(MJBZ-D{7Hgcs(EVJ)TM8poF160wz$J1tR)t_|TT7n)eI8O_LKQKXCQY(daCg zhPT(`0Sis0p$7DD8xu;LOGVOMUq35|t@cvip=BFGXy)MbMS_?FR40eu#1JRqN0C=m zy1VAEI~LxSs{wlFnUXM(*NYRs-+lkN`ZOBsbE?Og*v6da{}9NI7&7uJdosK{9|XeA z{^GEYo$XXJv_d;E^Byx^)ecXueH=5B1yHTa?h98341)u?joMJ(GoQF*PLIXUxJk?v zURqFLtKy22U|36?{y4Az(4_dU#zCDT_0+KwR~oiLx3tS6av4(3N>e`G7IGoA-$+v# zs#%bLEZ@hiGRqdaV49hlnQ|J}80LueeNz=#v*4ujs$9k@^uuYrSGoDk{E<}6wJutR zqc~TqVhBw&E~HbV%MRaF62aq&ZdGQ9;)NNEz84b|yW}KWSb#Bo4hlp>%cm_S&Kk(M zu-ldK{}WI_r<(9mWH}h`3=DMWT-c7?;Jni;`MLoOEDRc){t{C>JjCE|GYBqPg9ke| zPw{Y>mqaqpO7@(FImGE&(8kk0PGTNA!A>tK(nf!Ikz_Y0nEjSg(rb&Ad~+3?ppelC z>9~ToxYzzIztPXyW|VRLnC3S>{D#TW_U}sDeEbXhl&&m?|EqOR!vIIbVqrehgSk5F zLJ(Cu;GHb6oAm3H?CznIx^=?2j(;G1g5S2o-VGHc5BJc}{Allv4dZ?}(3U_qW$36m z`=yvyaWF4IjGQ7wB;4ZA4>u=kw;~w@`j))wOyuJv1R#M9Ew2*EcZOpbLU<)>PLd(G z&Uc@&bE@AQCBDMtF#znalQ>D4G?+AkTnq_?&1DPgfCDBJQ$>3GbSe(BuPHq2@??$e zQe|wz7XiMz${5p6GXe<2ZJ$>p%d|~U%D=%TJ}7pk28~p|MhIwQcJs<_ zhLMEkOF;#eHb0R43BLozU0v43%w=y6!GkM}Ql#rGCJ=DPjxVNmco z5JT@WE2|ichJ)b^_&Bm?Kbn0v2KPdOPV5>iS%_Mc#Y$6>vPH4h;XR^q;m#1GX%SjU z{3Me4r`}@EbcO?dj8>aOeQTFmcx~Zc=Lrey7dVhrjF-v*1IvqxeuevNs@t-aT}*On z@#X(uDA1+_tHgAMp`hiBLRrag zYGy;_cJ6#o&+dHLqy$!;TG?<^ye14WSxh8$mY}5*8vyK#tTKp?J1OcdaerWjAOu@2 zwn`v9LwXLrNkVmhhgeqktV1W>4}+Rc=B0wA46TesyW7AewGu)dKHvF-{zn}$*#SWk zb8$r;;{W2evkVjrqqBnpThVAd69+{2zJqF!v4PH)=n*)BbAgP{BRQZAkZ)mDaT4+ul zN`o9n{o0uXg>LSGkQ~hlt1Wls=`aX`A^*`HM=OCvj9P8HWHS^Y}N?xYUsK+XEy`S5%d60 zCwx^;QsOHb%QxFe%uIC1O7?(fQSy=ZcDY$(lexv@$mF+`@zM}NTXc840ufFjJxsBf z1S~=Bo$WaJUjMTow5%B((2U|UBSPlLY#Z~{pAkm1*~dt5A77C@jQ8@BVz#Q?4-g}Z zz%Xz=_=h?}wJ_m37zsM~O_8FkOSdShX#ijn%w1%BCAuJye5!Ffb1i|HQomJTIFi{k z!3yBUrGl+H&t!R5(A@mM5?^MMEZ06~18%3U`%RDxVd`6;UdYgM;e1K+%Pt~8`P*^Y z6cC~@R>kIu3ivu@+=Vnu3}zv+GmQR2e6i=IC2^r4L7jAO>w7@)?DvD%vw<-e2>MXm zXJ_N*+;Wi##a;tMJ1L%L6FogrI|;ROp(^JT34gVrN%b-yZ{b-TRDV{oQZFu7Jji|qW)9RKR-?Ss}}AJ{^Hvy36U z6kojbka}|X4UyXWU)#_G7PM%Q{U@l-_J4{;8&zSd8qWhuLViYL2Fd`t+o-aVh7t?N zJnn~^fQy9oBVSD7oW(|h{KcWEgR)XBXJ>dHBL0<~8PaEGM*wluK|@JSv1i6!1f+R= zIuTf?I&epNPc!kZngx#NVIcQdyQqqcCOVMSle!hM8T~(CBW_wAg?S9= zxfX?0@WXwPd`g8lb}6ZxagB&_%uEmuE|fjVblQB0Ybx{UDiN<#Z{4%!!@ma>y_h2y zm#E5w1n2*F!!au?Tc(3R5j~Y#{)AP)%uvWAxIcv%hIRH2a^E>)T|#S9=d8h;xra$E z-w0j`YA1WEP8$|I4AJ1Oah(vzTM!T!6>_ShWFr5TA_6UpoPGZZa&LWU!iCkHeZn|n z#Cu^EoV+=5hR-6T3R!N;e_K%0KI5y`Yq&$_BpE&JI^3+KnQrsHNdzfTzJ+WwhU%`7Mhn`zK$;i zAH2_?!0@UxFleg{rVNRkQGBk5pOcc0pDeUv%yP`Y*=RZePS8RKP~fv@0YMw%c_q*I zsBE5H7}`PsTt&4C`CEp#N5TKDUauo2#7Irj(+B^>N>|uU$QpMaeCa~dF1Hv4fd;7h z@uu8?6t`^Dg`g~nUW0pQ-usE$X9uigN0T-|U??;{s!WURL>j{+Q&eTZ zqb-$MUd)r$ivxE}PN7kOO+&{VrkH5-%c#m%#X#owr0_T8uzYp8Rl81@L)7!2o~B7s zKx0B|OloCBB*RRh9)B`Ao{E4LYal)A_WYzW1?~-W^mkH7ITWKn-V$9wb_JTC3={NT z5Rw%rc|<#CG1vIh=V6FJNYvDPGyZ={d}xALFE5vu6t@rfA9q@f7W0xwHO%AG<^|6|>M6%}*jblS&LE$`0+sZ))akN(t5=u-xqPqx$&+dEPA`M-^Z zAAyA~$9;kVkU5QCdW!>PPqsto|D-Kml9f0ToI~Hlib41Q@QxX+Zd{MQ(V|LZ4wOu< zIZ4KMhU!zMx5ifRw;d7+_Bvkawjw98j9F>6$^yMqaw8f*&ubhaR?Y484O!{p`e{&1Qbm#P$PBnU zm8@QI5b(}&MJkcxMSVwbTX}3cLJLlH|NG7fLg>)R--wBX?Ihn0I&trqskLL-#e^YH zEv)xuLj50ptj0mOrGp2Y&o$&T|MpVmg@q`qtmI@r(o+(ZyZkcG{FJyemj8o3@yLn+ z*3ppY!IL0=Qs36a+(9oU-h{NwFh}0}{BL@T1>mW&_tXAEG|r}Cte`xfI? z*kt{r)6G6n*GiSNB&*}5F8Ha5c3=RDm#69#wnfj;JI^3;GB6>8GReipVk!0o-P75s znE9MQ?-IWmCxhQ?*vCEPs~~J>DHrEUG((t3iysX7x&*bbcBRN32uPc-@2B&(vq6>u zWY(!sAlhu{Ho&U#p0$Heb(PEEnEvad#)TrRwP{U~0K?WO2@{&kzEScROEAIArH@8l5A0Q5}I8 zekil@&QEnVvGK}r{eRm7#9)6t!XmL(E1W7HFNk-&GRevr^tg}sVM8~EMn^}p@rV!( z4IdbKYCP6@oT|AEM}Rh1;><9`EO)9cZe#IdW1swmJaV1CdU&t$Z@N&-=*s5BhlA$B+Xxi$Q@Vc?PP^53oO#E0IRp6~WL;{T^~W?I6=$SX@R zDFQfF5BUs-w~c(3#CeaCD{Cj@Wkw|l58Kcr#TaTfiL*y&PLr`ScQXe-%C&m4)-swE zkR}#1ya)jl+^GaAwhEw@SM}pc+3w_eb8;u&d>-B1ojs;dh41}Hc{G$w*w0gHHE3|%OvR=pNY{TZ4nV=7rGS-vq6JCtR z^R3M^r^l=h5oySDipdC(xF+6S7=SFY51OibIve)dNXBpiL6$RUY3SCy*i1QL$DB1* z!8ULl5UNfRYNT5{oVoQxV2^?E;jXkVk4{>T{(61yype}c5rlhw_hf|6M=yo@&dB3I+Yie!^9nVLIKOkvgD z6!)d_7v2r^3FIf05=XXUuqwk$!Z_RMIMEl|NAz<0&|G@s3Dsq5w~1oB-Y)qs-@_m1 zvE`yf2AFALJ389UdhUGEJNPocu;HNaV+o>IoyAQ_&7Dg95H3O$}_%6dANu09SuMjQi<^ zoSvyl_u7bRH>aM#7i7}R6CJtYKgX!QxfWR;kPWP&%D^?mR2>`Qz)Fc2uZXePBQc$v z^}?}sc`Xu%PE+W2Q~STLRQC6QD@z^URO>%#u}-OmQW_h|Yk?q4?(>tth>j%B{^^tj z7=esQm$)T}5$d>Y%r|K5Vx+KfvQ6xp@xATY%_P~YT9M23i8z~7uPwi+CfiFbo|~%aBF!N>^yx4`pl>n|cPjXm+C3Tgq~+rlRaYRxkf~JvV}ai1 z4lkOkM_|XnSJp(s=Hz}Y7u35og%MCx>7{i>m^v-}9Kfmh^Wjc_mWMljjaYWBL1i;&-1$m*&*a;CEq!XqF=@QIm}{e2r1gplpf=d16`#rwKW zuIuF#_@c0Mr~$=vQBilQgHQ8LIOgfK(?1W)#bf7|J$_6`HMB%s(oionb%~?hT7g$T z)sd%~g27?9F@H4wRoa}Ez^NPob(*rEAUvjdL8gcA{9E&)9KaH>G*?&Hhz@BW+nHBH zo3A5;z%iC{28PE0U_-MJgY!&WG^iL-6O^2h(R;(7`LCgC@md?lNHhMtrF(h#<= zbG_)nDC}8w5ShkMI~S;GoHPDii;7)5&gM)gWf;n=n_@Iu?vQh4mG*$NWWju(}BzSM#6)8P%TK)$@3Vj)kQsr@ow z0=?EOMB?nBgHBzQO9Ph`yP-1`J1tOoL*tnMLjn{=gXYE1@D)dDzTYrv@x#lY%nU5{ zZ7mlCU5i~=As%U2>IF5~v4+1%nF=n^vm78tx~N^bqVFBpgJ|^39)zJCst}FvDp79{ zW(OqDeW>z|4_zprT&j!5Jgvt#{w$LtrCm|=6s{76)}&kviB(1KQ|K2f2_JHi;C}AC zkyYEW#!yYeLkdfp#A3gx|0O`HiDK-8zhExzmt>Ci3s<%chYoVJ=J^M&w+(4Iz2oYHRS7Jf`QR2@;=y=iT!j^xJH5il+R zEdoI&QC$@evLYO5Rry!=y!UP8`#k_wMhX#(&(X%ayV9ge#Uk0pEPFj3^|I9L-EuIK z(h5LGqhZi{hzz&-=faR)8x~d##{#{TQbqB3k)adkT%n_#LDPF99Q(X9@sK2e$wb&~E7+*XT|wHW#9Fy=tba7G*1XsvySSdK$j4 z;81USdJv`DMT0T=cOV*gkWlsfG=W+a`}(SQ$9s=z+86b-PvtvV9Vmcw4@1Zgy;? z(x4*6Tcd_+$e|?Xp%(nG%1*e8C_dCHAEb;>eu7qs6_a(_1I~lk1cV0K@}gWn*u9Sg z@)d0@Zw88H6{<98Uci@`ir4S% z3%&wur)n18LJ05HxYBa-0(6B66a?lg8m`t2gz6;{6|UvmIJ%YE{PHH50rMDYRaj@G z$Lh}_tC3*QyU%#o@9V>3ifToM z);Qp|bg_-k4=)04srmYEYV)AZ5BR!^23Fp!ka&x{&G({`GbTlVhdMS%1b`FCfyIrP zEP19jp0992H0h&|wlLlv8UnXZqjlR8XC&o2+3fBL@^H(4u(;x)b<9@yd4}b+xBL@) zGJuCEHd*DIWPpQi0JWG*yWi%XyXBOXgsRLev$*GYH~cDWV#m4}hgq5L$D1|`D@^+m zKUJ;e8G#ld;&h;oOS_e&!reWVdLb2^ty0EJD&S=If%q|r%edkYm!r*jq2}s0&fSEv z@)M#e#NwEXG58WQG_x1MRPQT(;{qU8y5{t=p`HV9reeBY5jGg+a!i)kvZUcjigG!2Io?Lu$@PIWQPDI(#KGBjsaxWXmAWfH4G0)e8a{GJSnU$ zbcUSNii|o$cd<^rln?|oN%X4PW#b00{Q8#!I{_bhzpgpdc0bmkeLK4T8!TL0HdN9( z(Yq=nDv4OId)+Kj6=lAuX~B)Wd=UF4M{O%lt<)eB78?tc7y<$4j6P(fliZz9>ov;d z52Thn2x$l@hZAR7najy^FPDy~(zsp8_1{Q?K4Wvo3YG095K{GyDjCwHJf*2ptw_ui zvf@}b93o$=o;Qhk3;eCfYx2RsxPua(@9|pmm&2w4zDP?;BMB2P4Zhp0!a^dAo>Zvj zof`rN5y|84cO0{HYQNG1#v6M%a1Z^stna*AbbWm+KeO}? zH_?)dEWVuobsLA5r~be&)72pE@8}&|R#|ZWU>*%@!xd?Pqm&C{YMIY|7JZtdh&jr5`a~U$FTzO?LYuJ`(N|_EaUG zHeLm(1!ro3pKb&ZAAP*=(D0jf$T}$>Ql$U<*fWiVcMrO4;^;wMQ{T0CQbkX+LIR z>69_#MHwsR`(xOc6cXWPY%u)_Opkg6`YoujB9m6ITw;|s16A8b+;)ud*D>L(72>OZ zIHWoK-ts-l+ewlvz;*65KIV{4L6YD0to=xpu>whjPh_7=ykSwY`Cp{};fMi2Sd;GK(t2mC2x_ANSHBrPZ*t1Qf_J^FF7H!5 zJ~UuV!BN?ZEl+bH2CvS{6N%Yh<;6;`NF+01l}S_aSB>IDTh+vAiei{-s{iVy#91~y_cXEAUJly&+0Q1+qdDph0F5# z+XdXokLEKLx`SIEVC}QHBTEo{k7wwN`FaDHrM}H1?gqyULv~xuSVNq z?Qry&!)4BNYHi~`zjC%+~7t4N~smm7HbBnJo;yeX6<^<$M1r? zPc^rp@jJsH5C1VCu;dc1R6jdTBwp}!UtjxgioPK5+npbP92QbA-OR@4&+rfVNkc-E zP4E&IA=nh+aPq)3u|%BRda22o49PZ}9I+$bi-95NA771ej3PYOGMDszQA7eNR*Fq8 zXt08~A=w^)TtDl2sgKZ1uJrz-9DMN3OTX&`gt-|oYN(6*mD?_^O zTIlRFDYvf2#K4RrPuekxi4o#AVMLcBpWyo)xj#Yhd?cj~GCV9-XJtD)Bw8S64GaeN zDJBH!^F1U<_TMcT_jegoqO%fd_BYC+4QmGe^JJXA($rn(>^@Y?Q>4>;1Nyo*5ATH~)gzk0TU zb{=I#RmZ|K<2#2-x1?t ztb4FFeu7Q0_?t_0hWH|Z-+Lkpo^ONuB8eR_@_mmf&EH;r|9p`Bi^ZavrrvepW>O@ zQq&Ev^xh-BFyfOCa(A66 zI6C#tf_QYOq-jcsD);RKIrGPn$R9%eXQMgy?62pYjJ_GnhBE$b!;o16d#MFVyegp| zR(vyz`$YbnEAl!o1L2w;`^oc_3205p(J*}`NTxe^VO;8PG@I` z*ahkLx`(%3qlI+TeshcCu?y%_;PulACqeLy+NiTTY{*B}uA`6bU&#OqniuW*o-vvi zwQW24Em`gdO>}=~Z>{EQ+?s^@_*f}gJI!sMaBlqwojK3eZ$t=x2>pC9Z<^#m9nWAz zzwrA_zq8cy>eVanvtf^OFk9taNma9d&NTnLpRItaF35KSI#?XPp7HF^um-6wtEkkT@$BurIoGgH)l*Hc03Vw4Y?l)MA6M@fUFY|8fyPan zrtyhwp4e(^+qUgAjT+mwZKtvAG`4Ns)BgVNxOd!7`I3y0vG=nV=3HyegMTA~pbEAV z@zU?Xi*VKP3RG65bdOonpl(GYY17Yy*r(wP3RqJQkde0>M)td=l=l^co%Zh*danrf z#>+-!MPcXUrVlr*@}4JDeKYO4fZV!YwSiOBaaLx(-y00H^|{$r>U24%n!klN^lK_k zsz(wqub6WL-l(MkM~W-D5_RlA!&}|Mgi}QphIM{)tz|MS-lbu6R`U0rYpE9Vf%xj@ z47j7b;hk{WA^ouT=C}IVBtK=Qd@934?ObQ>LS%gyaeRBkxBga7G|d}B!nsWyI~lkM zgGbv1$(Gs}_a0P!KQ;zMoXPR%9%V_EPBpDw*1*<4>1E&UuR58kwtIos{mK31d)-9h zy|+NO>E`~3UhkYE0$2EAMbo+lo5rDk$Nf6jAK#5P{dwA^xxFJYqLs+Z5maYWD?u|( z*xnl|_%-2|)Y9-=+#MgX`M6EhwJ*M3{U?mTAm;si)=KtyOKuA61=IKJjf~j<<6~MdRJ>OONC<{VPj6wy2!pD6PNf9>;sfud&i~N zkIof1a*p^qoyC`2vpRZ{I$!56+crMF|2Rr-mq|e1giAL!Xq>gh>oJhy)4XSw*UL_A z`0o}kuYBjWa)p!@*_tlePbMzI1+y?GKIWjoyN0`>nTZ}9cIZ0guh<5N3IGkC@F8usqu6NMT<&v_p)aWKYc2J8N&#Z9#^**V|z4It-jSC2*II z5TWn`VdGMu0{@E@3I}UZNnKh*%v3*tRQk~_CQL$O@oEIz1>f^kR4?I*uZZ_` zZ(eoOG^|tbVZL^`@9W`I$i`FD2kcZxA->~_BS`GKIMWC(VDWS zxyp=Yj`Y1>6UwRT#2??ym-0sUeFnWZ>*KZvxgy3iPMY=e!N@+DmZohThOJ1DSbHhT{lKBWTuZ8N^%5U<+EqMg>sOoh;o1K+DWXo!V0Y3SoaK! z+qi_WA)qClDZpFBIo|PABpE-O^gf5X-X6r|-UE3@w$pnZ^-R|7e>@o;{94m$ob7qy z3ZfxCFgStc2}8VNn)=JZZo=08=(dC7p4k4c2L>SvUm;jG2lADwQuv0j?R4L+lX~Sv z@iRj2{T@1iE#vxG>-2o5S64OFle{l>5RO(>+HPxQx+wqZv1B0O8XFOeVn6#xApD*0Gm6o>Ghf61&j zqDOzyBe7lHN&j&N{{z)!-Mxr)*TO^`Ssyg&?mdST4nH8jBQhKP-YLjK5?{X1zGiKjY0L{RgCXD#ztw|W7-E^r}Gu*mOuWJom#7t z`jXAdS+8-D&Pf03gYTukxWgc>>sPilCzLle5{=GvkF6lScLuNRbjRMkBws$Q+XCRI zsY4>kyNwfA(&y>8KR8t927Y25fE5I@%l8vESIt@T)NY;^|tLYdeZX~Sts=CA|^ z+{LQ0Frgt1KuBf#aWHt8P}GwBCt9hbKk{AtUIfP~t$72Rw%Jo_x4aO8S#}2ON~}2F zvoal4N=P$I;Pw`EU9};$Wv@f%lR;sddpeclo5%5Nk7Cw+eV@Wb%fs(a_+K{?;miI$ zjzw<+8np6VxejsM5nko#ikPN9y@f@pd5JUyD-oH4r}u}Ko|sH;TC7ADErWPliJB^b zx;l>5OVX?a2=MUEhB3zn>eS^vYWNBjXT1v>x$9uyX#!VXPuofD%z8`*9S`f+>#hsx z+;`u|r=*P&>9j}SB{zGwxpx^VgBjLRd@JL?m(Q+b-3+=5i{Bo66_(5oGJ3uTpnM%+peX@&fJRfpfhw|C zU!9`m6_9!H<89-EVR)R)S54x1>+0dT%6GOJb!zLIUOK2~#EvQq;yEel9j%sI7DVV4 z_V>{{$EyauzM}u_8uh!IabVJzWj!xSSV+s*-hZsydF(! zJp;K_zPEWFCfpbYRcbZhYY1yjipM%`R-MlCrJ6ma#>A958gI{R?>tt-X$7szkB`0{ z4X(=%z@l#bNzVA^gAiFSuWm}W$FCrtndh7%;RO?$c@U;;>&OC{Vd0Nx^Cfk75PoCmd1Z-s44-x9~s6!1>if=sKH)+0ye|ZlU zvz`qgTgUkS7OQt;oLTmlzqb~Y%X+v#uCnV(QzQ|la&$IYKO^{_w?dh;nKJtP*z=~u zC2kyM#!M!La*yKAkH51xg+HxsybrWn-B%}=Z`+0ipFr%6`*v}h)=EBrN?j_z4&((U zOC{b+h1$~7t0^D0j?W+afNh$mcqHD4xe+2HsQXo4-;uZd#je7R3!j%Hz~rK??^~=4 zsbc%xHBrp5+*)CN5mP@j)bUaZHQP~*Qc1lbbE`azH%HLtjPK2)!R$v9mf3ITIvOMp zsoiSMmVRunLEfKKzQ167M>v|M`W5BYN8Ga|iihMwRK&@v%G!MZlXe*8^UknEv<%x3 zDD}s-Y3+V%_8?0(5fXuu!qob(^FCEKs9zGm^CNvTRCEzQf}OAx-ZuN;dP&m7ke!~ zHa>3|4|bAx?QC=nE9tzXs*Vd zj4TkbJ&Fs8=h6wQF+s9=c2eG?OenSO`tys>o2qx#c`XrqWn$z^Wn?8OV*XvOUPm_F z+V4lz-5&LaWpw{EXvB46Basqaa9IIRAZFt!+jHH`HAT|D#F4 z&o@4a1COXEXhqUFdfDWp!mWowhe!w1#86K=K}8)ajfcLG?RQ00YH;PIa-&4@FB1F( zlu}Et!~e$|kD)=ZE(DD~6}N;ok6*Q4&vPP0g-Fo=vfQ7K{zTVjwKH(2!a%+p;JIJ` zU$_NXY-q498XnfQE_IzpY3Da9Z}K8gLBn8aHI4rCdeVZfsn4mk=~{N^l{)HfqJGvh z4n{^K3BGPZ50h2eWmzub;JD}2zgcTPH$BCzZ9Uma-cNl>wmU_!9`5@?8ah0-i2LC| z2dfYMT1s8@RaM*G*ln%Oh ze9=t(HgYS)>a)O(9fhjKkI2!@ zuZ&L5n5ID&+8*i{;{g7O_l?`cCI`h?cL&C`w2em*bs>#WSzPOec@@e6lOmFI*K_h7 zY8?-nsyG=p@7R{Vdf!Q1w*_1Au3eHcBbr!r&m*c>bYtW>l@3OnPFPRp{rB_bk6ahG zzwCY&-7+y0W%!sp-ei3sPq4quUC#Mu&PbJ?^hhKQ2r9!MB)`32D|QyI8B4>e;$&8^yeP zFkZYF$91L8J4{y6ghhGM4Ki+7xpgu~T5(~4WaU~dvEtiIS|;>1KbK$i`%9z&3$(0u z!0ITVu#@CII%C$%X~Uju(HqbRrYLLS|2nG8rH}hnTZ9X~lT*9b&*b&5xn|Uqo!iEP z4&OE#?7uZ-j)lUrZXP{$wce+C{MHuEI~UUY&NQ8-CZRVP;?!z5?7$}W#`rF(ei4TP zNE(2*zw8YUKP;SXuyjT#QE1ya-}yK%CZ8-Io`Q${ijH8q7Og#*_aC1K>LnzhtdxYX z*@(v&*S{g^+IHOairaE?q(5gqT(a+!`Pw@_4)mjsx~@!0w_qnW?F|eJ#NvNTuVrSQ zTgi!FAMq*5a4Gb9Zxo{xxGMLSW2>UkD7PI_?QI*zA6(^3pd2TSY-@o1I@c7Qn(*0* z<)q#VmO8WVi)#2VtU+%|`@UJCURnG!!7@^0Q>&aBtjO*VG{!I%Pw_Dad*iT2h(-{@RQ7bOpbY0outQH zRyIx+2$CKTE02%@(ju40^n)1B;LtdsFHi@YN$SsZ%Eq5gMn#-6W<8x_D1dowFOYs9 zZ-@Mie%ZmCzNw6-gAO0UtXD>VwiQ{9yZXy>#r4r~sXN}fr$=(`98`RxGIKSr>YI8; z4`54);NF5*(*CUu)q~W?^{%g%!s8V})h4-)U1>$yyFm8ha}OQJ6w$3UJ=*J-vglHA zKorN_=&`BFn^yVQ#9nb2p6ykhmHbSMllKXDEuJ%Yl~Wkt zl^NSKi+Ktv72>AK?yw>dXU)ge{km6fujpMO^ke6d}oC7&DPDGPI)?B9;ntGHqvd}i132KqU?|D>Njtw7aza9+rR?@iMroVA zsOoyNu(7}+AlyigZ@fOUZOOOsQkhyF@*bAR!pVBC%qlc{JJ2EZ`2{}M>Ni6MAZ%+qc*4^{~V70p%^9SiQLitj4m^4zsOZqKa?=LzJgk#>|e*!8h? z(UTc9FKhj}_25e|Y9hUE(8SKVyqn|QBoFs(U$Vr z5S@(_Gz}iTIC@0*aaCapola8=QvOw#26@hQ+YOi(1uu4;J714ImHvp3MjtH#M0u^> zNMK7!3ZxtWeV-g3eH@B+S9h| zN2chTUR7{>MKub7X*9+g%<+JYyUbJ;q=Q^#T5jlm~ z2I(j9so1S8@2j+fJ18~<3GNjTTfKAd)hkL)=3(136OvYSowuU)W^EU~{jWIB{OCas zl4f1b$CTtxU(|7wcKaQsGZ$Z_39&4)Yhq3M#DoPAv0k;~J9l8{;>pa${Pv381?xFt z`pLG%SoyJ_{k3K_&(-?KwT){f07TQ|WpXD)@|zM)t=NCfNHG29J@AjJp*MxKt7bN> zY2YJDPX*n`ryPW#Yh&27UKQHCL!&cClxae6 z#0;m=Ea?5vu9}9m7qK-<k_T$JDPXuuVD08jq`z^uvNE3V)?I6O8kC%HJDJq)vtxYLC!x&}b{u*XY z{hDLK+2I*?J^Q8mWnw>Q;y7rAB%b5EMR<$fMQk=@(`Q{}QOaAm`xM`m@F80jG4UpH-Mt%NbtpvE>u&NF$~=By;hi@;}IdH*YUmJ{-t8^CAY zQU^unZDny`ToCzCKy*F9!L@+`HZ4)7LS(A{y>9ZA{0V19tobq*ScCd<(Io4(p>Epf zr6G-uzE-!M2dg*c`xqm78DKI7y$geV{;#6V1!`e5E;)o%gS^6nWwU&F)#(RULVvUS zLN334x~V>$4PU|ueNq`K@;S}J-!nbexjR;ELN*q?nLCt0wD{$y8(=d(4CJ~m*rL{b z^Kd)+;38~4T}leD9U?PIUhLdgc0^D}Gdx}3v|zHzY$u*-`a4wCS>XZvZ?(ufyc^vOXtV>oPv0b-3o1?|*nN z{>VaU(NnW&V$vnWx#`h$oxZeRKIO0N!N-EUI?#Nc{r!0CcHG*;+su)f^JZL6vcK6v z`R+-g2cpP$7`lCYx)VD`?>dCu8Ye&5eG2bBl*_TH$om#pmsiKa$%)nJdSuKJcRiH= z0vOXl829?kge$0`r5IX&IYn7_JT6IJYWm4CQ??}c9GZk@X$5NPr+pv=Ch3sna|Sr1 z?AaEwV6QS4WW$6aRt1iU{w)K*z{+WkRKzS;3E3iQi_m$HX)X20esOsmH5D{xB&UFl z%@SjS`|+dGEGA>9Z$$k^08dCGvE6S|KFtw9kdo8^uA@}9u}M|OL!#-jWbg5OnfuSU zad*?_$Nh-A!TBVbIjg1V>VT-_dQ>`b?&hs+giN7wzvO!T-fpCX)82DFdzSRKpPydvyR&; z*E*UE*V|aN*8cM3|0+TS^adNUT4^UoaPA9GFIt@q`*r9lByMrg))Z(ql9^0Qj{wVz zWi=_NfL8!2lE#oA%#i{9SS@6`tPDAevHgxs7mcakcmo6L2S_VO!}jSiIDQ&`&sBfx zhSVRPDS(SrVI#l3(XEOV|GL~vU|aDG0pb7SSrI*~%kf)uVAH?(O83+5d|-y9k0#)CMr)=R++$|Nmz_f!`3<3FJR4~n!M*T*o)g!5OWkW1 z9?nuSW)LuLg3Ho|P(Jr%$}=j$rUDl=xMe!DPNm11$NY!N^~Tfw$*4hiLTy2QZ5F9V z%6(BzZOT=ZnoX6afDnhZX}XTo6Qz3L*Kd~Cs2yKi=Sspvf|u@hi+HfSaBTInl&`ef z&77KT(wekd*1BNJHQA7S?p{`RF~O}du&r}Wl&ZGfXI|%gr%JBW(X3Z)shFvyl&jwN z5nQV~PU@<79d{>xKh*&|hh(%IdKX?9YK2^H|aIvWW*NlM`%8O}s%u;IK*33zc^~McLT;nyO zr_Jx&*2G1S)*bHv89aSqx3CULZY|VvC1Yk8bHX7w!l9#0osLVJgxXP;Yg(u-7@Q_w zKV~)pv_ZT1K7SH#gdNhC#0vNg4he^HeOvFNNrjz*$+v2t)s1TJ_VjfuZ6H)99960J zr)z6TLniQG3~A`jw2(R9rrLe{Z$0+cs0YZ{zTcw>zc97IGj9&-M z?%;iS;Ox4?4@@Usz1B$F7PU}RGUpBOP|A7{3Go0@NqQDLn5??vNdGsi#gFEv?~73; zu##MT{gnBx1+%NvJwgt&Xvvrsj*y^pO(-(CBudlHH~F$B%#qn z=x|cShIJkXuej8dkIqV!vT9WTT8=MYHt>&2dlLF_?8jCHw^WQ!fzob$J^=cEOoG7f zRE0y7+Y5fB1twtRnZ)ZzFgj6%-<$q1l-jQM&Z!t2FMef(gOa%Ob2E4&@dVhn6%$V_ z!u}%4qhr$S7Hb79qrNROOLg6w9(Bz9j6 ziNbeJ?vuk-QRE#FTI8fgTL^46BqF_aMt6x$nrk}_xYvNtT-zr zIH?3#Jj(R_%`xbO-KEq;-Y7GYK;Sh-5h7@R8af;fvHY$U?6W)a-=mBBn}jpVRe1eeVXKl@SJ1i{pqo=@ofoJ8!ifuJa zs}(D(R<)^R{;N4{A2$}@q@`19XksA8x->k3$jWZd6nC287eNcA6)TEuvNI3Gcz{aj zVaEiOjUF3u&Kde?WMzuU~7L_Yr1g790yK3b_+vU4Q;chdYo!XF&jkGoPu z%?!UUKyu7P^jWrM&pn=KXA?J$-Di*&CDdfIB?B}kLbY;6yiK^^!rg$7=1tnO0UysZ z^5n2H0nw_%RWZx32dp)ezh)F<5K9eChtTz_=%x`32EtdlY&|VN`=#4d`J5wNB zA0eOjukP#&NX(UKNJ}kN%1t4>jX9y@=lA>nWRHEdxiiGkHELqahwgG4Y;su9MSZPQ?iP5wd?Hq6ZeZuV7tKnX5`*-S4IeQUeG@bTbK* z_~fzQyCxa&Ae)hK^mX_UnMUtT9_O>{gi$G>`Z*+{99Y}Vm&n4Bs}o=(*M)l8Eyc>0 zk8Hkzx7}w(SIC^wE+h-;1#I|-3L6mQW^Tv{Z||r9U$o5}x^(0i#9#9m3GJqpYr4b2 zc*>dgwZ2h?*YOuhr!&aE?DYLpOUW=BP5ksRIzDT|R$snn0q$n~FDG%qX%KCic%))2 zSZLY6ki*kp!K&pekAaK#wP_=8a&mZB>LaV;1}wg;`1x^{G>2IDSyVX{A~*YX-Sa}2 zKULyFIF;FaMi>z(x{$fxfoP^ci1R0fbSZy8G?dtN#zzX5>&5x1YTZj?`v!?;(K=;U z3Xko1Mjg{Vrok7&qil}7*_?|Smr%y0q#}Oc2x+-jG8VF3DW*nJ!F`g{X#*2VZ4N|z z_pgLitazLq_3yB@A_RN`j>Wsiu_^L};+1=~wAeCl;7O6!b9D*|Lbn;`Qk62*85d+r zQ33;HR@il*F{ktb8KIE3lD*A#@?qr@=p@VqQeM>r+N<9TndVx}^bvA6sju80A9H$CWD>PkCg!&6#55}l;(iT!Qqj;`iXcZoTX*IqZcTqBAjlB|R?qK@;2 zi8Nf@l<{SC5(eO_;I zi9GvX0~ORv!;KV`aaFOn{>(LqUaT+ z3@r;Gf;ji%3xUYkjLN=zJCs7KPYNcAYAkzX1xaIP^_Q7@sn?B09ju%`ZH_5DGtvVP z&Dg==Z9}-5n4)MRudLh_nU$fp88UTu85humNCn&22bffJh)XU+9Gn(X3cp^UgIBS{W^}ImWrnnO_Of{$c$1lzn|#2e)F7nJa3HFm@M)tTq<;t`5q_9-D_zD zOjy2N>@(ZsN4VeZPvKf3o+Q??T#628a9CzOaMaY)uBc){(7A)d&i(kI^A36oSU+%t z)DO2bcgX14$u+}5u82`7J7)#tJ$h#$fq->Su(_ebTgKVrZhzMcPJv$D-u*BU8q~YU zRXwo;K!{fpB5lvA=`SGSaAepusk)_**8P3dm=G=U(-3XKs-(P5E4V5-gg9AzzQ2)0 zd>IX@bI;z*mn+Ihp2e=FeEW%<{&B+Jtlf3Qou^Ael3dJnw0#N@51!tOpGJiwysm7M z-TQdN%^gRD%G5Nz9;~=QtW&Em3N;N&mZ_wACIVK&B&6+4g=o76-6VnTmTXU=9ByPI z#aGt(Fo+mx5LmbNMQyjrn;4URXMQF$(tHNT=NPhYj)dsQq%!&`?@4)ekm_`4Pj zdEA3(D!=06b~bL@?l|~qh_)SF??u}&{Tl5u(o40yGO5({KiCKAUcSvo%jU`3WPY?A zup}F}zvD}FXs<7jph(OR#+Cj3@`0v-2oQ*e*r4Nn9tfL5`~e1vLfcR?kWH&8!JjSw z7jv9Sd^}!7y1$E(k{jLw$>1)W58FeAY76k&mEBQH3RtC}e(9{2COvv=X)?+eQ)!6+ z;DjR$rgW&#Lvp1ezDQ*Nepz+zN=Rez@J1V%`j;S}dNzm|`MdrE-VPGQdta$uc~eB@ zcaUsu_t4cA80A%39|saCS8s`oniG))qDIKSG&9CA)L&6!TD`CY<`fQ*WZ$2C*|GZW z^y^HlaBYZ_d4egBT-9V|q!@GWmpME{&7i?XSuhI>37KX_CWV4Og1KgW7r)?&L8d>ay z2uX#nsgEI3J{kTnU1kGqoJUfm&uRiQxX||#DE?1lhSOz!d@`(ZT{A&PcZnIl@m);+ zh&lCWZ21-)8fCT_cY8)V#Q*! zIe5n?zC4XEiE`H4>JSxz7oVC#Sl4N(tf5#L)LRrk2IM((cyXNOT?9u8%>4X)sgJ7< zisM1zLGX9P4#z5=8Eq*1G65k@+zRB&rGa@QqHz_3`Sv7SUCm9ZNqFcXG>)@R)$MNv z#{E6DM4rkpAs({)4&Oz*ymN+jyDzs^t1$6qZXP^pK7;4$NugZHy)nzvx`PZX|b_DV1=4u!VX#CZ+Wy z3i-bWeY34S_}DKLJp<(f3n)3WQjtJrb{F3v;xvqrVn#ooNXOc+Z_2wGFbzlx}A7GqR_ADcCVRF0? z8XpehrN8;|>9ESnPYlT6od2`2U=bqb^s|F&om~8L0e-_yA}0!kQx}L!PO_RakmEk5 z=qfYy!PnGNw_namGIDfa(rrJ%oeK`2%G z6BNL}`~ZZ}9j+2UmOREd9f>330^CXc$n74kt|_Y+pEE(0Hm^sUOCYnl+l3%`EHg3% zT{7w#WS^*m;vlAZ3%7UGZUWbc5+(C;u7`cj5OQCs30EjZhxfp$Fr07!v>RM`quksN zmv4v@3p64b87YVLman#NSRai8&=1X*c<8^ZwzR{}#nqL(Z66*X+F|^86GJL7V81f^ z6(Tb{bHeh+);(8>r3}j?*EP7XU9B2?2as`a>PSd8z9omqzQkLR-Zv^USBLFACUYzX zAr{B`&>>flO;7BWy4UN)8x;ZjMzeSU_&ZLztkDKALkmH-$D6eE0=vvO0Y-%;70;Z9 zT-zg309K_N#j5hpi=TJiJQ?XIL&;h!M1MSSE4v#(u<_0?-a={iJZ7xfN|b#B?Nl z23m@Di!Wy4_e)~S@N}`*T4nwFXeaZU&%X`q^%ay&$b#@51VGQ?2frke7{dCiKwUv=MPmXjw_8#8 znSI;sr8UAD7WsS63=ZzA0F!=?&36dMmhRjt6|byP+xW!69ar%Ua!t7FypDQJF%62^ zJs0mA2smL{_UhKM+UM0BxHq7>h2IlVoBNDB-Vw;;S)CIfsE+4AU1#K~N@I_hi~)gV zK^j-_wE#NTD2bekv?@+=M<-0!eByWmnwnZ!a3dvuF2A~%+bni5pj`B+$1A>{&h>0t zTKufW^UDNh!%r*nME>K8xsMSbWhmf`LU8AGJ|W!-(G158t8IBu%%qK6C)X=uNy32- ziVAjjXQ7u#JPt~xb`(V!IddtE(M*Vj~Us1uO4Q6}VbWE<{#{GykNcPmS20x{Y1lx8D(a?6^z>Sj~ z0ZZkHvTH2iXw9`LmJ6U9lo4oU6$N$Qy(Kovwuxd!LN-`if|eJEc4`B2?E&Te;Cwcb zfka#8>N`B?1AccUuNpY9+z~G3ITX4$wHc}PcBrmclys=(eQuFY%0Mv }z`h*h14 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 z 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 literal 763824 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%0D^#F^oX{NNH(l`H~954<8VGOU)xLh)FbH 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⁡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�?!d(s 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 z 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

C2BMMM)}-}~-`UvpN#kqA4ii#RM}zI3X>#jF&) zqW1Z)t>GYZ>6a5y$u9vT5;tNfoFX&M`|hfX|KIaR9?VE>@Li8*9bNMs8-#*C_M5Ue zC~o*NpF3p3bE@rf-rePP8=uemU0G3Ek|!!d%8`ouNbkiP7pOP?4+a`P$U9xV`7o-X zsG_!VMW#QgimJqJR@tVSGJ9*f)MXbBTmK| znJ6UAQRvZ6%{RT-eJ=*Ke;J)JXi#EQ9HZ7V!Kg6hLzC&S(?f+V&(56kJxjDRXrh*c z{8*^G#^uPJ>*||ggXMC+_To$-)5DpFrqQTDS5$Rc|4CTZQeEeZZt5B9|D6f!4;T7l z?zAQx?c$oxnLj0H%H;q@8Wb~IFY=fdS>a^Oum_80KT_>M&>Rex^r!H|Ok^+>&lX!w zc(#57dQkszj^IhK@u;p2(Pit!+(KbfZd;+mO&{(NS&PjDr%NeovwC7tYaZ*1$S&9X zVZJFNDM0w!)hO|7IsSo!gFLCx1p&qSv=yAm5!60Eg-;G~`mTr+a=4Ld5k*sRzwAlh z^!#+ntu<-t=P+oda+V$bF)qpGnS9V%8F`o{YL+NP%u&;OD^U=fQCQV@JlJd3wuqMO zXBWm9mRufo-E>JD@%8HUcTyH#i#De|Bt=n?zZ5>dD_pUG|I3Ru>SP}gXB` z@kE72jmUWRsW*LB4f0d4-p==2!^1)LE$8Rx9mDMY;+euCWCFZbin`?dllLEKZ(a?r zNH}_BNmfJuI6nW!<4Zr~d@-Mg*U=D1o%*FtRYmN=LQ zsw0Xo<%!+&>)f$v$|=jpSm1F2r_6f~3e_{s$eNub)Chx;RLI)>F2L!!wIyF^+21iF z^bWN&M9Wba6s-pbhz%Ny!*x{w_rD&b`n`Gaa5iiA2@o=cz_Hg0xzs*9AtQ2%y{-%( z;RUC|9;)h%(o>lO#t{%dwjurgIB`E%dgs@}Oh(8JC`a&mj_y9aaGAAyp)k_yG4#_k zw0lp(fZa^o>In89hDl)%Z#ODzJ(3-X=_j|65ll-SDFxu-bgx&->g_{mzVSmy7-|h5 zVa34b0r06HW-8Q?u+c#F! zx@Rl&wT+N^V{wDSyX~d!c%jeqTO66l{kUrkN6e4!9pi^O&CnfJ2{Y=DW@AD35Y8Won*C|t)F1Gq%beBbk|Pcynw7E)qo0=`G`x;s^X z-w$g-3sQG@5-EaxC(D&2#&~buXvw~*7pfIUsG2e?NV$#m+CVyo&W(=NJ!8+s?+%z? zFLSd_lDFUMFAiL>yt$OEJU(-gm6ggR-NU(oo~I{_PWp8aDz&Uul(J9wri9!ZpMtK_ zxH-Ex2?CTB(>i>#IKAh~o*3rLm~OxxbNCt&EI`t*@NW*;iGUz0QfpTQ>T)~NVtH`# zOv;IEEC+ag++jBYzX$hPa76ZD2T>!nh);(Hb6lO%M|{Bl6^<_C*x`a;#A-bpBX*q) z>&5IRp8eG`#g>?FV1tOw7=v|5UiPZ~XEW>;R2F};qiWa~uU_L#o9N~(tL~N+)23Oq zcr%VRkbv3iA2WLNy`kZCsjyeQr&ar#iKM~?;Pa~X!o6>Tx~Tp3hEVnOdJ&C5(#)S2_lYRbk1q^9nS3rWbAHJmA0E_em z4i|vS0}F;ksc>QT{x-0aBN7*>F-!WmJGZcW#1qe+>4zY06b&_^lqiGDH4x;D%Hj+b z*n;)%Q8xE@2jv_hw)Vo2eVPDLM``-ps2plC)RwXs04Jbc>JR!J4GJ1t;4h}qM>(3Z zxZjcP?0=b3+H+kg;!et6eq{?L#uMQ_urq7S+d|gFNsv=1oBlI~V>~ADAjUgcZp0@g zZ1M5;{TQxXOVK+;w^90IwJGrvEgmK?Mb=yz7ub5j7Jj{Kt#$+_oj1th&0DE47&hsp*BT^d=Onlo z^64JdFC>gRmI>O!MG+>u4x^Hm%;WJ&b!l>Q*KBojs1A@OCnjj|x(NG>yGrRXlAL-w zrtjWb!)t0$v@t{shrv38OFxYPQ)#g8ieTQg{JZ0k+DLH%Ty?~og$wh%P6AL`3ulG+6Edkf)GO(NW8`$C&?6Ew*bq)i zKxCjVF(Gkv*+BAP?ajF#Ma!Yw9$awJlrtRZ$`st!eQ<7PlJxbbLVQf~ zTQOA(vq;WTy=>+Khj2?HDR8+@6I?#SE&K6?iEh|~INO?|US zpzljNrG?1fH^iXc*@-{A{HlIe-W{5`SN|}qBvYZws();RfQ-96C6#=>86K~0D|+Ue+iI!B{B%(SVVgy8{^OJ=>re}Dv*f9_xl)nHBr##& zp#I49X?>s4=6xJk%f&rc#PME%MfB#&Vyl(8WC)qpji;7&h^RAPp&x=wR)cS@&@$2_ zN5%lFaT7aV!VVhV3f*K73mGnE{gcz4sq`=}4bA!-aJrS?3wFYTis<(e9BH)o%K6SFrgvc9j$^yP> zvx@6~`Fn$q-kUIiX~g7iEJO9kJptx)I6oob<`hK87K}76jG`M#ng8nj{tI+v{{}JV zIX+?{M2F5=vrvnvOWyT9}y;~_SKvx zQ#1NFo#+eOe*7G-F%Uv@RU-z~gY-LKjBZEj(%DXtAiL<0p*OAo#=RMrW$ zT;;qCle?Yna)J+{L9doXwH?w6(j!zE*3WoCy58LH5N!aP^x(S9GiVTf({*N0BmB}N z$gu3ef2GnJQ(k9;DC6ATm#XYP_6mW8_5chW42E}+4hCgWaflA=oZhsmYCt)Rvt${g zoo_h}C5M#_iG59q&w6vva^rS-_YgXH*4!{f;yR>Hl9voXZs0ewIk6rrcpLEeP;KV) zmekZS==MPITK@ORPGk+6+S=8|Ags~h`O?);AwNM1IS&AMp6wtaG8VuaHCV6^*g4+P zbRVQCZmmZK_X)O#U#n|1J{4a664Ptc zBd=`Q?G)hXLpCjc4d{fg1&C=Yvhe}aPlz@1{{4&(kCZknw`2p9i{k=oDX*xK3!w7o z9cw;W@x6x6_fJ5twbix#GjM`!kRo~|w!(AQt1)tN_L*gC@+!t8I=7ymj6+|4EK9_H zYhj*LQj4dc`@*q}Wzv4FK218Onn-3h+M_49D_w+b&;TRp8M;ez6j=YTF;}|SwI`k1 z(w2h^Y{V`(xSRg-m(z+UX0Y2EkLTb<%`T$!o8!vle@btUN*oawu7-6L(6{vlIM{+M^$GjASx@5%PJ95o-f_ha089UD26oQ( z)WA~1c*ewD_N5H!c*fcVaF0|7ZHbKqp^$G78Q*dXng42ojUQs(_iB(q@RbcNa#zUA z^T~X-*4n2}Hqr=0$YKU|{&Do3&mIvPS^F_A7}%xuMm45y3%te_Jrx^4^*Q~g17231 z=UYKE#nUc&gjWgQk<247{XPc!dNURv5;ar8CVYH6cP$YMh5%w<^&79FA&C3YA`Q-# z>6-)HRDTi;m6v-})sdP+PxD@Pui2G6eg0|Ws<}a^s%zGC|A+I^S^WAXV5!Tynw4OK z14LIta4q9o?9y~Rh~B|-vnr0PxV*)9zEDT_k`@L2vfOSed;uVRX^(pa8OFwH4m#+2 z`8oRSmw5NQjOwn*2j1^b{)YJwO&KcLqbgaSAuo>;&}>1R;FNmOF2DGwaGUInid=!u zMRd~oF<~m*LfBI2GuFuYC-OIMMPpd2{ZA4;^+lQ+LywS!g>VJIF3)-_dJd-#dR&H* zHkW=L7%=~sq2E?*a9ph^{w6Uw_nw!ztV9)2W3g;ugu$z!RDDU_8&G>lqR{Ig6C?`_ z!tz*KBhQy5Y_@z;7=3|zxql)gU?;@&-VUW~uXwW>7Z_ReY1e%)ja*Vo!*D^sjxuzP z{_jF91ZNA|j}9oO{mu+VIl5<}2XkLij@iE;+FW+>mO$!M!#7sZ;>L^!aAPdzFH1bA z@5*f;pI19`5b{5}cy{NsbzGaD^F=dJBsp<%3ev%<_t`6q3+QS#^YeMmPM=55HNeM1 zGreU;-EbtpSo0Lli($&?x@@z_&kr@~wf{NZnZe>)ioL#|&E`d_PTy&1DtOcPV?OON z)@c8(F!Z<2Rl{Hqibe!za}D(bee5AR`3gzw{H3GMo-eJS{@jNJsMn?}dyqcieJv zNF{EC18lvhxUh0C4*J_jWhAB#+)AKFI^#Wn3y31Qtm#;^l>afCwVB2_{!Za&?TrRy z6)kCl2uYiNN0iFavbyg;3AzOL7%^OdA7?Yi8w3en1~BZE9#4`E_f5`?73+414n~HMHB!?7-G~}OoI+O%3a`7t)U(>_B1%fU_s>Qu8 z=YrxatRZiMdvQ-KCE^csdC!dek=Wy>5RImxsXgGegR!;b1-_95oZ4bd6%c;!gVJ)p z$7aux!G5CZoW&l(B(>hYwTk*8?XFe5Xz3RKTe>-mdTvXe9#q3WKKwX-U05fn+lI2o z7QjW)TI$QqCMPt@&pn^cw>7sP)5RKE-W}d8TZnB7NsH zXdpKxSWGICKw|HtR;T(2I{qfbk6vmX3x>r-qmYT(7w*0Ce&}r1$WhW%mDo1 zvq{Njt<0EB7a~-ni4rYufiuBC!=>BJP2S#7hCyrck5EK}KmlW|MJB63(PFWDh)iTl z^xGXV6v?Y@Wf5*MtB|9V(Nnuwsd9x`)Z5K{KEdN6dKG=?QjHv4;jOiD=}gl}e&?Q< z5c&8N10w8APPQz#ML}J|5tS{-**75|RB6cNtNE;8?d`JrCybkCHr>;bbasa0Ws#aj zk&rHU+KuGt(*HPWSQcd-yANk_C__yPIV6Y0?KOT#rw!_90L;^!A;#)aoS`bgeaP}% z8|^0|2ZHu$4#majlACQWN`4$nW#mQb)oaeL2#z zkH6<|Ha{qU;Da0@G8#Fbp&Xe{N>M+(xO9Im%|DHT9VvH2hx$i}jEeBFu#yc6f^5l- z0?X}g&}Eh*5L;;M({$K_q`IebQ)@8~`W%JP3eO2b6R^?hZpx4H*Bt1LjVtdGg;mfdoV3E0Z24-);&Gqx*cSekKrFUNB&dnoD&`xXt_u6i=D+wFo<&!OH#xc-tnnf+MCht^8tyL~89;(th6 zUl}S`4L+5Cj0;5Hl2t3Qcf~Q(>O|~^=&-2+1+}0e?9&8C+&JfYoZhT9xA1k-*G$S< z%ZGhR97T)#hHa3=i+|HnPt6WE?)1+Mq;|;R{HShknjOqI~n?Wr`%oJjF)<;tCSk=N{P6v zsiWasd|WLD(Pf=lhxu^mCob{L@wsuwuKGyfYA5J<-ZL(Jt3BFwfs<^WB*YauOSh%6 z0gI(16H9! zx|6@IN;e_(zgVw-)s=3x?qv>*Y4(*rfa-81wG$m$;3;9C%`GyK=iglT)gw{Cc!x0w zA8F>-!pw^Fkv7RFwNY(M0yY`21<`*AIdXH=qAz3shwr#G3W6~ME6L_5l+h~=n6>ox zRnPgcu3mB-s^xQ$)cBuX-+Vo*z&yca#@_JT_N}BH{f@(&Sn~&o5d4>U_!G!sc3bMf zbs5tLxNI+yO$+*N@^)@#_}c6873DIbxwKq_TAfcVGVe+8`inV zB)s#q63@)*J-eXu!K%g=rny4>%o@mmGm#|EXL*M#Qv;*k&#~na?PJfmPpW{>#Vmal z-8?r?j^C6gLWRDI#=k-mA_U~PE(0#6XW5- z2~q!Ln}4+GF#Tr<)nlbX7`+ufa)>(&(bq^6L+GNm*3*{|7I^g^~F z+X~-`BaWa3GCMA+)Lt3;Wsj#j5CLThvY(k49)o=zp8Be^&bs`y`~^c(#Ue>=x7ZaZ zFHCz)&64Jy3zPiA{rOVkzVsn@o>hB|~I5`hK4E8WH!oOR2ui4)o2pj=EA zgNzeQTaIPyoMm5F)g6b=oUe#2v#$O9%>s|x%ffMWliFWgYGndz0)^CjkxLy}+ z)~$799=Ze5zoFe!rhsQK{65Z^T=L1R?9({D5~%%HN88o;Cq?Z`E&g~hs`+XJn60@p zq`Q!B^=4;GJD=6teH`^o%d%OeJCBYsLAqpDsXCMs@Liz{5cG}OkTLh-M_MF(l!!L9 zPFRo&q82cO94NuehHu$%}Thcw$<(J5ZKpPYmFv{;A`jLF<}W6yg^Y1g1V0b|V2C zPgN?#U74|S`;V~lh90N*h;u^q5{m?>zEm2rX?xW!x3Algt_mL)PFA>p0z6mWHh)?W z?bemWj8N|r0u3)**&Q}YFQ)7pZ2lG>z%G^Fqw+p+1zL=LX5|2hnw79 zSWut^V!pR5>a7rHo1O~Ug}4v~9P$VZ@Z%NRM7S`2T@vC*Td5*mOzSZs9?up!0=Ybl zE}DJTZE4G)|C_&ir16w~lf)LSADW^s>XX{HA<>Aej0~F{^fg?io6R=Ih(du0iJw4> z<;{f1q}`TD(nj=BbQ8=^`uyf+U9^Ca*|kXZ&V}kP(kF&=LWAtmYH><8+n1{)w6EAX z1mp#V{d(ei+ya(jv2R2YO-by#zq>_KAEkrKB3$)kHlWY8d395ki=_VDY^C4Cf)eH< zvEb4kjJ;SQ3~M7XJhz&I@7G6#EjW}GRui`u*|XZCUVhGtF2^B{YkhhEdvsB_X-oDh z-pHXvRDM+>$+@_xzQ6k zb*F7VM=kyh_Pc+lM&8QFKu|VKe<0L=(1Sc#bvmC|#+4hjQW!hZ&|Y6lna@g?X6@qD z(vnI_hRsar>R0Z?h>LCq{R!6>hsL7%l?4ZHIY`0p*MIm)_j}mMyH#!6JTtOR0OViN z0NsB*Y5lnV$G5;-gw!L#$Ri-L1L6C>000Fz#UoA(YA|eSQ4yY0#WQiXmugS6Zz2(R zseh#=U+)0bl^auOIMs936>R?ObxFbYPy2>uDYy|bg;Gm|;HRQb#@JFa^&brU3WgWn zd3+~_?2$98BGt}>SPbpJp*)2p+AqEEt>%Npd0<+v#KB2bPuA=f6-2E%RF1mv>1syxadP3IkSuu(0L7e`1>Ze@%Z z38oBlx`xe)Z030X(v-@%e!^h&LaD~_%5&AOlk#qY*Lu$Q`v<#J*=x3l|4E=>H{nsl z{s<(Nj*ZIaVi`k%OD)!VcWq!uDWE5zYa+4Ttk%xWPRAn&y!?y{3~PM8iOYBAcuT7x zw-yqA-3^ez!ZM(}I_6pHiDreVMArx<1i6SSHtR!aBL&#LqW#I8wmw$tdSuZ%;3GLD zRIxjWx7ld1^fyiV*~+kQGzn2KobOchG4D5_y1EDoBAFz|MA}r@__{75aVUmlP!$kf z9%3m8N&SvnFrrKyyIV0oIBGMVG@vJ#1gw5HOF^m3cj4qF!c*@32T=z?{qQ@fmBL`4 zxU*kY!bU+mk64iwkspLZw#qmBL8;H0r(OwirT1A z93oWM;qu{BmF$_lfljvFLrxWfBDqjv9hJ1YagN0L!i|_ zJ4*rd48hgqo<%l49@8L0Q#L!Uv&^Pa%;=N^JuUl~wbzow*j}*(1&*zKGatb$78D4% z82^vS!P2hQ?@Ek!3COJQgE4@R;${?)WF#w3>!43K5CjaE3fpekeOoSA|9gUnpeL$E%P~xG7IB5=7JW+Dt?|m&6rn)K0$_PyWa%;eP9P z7=zZ}q}dvO3_K$)AM<}f=qy--af0yV=xP+XRTuVkL6*AQ;x=oz53+CLVL2HbDNxii0 zM3e7EBAD6d{#-0H>Lz;UqEE>7??BOL@L1Y-IpI$}hkUJ%ExmVUDC2`jigu(8HE6*} ze%qi2X~dh>TyDH-4uQ2o*HXiVI2t(VPOY2Hy?o_nuL^KZPo7V1@DUUx`xfG+4`A3w z)|mv)8vG@-Z~RXh3FG_7lIt@Bece8>alAq*SR&jPcF6Mv4rJb0P`?Km@xglYL}6v< za#2XdTO$N`bWhBuaj-IlQ5Srq(P}M|^Uh_mG)?+mmlJwgDq&b*1^yR2qKuXewt}S6 zQc#-e^0JgHzZ<38F9)bTa@=}0Gu#onXm(gDR;mgFE zQR&b!`L-4BBVr=}0MF$4>2C57E76h9=4n z^Z@6U<>r;T)z%_x+9C4};(_D_zY(e*m0ujkn|xqVpt7WtdHO6ub?l?Ub8)Q8e8mvY z1PpIxAE_&%e5cehsMZ>*46xJ`N;98wn_|6H_G8bL{p3ZQ1m!d@rRL&)Y`X5ZqO=$} z{=}raEU(+;${_H<{eJhdbhTrxQ6Kw2qQ0c$6+>ikH}Xw#4=oVZ_tCwR=WP5r6Ch)x zWN0@j-WO$OXnPX-8MwC-I=L&rtyM+~dEUVXg6ebPGvD=z(YvHc7myFmhq zU{cO}#0IMiC>Bf47I( znTHE2J&mRGcqiq@-yNa8`^Y#8YVVp_$klGVb&;ef+XPsdSZrvXC%GCxxqX{>M{i`v}zCkx4fqS*wP`5JM0ACVH3d^#DsII@g zx~svXy^kNlqV&Z&t|l$*@4|U2c2~U#s^{>d#20XfRC0Gg0?&z~;t4iq@=^NSn9Ve2 z+KdP9HlXMpp{f>LqNaGKIW4o_@>Xf-L-2+|f(>Wyszl`Ypd%8soZ?0Mqu`9|FgyQ!MrRHRzS+7s@R3x7D=P&oTr;GPi zp?{XpVR7aeD$Eptz6#i=%bCQb`yUi%qMX&G6?A51^s zG@r_CUPcj#h<#2y>-9HQ6^DP+pHX+DASSawT$x|HdcC@jaOm=*buZuSP}b8V1YnT0 zeYtw=QL5{g0kJ6VlS$_rJdRr`)m{iDiZ=L=O7~e#%FQ%(QiP1iV=--|Ty$u=u?dQ} zkVIBP6jBbfXrIk2=3i@)pwx_=dTu6`jP6iH;WF}fH|pAnkbOZ2`Oh}`sQPk5w_+ZZpV5f% ztilI7*2G`9TPhkCBqQ>BTL@&rJ@|KVRkf9vnw z!HRt0pK>wK;AdS}W0qVt#UffK)Bx#A7fSD9j97YX6;d;U&Es&U?+)8qf)Q~rz zTnXkXHoH2LwX#wa% zt?S04Hk$$Bdmo6=lP}j_WY_jIPFIK8g?lDCwY>gnoOiWYrx~9*BtqF{Dcb)2U!cO| z3L~r)(@wjJB}V&RuNI70nn1;R1IQn+)V(@hc;^Sq?w}Wzl4xOw)qcd(EN@`a#kc^J>pAku8OS*_Ztk;Z(znQ>j zOs>l_{ev=t`BZ1PzB8b};BILkL;1LSN^XVlirWv4Jpp@$7M%=80U_;><6ggO$@!j%6`LI& z9fJv1z1KSiuUOp;I2PZ=_5BE-j0#KIK!#)!{|5%1hWVPe0yCK|u)s8pgo1QU0_9}! z#P_?FzWS`2udYUN*)Nd@jZhJ7@~Yj%iUW`=*~!g}(CB6X!sWN6Zj zcU~ZgJ&==fQgW7bytv{=7st=5@~_|jv~+S29p#7K-UAu2ON-7{kd_ZnQMOdz$rDu;8M$un{VXmNoo856iO z%7EDsd=YSrBg70B9Tcl@(cP9CWkHoiiyriv@y&IQH&7$!t^QP)7pHq?hXSXK&2V)48O!Wk?R{YvE`+Rg!M%vYcO6H2}EKSvf$++r8@}prbk9(67XXJ9t zo1=>pY;4Mg!;y@0WD3=MPNO6m0S-M&dSUm-U4Hz(?oMG#f2BVVYsZEpZlPq zdh*f)6yelL(H4*Rr-uBh_kdp#dgEaQuj4~v6=`B-67cC8tzV(+J5PVdBs3wA`3b+( zeF_obXIR{<0{I-gFQwXn+Uq?x`aC4?niqJw2CaNw7|5%sCY1u-yohVB7-F|(HaFk@ zl(zvi-`)C!+KvO2TQd_oB3n3dl2V;Bq2LgT?lnCe!YvLa?P(V*v(#!L_|(y`c8F0% zy8=~0dDxDLaK%&9J90}QYZ@~6v)2{VPxp6-8uJgs5;PR?P2&l;<%=Y@ov0Mp;sAxZ zQEb){AG~FUjoEv@lf7zDPDU#f9|p(cYNC1bu^;w7v}E zEc0X3)j7bmZ~g8%#-Du)T78amE%``POLmvWI3qC~aVxn#dLsqc2&(p&5cA$N{bfhf z)Z8!hCwCuS9NL>Rx{l)TJ>_q&(wRvRh$;>mMx&h`A!BmqXbp!wNN5w%yNUfW5T4tl zP5vHmb+6me58sne+{O8zQJ()?!uhZ>j%x zndtGsfbXt$;^7Gw2#vZTL=M-fiWKQhzgQ1xyGXGq`lWECEzK;pe-@QRjV^xl_(dtH zYO_;Uv|8aEx8yK)`9Z8N_*O#@oa3o!zyXwds@MFhr&2VV`{v1ifee-ZBb}7Q4dB97 z4aNqj5)r1K_c=gyD0J7L?H#zWht-Bqll7iV+EtW+cEMfLvhN)1tF!r%nu4wlTFl;k zZ;o`sS0Vu+B2X#O0&j#lMOf9iSV!e@U(QLEF;Zi0w&5r(d?{)ty?3YbMTlw!p;q)9 zim@gE@pbXkFy+QdmbQ)Si*`4+7Jjpd%GNuwkYd)_gF|EfD$KcYx|n-LJiuO32k~_D ze-e)Cm#_$zMj$s%R^!x(E8?J=fcDw>c4A$|tz@&Am=w*FaK+6Qd5@;E9k&FN%q0f^ zU0-L_4*Y?$medFaVkefWOC07@cP ztFt?s&u}zFppz3tc)*gR`R*$~B^th*JWWGG)m?(gQ}~b|!5}4$;G~F+1 z`let*>TCF5CI&gVFQ9g`>jNgl(cn@cyz)iGfv4d*LB+HO*%64sTWu^+@M6Jvmsw4F zozK)ZkrVn3oa*=mFe2Qc+QDmzaf~ZqBcPsAQ)hkPc{)}Jhe^xYsz6?3l@(?mfGQp> z!f_gdBDC7pf-GV$qao*u{4p~p5Dl?*Zo-Mb8xOl`R}DucTG)|(Ya3ocxiiCHH{#Cz zV++vP!j~8DDz~}YY|KB)dJZCg0eE6k7AL7pf60vtPa}>L3ir6ytO$q_B%bijZ(KyA z_Sa8$YOzZ@k+Zj-gDn-|EDupU*!HKX6%p|$FcQc*zbxH`cVTh z7rBcuAil~!J+L@8+brOCg9CU!46N9`JfRC@Q71cI=}&U<(_l?oJcFW%jl}0Cp3Q<^{ zp);1=Rk1sc%zf5dI_dP!rPzdxcaIVL#~RADAFbhtfCEm4eSGF1hYErWiU;RRE7Ft$VMZ`5rx*;+oOtV!Mywdhm&A zQ&za>_h@E~nXD8{!3 zto%V47%-A&a3RB=B|Z|Dl7$&{we|%0ADi$+eTo!}klDC}9l5dD+8bgV?=Y@JVO5_B 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

b3H@{ucJzbWe-J}0r_ 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

XGjJ7Cn8)F0gyCOR037OeMEyxDa9GBNw1) zwSi)Lx~{87TuZypH#fD@7uZIxOp31dzsOm>`K`yDpK2~9Z3pC7LOi_% zJ!%%c6OU8%uF8F#6@{+7=-9J*UiM&uYFp|ZgeDmm9QdI@jNb`H?74>w6-1y!RdnVG zWAy&~d?cO2WHQ*I9VBqYJXNdk~Gi-$4#G%bm>S8FJ#gSU) zTgvX#f(~CPox$!v<%og1Ab6RY(XSYV!tY@FZoLkv0E0N`Oyk3ElKpTc>Y0du5Z&n) z@}KnTHgG7EoutFuU+0c_(jCh}>oxbP7vhA*BNy#C?6uef+E^7JDOj8o?R_K$1BO_4 zQ7^(%ugF}PC1NiAi}3Wfn|+4p3k+%i;teJ)0l}U#%rL7%6zXHH^< zqNQ8TiTjpR5n|2X$mpNwAmotG4064q#DEXw$yE6E$El_;=I?~!;93#FhbCVN)bu4> zb27p>bKzn)Oc9-7ZpOhE&wAdJL0zW%4*MRrb6(Wc>wz75lUq zHNCJcoBG8uw1(U7F?OPty+$-2`!W{ONk(fN?SF0+Dq#%8tlnvl_{Wf;H{N5*<1{?kCP*`x<4uL;zAD zFL*f5dLYN*H%sI^0?YUm#5(^%w_#uCHlq_#=!O3^ypP;tdA@UEiIU`H68oK#xFqQf z1sUi$?=?JcReY$9N@({)tOnTsGc9~(j^lF04ea@!hLLmc?I%aQB?JzzWz|oDJ6TGq zVobCOD=;|!L&|nvvlclL^p-YW=TcvF>H0zeWt!@l3ci^ zKSUh4P9z@l9f0grcP zco2C#BGA=EMfDyX`csIzE5$frBBk=9(!chBPs|`yqto1W3QGYcI5E9IS~cH1A-;Kr zxh~txU`2t-o*43Ah)=kw4ix{TycXfNm z7bYG*0*tb2?oRp_MJ3ga#YJzAgq3X~0zDGVBpdfS;6X}ce~ zb*~Xyu8*6K{T{Ejv<+s9oyLXQR~B)B4|IIVno8>E4=RADJm_%H=y5sd0<%~ug)!Tz zt-fLaLHQ=|_hJftHoW_{w(WY~(*?HK<%$u8>l~I;(^wk&LC@s}1u{@hTPi+H`%flS z+E~jUyW&Zo=p*JPHkpRLoa6P!C_^9*JJM(PSc5dNU^1lwB?BH_zoN1VxPt)xPTY|( zXl`|15~>_B6!c@xM`AX3SC=mBi0_iB;x@kuj>1y#bPZa+t!4FVb*9m_wRRTu@%OWy z_c9Xz(7h@L9geRJugZ=aySpYzJ9yMX4qrT zZMDr{-sIbIb;hv zJ?{xSPOD#a$?z3iU;>l{ZJXK|-9*k=`5JdPU*r(vb^ zQSSt?yCfx;uRZ>6na7Nb|BvcFJYp#vT)tU$r_~wpgwFS0H0S8>PKT74GaLkSd8YCH z7SCqb*Q65wDGL5=Xg)h@JKo8l4URCPJvEBvUm>wy>%7qYI2(Nd(4i)|d!56!yR%_? z^!>|yfal*%`!=AH;3D7B#6w`WMgEq)4b*(qA4Y2G%35Ma-h>NBedFxBxgGWZ1#R@CXoF>sBl|L{b zT>zKF?Hn+=A;gVn6JXt^0Au)1_XGMJhy;G=**$IMCoZhL9fJZ^lKA|C$jbd|GQNRs zAef6c$+g=_Gp2!s(ogsaCY##Xdf=x_8M)P|4iu2u_?XE^>a4`)GbT_EN0adf-l;z8*LY zzM(){ANPH#=1(Q=yjt?KOD{=LHV>PoIGs<#o4B0kVshot66~kAvAGS21{O*=XVAzmBNM za%FtJ6zO6v22L|OEJ-QvO=M*0E^w^g_<&cik4{%9Aa*yC!~9Uc#4pNn5C*W z?n_$I??FP3H#z*5n{mq!vKIXUCj8mv-0{3JTHdv%ldZ(%Us9x<&K2e$T*U!&I;rAaaNfp6ZI$>@*?W%xdRnP1`la6 z>3eg_G>|*juQhe)B^VhP5x$d(Cqcej%_pNGxOr2b#q#? zLB}Y;&imUNqvOb_=h#?0+NY)^$Kzl98ABT4jLh7PpAZo#&T2w=(}oO~!A03@sqJ4N z&+B~uBn|#7yI!gs)V+w!0nM;b0J>)W!36SSxF>af422ReqOos`TC{0?7=;o(cp4h| zRX$cEXlfVcJ3fE%$dtbm=G0dLew6dJPeZDvW2t+RQFoERNN#SIRBiVJRrB6r&bed} z=ScOkg-UJi*)m;zCgi^;9MYU7XRqt${zNn~)i3-wH-PCy{&)*gOC2K3>?iM-)%P8} z^SbTbIc6DV9%is-YVShs{0kds$RfZJXn0W4T&8W%i^FdFE{Gx=W73&gfe-xp@B2Q{zB`{9o9QY#29jm_%ad z1Om$Xf&(%!&oU($dxam@ln?`HBO6Ny4a;+K8SG*k1TKKofUHktPgEC%HZYsMq_JV0?=!#*}twtYeN?IXAGU#g$vaGl>ULRfOAEDyy!t!7{&GmPBU2Aw2vhhn;& zrMXCn{eB{6wW;dAv;Vuf@s*$FFd)vhVm;V-Aqq!h)#rd|Y}Gn~Y3Z9B^WL8s!-Lc{ z_PPaAqWazJ2-DYiPBXKsVR%MC5+#6HI!#t--GZfUY3;0o%_DL>LAVB`Dk2zN-ivv= zk&>2}$4ONq83r2oROB&Tq=fsp?c=*Rj7Dq*EdC=>TR)Vfqw0XvbIIZOgf=}sZFJB7dgfR{!l+7J(zD*%9Hh$>&e4sy0I0{Yx9R3H} zEnN(0#TEDwMVA?*ic#;z{ph5bPs=g}zlRUDOS?rzMfZuBEk#Mdrytrkt`;jl;vtXo z95A|`QiPaJH*aR6oGaXrUBn#Xes>6XGZX-`2%E$2X_a+qVE@LBA<`X~&U&;^7diIR z>m3L`nDv@z5@SGU`8I^kFJGKLJwHJz2rj9X>g}Nhj|A0AbQIzK>nxA%5!vVU3qt+&#g5+kF&Z8FRk(;nrb5 zwoihF8w7jEGv{4UwjNnMCK$5qY17G1U?`;>DMo?XaEn`i$+cJ|;Pc>Ce~Ft?842g2 zw^V7xef_te3_b*Khc-yoiLR%sR?-0{!S&W75~RZi;wkew8S{0N3IQ%WJX1gqc&~b) zIWHMRvOSrx?awXir4TDgr%$do?zPks-mM_gBj)6^Wl!FrA_JlMM`l&TwZ)KCqeWOo z)$!4IPOxk^(3z9)+O}Df025jzcMYF`P4JqB1mFnG9p7dCjLvBWCl-m<6Mq&eg^_?$ zsQmTOuJvypQ8PpN-VU@7h;| z10f++Es6{pXyyUdB7D77tlj3-xwz&E9n_yj)n=o}+7vAc(&N#j`=uJ)=&jyta zTG-8Yuspk7UYSplCl$reU;pSi-?X?;@KZ#`yM6a8VP)&nPa7bNySO%drKzhgoxb>l znGBKW#5uaj9ud(Z?!Rj~Eb$62_ZmjjH^rOo%a)z4Qp{lyKBfCyx!0qX(x)*%Cl8_* z?TBc|oHd<3xUN11?jORq{3a-9?kDx8o_%ve%8lAEXj6O1#XHPYeToR?r)3^R`Xl?= zGuDvJh4KT$1xz(e`-cN)NUHhQkaP{Gg+*w08y{qR&3Av6YtR`SF4uboYD#aQPMq)4InWi)=l5onkFN;O z9RBEsUJM43c}=9rVOL@@A5ZlkH73dYmXCSECwy82jti^lJFKX;N&r#{?d0pecj(DEMWt&DYv? zZF{8Nn+Df6Mqh)5^_-4sZFi2FztkY@iLFhI55l4f#DwY!5TJ0W)MlCXI0(8?r6C>< zaH-l$ZDOGgbi-ny6W>#r$sqL5gskWELkemS!^%6K4s5#U60c>0@TIl?qSERXCooBUK>_`~sNI)ab z-A8Qhtf<}AD8cXXtLl+}dcL#NZv4eP?2SF;2Xtt%4qyhbo=BbmvMyV+t~IF$J8oLE zJx)Cz+vzp>l{qd*w8vbqY_47qgr}I3R%4iQ`~W!7+mQx=@K4Bt(;6zM@V3>+8$j^czry?_;&S{=ThAn;6ZtiI1GOLl@B_dc#`%K)-toC(Uc}4Zp&< z2fTWGE?MG^E*-=_jf~hQ5~*<)qWe)3xq&fnMLB_x0j6E< zZ=l}T9~G+12c{+#vs<`^cjD1|9mM$V=@3_QGjyn1@$E8=|Ehgdgt1~MX+l`Aa3`ku z?`AWMr&=;Wd4zpr7n9}~pbC>q`Xcc?Qq>?#2f~ChgW6QZB_;2OJ6Z@*=J~n92Ki}| zdr~Un$eey++~D(HtOZ(}-bYQKAxKuLUs2Jpr8tDdV-r0<80=8N%WM}e_|o4*tFJ;H|3c`sO9 z?~=``yoNt;Hy+&S53`j`H9DEGW%}T#Wx2nUJgVW;E5zur=z==2JKWA`jW%sQ!gn)t z!$zvr{_*$a`W&9cwYY{v%Y`pG(}CjsDyMWdp%f)1Cnh%Z>_Z8j|55!sA5T)3NFD8^ z1Pb%qSQf_A4Ct5ZQ;OQm82YZ~^>T`f_>G2(_^!0~@yGG^WC$rWPZ2Dr4!%NH8Xuax zua?J48z#e#J0YZqz}N3zTW^m&oz-5U(k3fufCc)yB?6^EJlH%L521|cP^V>LHa9@r zy?j3{1wSERx*N;-7v3S|_m;i{&NvHFI#P96yj;+OmnH|K0$gw*8>M;ajH4A+QG^cF zP{!q-Gz}rLYnorb>(#r&;omUK4t$EzvTYo*y*kvi9Z7muGO56Sa(H*y&aC}jt^mzi* zelS9_X2DlSWGSHqbvo*2ZyjRY+DF`3379c`$SVxB6qdGTh|n40d?X%fLM7ET zu$coEk-ceBI`sz%{EdG%`Wk Qb*QhD4#~`$FBl@^l2CObNmycK7HWoiJo&bZypW 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

LLBBp7m+ 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

ivTBSxh7>N0R4EL44Ak?BVQJY#otbCE8!% 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 diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index eaeb7d4812..d060edaf4b 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -36,6 +36,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - Add new check `teams_meeting_presenters_restricted` [(#7613)](https://github.com/prowler-cloud/prowler/pull/7613) - Add new check `teams_meeting_chat_anonymous_users_disabled` [(#7579)](https://github.com/prowler-cloud/prowler/pull/7579) - Add Prowler Threat Score Compliance Framework [(#7603)](https://github.com/prowler-cloud/prowler/pull/7603) +- Add support for m365 provider in Prowler Dashboard [(#7633)](https://github.com/prowler-cloud/prowler/pull/7633) - Add new check for Modern Authentication enabled for Exchange Online in M365 [(#7636)](https://github.com/prowler-cloud/prowler/pull/7636) - Add new check `sharepoint_onedrive_sync_restricted_unmanaged_devices` [(#7589)](https://github.com/prowler-cloud/prowler/pull/7589) - Add new check for Additional Storage restricted for Exchange in M365 [(#7638)](https://github.com/prowler-cloud/prowler/pull/7638) From bbc0388d4dfb7e6952e611d6b958f1a677c766bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Mart=C3=ADn?= Date: Mon, 5 May 2025 16:40:59 +0200 Subject: [PATCH 28/31] chore(changelog): update with latest PR (#7628) Co-authored-by: Sergio Garcia --- prowler/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/prowler/CHANGELOG.md b/prowler/CHANGELOG.md index d060edaf4b..1671fff7e4 100644 --- a/prowler/CHANGELOG.md +++ b/prowler/CHANGELOG.md @@ -55,6 +55,7 @@ All notable changes to the **Prowler SDK** are documented in this file. - Improve compliance and dashboard [(#7596)](https://github.com/prowler-cloud/prowler/pull/7596) - Remove invalid parameter `create_file_descriptor` [(#7600)](https://github.com/prowler-cloud/prowler/pull/7600) - Remove first empty line in HTML output [(#7606)](https://github.com/prowler-cloud/prowler/pull/7606) +- Remove empty files in Prowler [(#7627)](https://github.com/prowler-cloud/prowler/pull/7627) - Ensure that ContentType in upload_file matches the uploaded file’s format [(#7635)](https://github.com/prowler-cloud/prowler/pull/7635) - Fix incorrect check inside 4.4.1 requirement for Azure CIS 2.0 [(#7656)](https://github.com/prowler-cloud/prowler/pull/7656). From 9d788af9322787f16f2bf8356cd3aea929dabb5e Mon Sep 17 00:00:00 2001 From: Daniel Barranquero <74871504+danibarranqueroo@users.noreply.github.com> Date: Mon, 5 May 2025 16:46:32 +0200 Subject: [PATCH 29/31] docs(m365): add documentation for `m365` (#7622) Co-authored-by: Sergio Garcia --- docs/getting-started/requirements.md | 310 +++++++++++++++++- docs/index.md | 2 +- .../microsoft365/getting-started-m365.md | 205 ++++++++++++ .../img/add-app-api-permission.png | Bin 0 -> 158671 bytes .../img/add-delegated-api-permission.png | Bin 0 -> 146443 bytes .../microsoft365/img/api-permissions-page.png | Bin 0 -> 332016 bytes .../microsoft365/img/app-overview.png | Bin 0 -> 337670 bytes .../img/app-registration-menu.png | Bin 0 -> 199345 bytes .../img/certificates-and-secrets.png | Bin 0 -> 385155 bytes .../microsoft365/img/custom-domain-names.png | Bin 0 -> 212586 bytes .../img/directory-permission-delegated.png | Bin 0 -> 206787 bytes .../microsoft365/img/directory-permission.png | Bin 0 -> 195715 bytes .../microsoft365/img/global-reader.png | Bin 0 -> 167288 bytes .../img/grant-admin-consent-delegated.png | Bin 0 -> 470214 bytes .../img/grant-admin-consent-for-role.png | Bin 0 -> 167098 bytes .../microsoft365/img/grant-admin-consent.png | Bin 0 -> 448683 bytes .../microsoft365/img/microsoft-entra-id.png | Bin 0 -> 270427 bytes .../microsoft365/img/new-client-secret.png | Bin 0 -> 295082 bytes .../microsoft365/img/new-registration.png | Bin 0 -> 392016 bytes .../img/search-default-domain.png | Bin 0 -> 110798 bytes .../microsoft365/img/search-domain-names.png | Bin 0 -> 68329 bytes .../microsoft365/img/user-domains.png | Bin 0 -> 199133 bytes .../microsoft365/img/user-info-page.png | Bin 0 -> 254334 bytes .../microsoft365/img/user-role-page.png | Bin 0 -> 150596 bytes .../microsoft365/use-of-powershell.md | 12 + docs/tutorials/prowler-app.md | 7 + mkdocs.yml | 2 + prowler/CHANGELOG.md | 1 + 28 files changed, 524 insertions(+), 15 deletions(-) create mode 100644 docs/tutorials/microsoft365/getting-started-m365.md create mode 100644 docs/tutorials/microsoft365/img/add-app-api-permission.png create mode 100644 docs/tutorials/microsoft365/img/add-delegated-api-permission.png create mode 100644 docs/tutorials/microsoft365/img/api-permissions-page.png create mode 100644 docs/tutorials/microsoft365/img/app-overview.png create mode 100644 docs/tutorials/microsoft365/img/app-registration-menu.png create mode 100644 docs/tutorials/microsoft365/img/certificates-and-secrets.png create mode 100644 docs/tutorials/microsoft365/img/custom-domain-names.png create mode 100644 docs/tutorials/microsoft365/img/directory-permission-delegated.png create mode 100644 docs/tutorials/microsoft365/img/directory-permission.png create mode 100644 docs/tutorials/microsoft365/img/global-reader.png create mode 100644 docs/tutorials/microsoft365/img/grant-admin-consent-delegated.png create mode 100644 docs/tutorials/microsoft365/img/grant-admin-consent-for-role.png create mode 100644 docs/tutorials/microsoft365/img/grant-admin-consent.png create mode 100644 docs/tutorials/microsoft365/img/microsoft-entra-id.png create mode 100644 docs/tutorials/microsoft365/img/new-client-secret.png create mode 100644 docs/tutorials/microsoft365/img/new-registration.png create mode 100644 docs/tutorials/microsoft365/img/search-default-domain.png create mode 100644 docs/tutorials/microsoft365/img/search-domain-names.png create mode 100644 docs/tutorials/microsoft365/img/user-domains.png create mode 100644 docs/tutorials/microsoft365/img/user-info-page.png create mode 100644 docs/tutorials/microsoft365/img/user-role-page.png create mode 100644 docs/tutorials/microsoft365/use-of-powershell.md diff --git a/docs/getting-started/requirements.md b/docs/getting-started/requirements.md index 81791b1b31..d2ebd8a12b 100644 --- a/docs/getting-started/requirements.md +++ b/docs/getting-started/requirements.md @@ -130,7 +130,7 @@ Prowler for M365 currently supports the following authentication types: ???+ warning - For Prowler App only the Service Principal with an application authentication method is supported. + For Prowler App only the Service Principal with User Credentials authentication method is supported. ### Service Principal authentication @@ -145,7 +145,9 @@ export AZURE_TENANT_ID="XXXXXXXXX" ``` If you try to execute Prowler with the `--sp-env-auth` flag and those variables are empty or not exported, the execution is going to fail. -Follow the instructions in the [Create Prowler Service Principal](../tutorials/azure/create-prowler-service-principal.md) section to create a service principal. +Follow the instructions in the [Create Prowler Service Principal](../tutorials/microsoft365/getting-started-m365.md#create-the-service-principal-app) section to create a service principal. + +With this credentials you will only be able to run the checks that work through MS Graph, this means that you won't run all the provider. If you want to scan all the checks from M365 you will need to use the recommended authentication method. ### Service Principal and User Credentials authentication (recommended) @@ -161,21 +163,66 @@ export M365_USER="your_email@example.com" export M365_ENCRYPTED_PASSWORD="6500780061006d0070006c006500700061007300730077006f0072006400" # replace this to yours ``` -These two new environment variables are required to execute the PowerShell modules needed to retrieve information from M365 services. Prowler will use service principal authentication to log into MS Graph and user credentials to authenticate to Microsoft PowerShell modules. +These two new environment variables are **required** to execute the PowerShell modules needed to retrieve information from M365 services. Prowler uses Service Principal authentication to access Microsoft Graph and user credentials to authenticate to Microsoft PowerShell modules. -The `M365_USER` should be your Microsoft account email, and `M365_ENCRYPTED_PASSWORD` must be an encrypted SecureString. -To convert your password into a valid encrypted string, run the following commands in PowerShell: +- `M365_USER` should be your Microsoft account email using the default domain. This means it must look like `example@YourCompany.onmicrosoft.com`. -```console -$securePassword = ConvertTo-SecureString "examplepassword" -AsPlainText -Force -$encryptedPassword = $securePassword | ConvertFrom-SecureString -``` + To ensure that you are using the default domain you can see how to verify it [here](../tutorials/microsoft365/getting-started-m365.md#step-1-obtain-your-domain). -If everything is done correctly, you will see the encrypted string that you need to set as the `M365_ENCRYPTED_PASSWORD` environment variable. -```console -Write-Output $encryptedPassword -6500780061006d0070006c006500700061007300730077006f0072006400 -``` + If you don't have a user created with that domain, Prowler will not work as it will not be able to ensure both app an user belong to the same tenant. To proceed, you can either create a new user with that domain or modify the domain of an existing user. + + ![User Domains](../tutorials/microsoft365/img/user-domains.png) + +- `M365_ENCRYPTED_PASSWORD` must be an encrypted SecureString. To convert your password into a valid encrypted string, you need to use PowerShell. + + ???+ warning + Passwords encrypted using ConvertTo-SecureString can only be decrypted on the same OS/user context. If you generate an encrypted password on macOS or Linux (both UNIX), it should fail on Windows and vice versa. As Prowler Cloud runs on UNIX if you generate your password using Windows it won't work so you'll need to generate a new password using any UNIX distro (example above) + + If you are working from Windows and you will use your encrypted password in a different system (like for example executing Prowler in macOS or adding your password to Prowler Cloud), you will need to generate a "UNIX compatible" version of your encrypted password. This can be done using WSL which is so easy to install on Windows. + + === "UNIX" + + Open a PowerShell cmd with a [supported version](requirements.md#supported-powershell-versions) and then run the following command: + + ```console + $securePassword = ConvertTo-SecureString "examplepassword" -AsPlainText -Force + $encryptedPassword = $securePassword | ConvertFrom-SecureString + Write-Output $encryptedPassword + 6500780061006d0070006c006500700061007300730077006f0072006400 + ``` + + If everything is done correctly, you will see the encrypted string that you need to set as the `M365_ENCRYPTED_PASSWORD` environment variable. + + === "Windows" + + + How to install WSL and PowerShell on it to generate that password (you can use a different distro but this one will work for sure): + + ```console + wsl --install -d Ubuntu-22.04 + ``` + + Then, open the Ubuntu terminal and run the following commands: + + ```console + sudo apt update && sudo apt install -y wget apt-transport-https software-properties-common + wget -q "https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb" + sudo dpkg -i packages-microsoft-prod.deb + sudo apt update + sudo apt install -y powershell + pwsh + ``` + + With this done you will see now that a prompt running PowerShell with the latest version is open so here you will be able to generate your encrypted password: + + ```console + $securePassword = ConvertTo-SecureString "examplepassword" -AsPlainText -Force + $encryptedPassword = $securePassword | ConvertFrom-SecureString + Write-Output $encryptedPassword + 6500780061006d0070006c006500700061007300730077006f0072006400 + ``` + + If everything is done correctly, you will see the encrypted string that you need to set as the `M365_ENCRYPTED_PASSWORD` environment variable. @@ -184,3 +231,238 @@ Write-Output $encryptedPassword Authentication flag: `--browser-auth` This authentication method requires the user to authenticate against Azure using the default browser to start the scan, also `--tenant-id` flag is required. + +With this credentials you will only be able to run the checks that work through MS Graph, this means that you won't run all the provider. If you want to scan all the checks from M365 you will need to use the recommended authentication method. + +Since this is a delegated permission authentication method, necessary permissions should be given to the user, not the app. + + +### Needed permissions + +Prowler for M365 requires two types of permission scopes to be set (if you want to run the full provider including PowerShell checks). Both must be configured using Microsoft Entra ID: + +- **Service Principal Application Permissions**: These are set at the **application** level and are used to retrieve data from the identity being assessed: + - `Directory.Read.All`: Required for all services. + - `Policy.Read.All`: Required for all services. + - `User.Read` (IMPORTANT: this must be set as **delegated**): Required for the sign-in. + - `Sites.Read.All`: Required for SharePoint service. + - `SharePointTenantSettings.Read.All`: Required for SharePoint service. + +- **Powershell Modules Permissions**: These are set at the `M365_USER` level, so the user used to run Prowler must have one of the following roles: + - `Global Reader` (recommended): this allows you to read all roles needed. + - `Exchange Administrator` and `Teams Administrator`: user needs both roles but with this [roles](https://learn.microsoft.com/en-us/exchange/permissions-exo/permissions-exo#microsoft-365-permissions-in-exchange-online) you can access to the same information as a Global Reader (since only read access is needed, Global Reader is recommended). + +In order to know how to assign those permissions and roles follow the instructions in the Microsoft Entra ID [permissions](../tutorials/microsoft365/getting-started-m365.md#grant-required-api-permissions) and [roles](../tutorials/microsoft365/getting-started-m365.md#assign-required-roles-to-your-user) section. + + +### Supported PowerShell versions + +You must have PowerShell installed to run certain M365 checks. +Currently, we support **PowerShell version 7.4 or higher** (7.5 is recommended). + +This requirement exists because **PowerShell 5.1** (the version that comes by default on some Windows systems) does not support several cmdlets needed to run the checks properly. +Additionally, earlier [PowerShell Cross-Platform versions](https://learn.microsoft.com/en-us/powershell/scripting/install/powershell-support-lifecycle?view=powershell-7.5) are no longer under technical support, which may cause unexpected errors. + + +???+ note + Installing powershell will be only needed if you install prowler from pip or other sources, these means that the SDK and API containers contain PowerShell installed by default. + +Installing PowerShell is different depending on your OS. + +- [Windows](https://learn.microsoft.com/es-es/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.5#install-powershell-using-winget-recommended): you will need to update PowerShell to +7.4 to be able to run prowler, if not some checks will not show findings and the provider could not work as expected. This version of PowerShell is [supported](https://learn.microsoft.com/es-es/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.4#supported-versions-of-windows) on Windows 10, Windows 11, Windows Server 2016 and higher versions. + +```console +winget install --id Microsoft.PowerShell --source winget +``` + + +- [MacOS](https://learn.microsoft.com/es-es/powershell/scripting/install/installing-powershell-on-macos?view=powershell-7.5#install-the-latest-stable-release-of-powershell): installing PowerShell on MacOS needs to have installed [brew](https://brew.sh/), once you have it is just running the command above, Pwsh is only supported in macOS 15 (Sequoia) x64 and Arm64, macOS 14 (Sonoma) x64 and Arm64, macOS 13 (Ventura) x64 and Arm64 + +```console +brew install powershell/tap/powershell +``` + +Once it's installed run `pwsh` on your terminal to verify it's working. + +- Linux: installing PowerShell on Linux depends on the distro you are using: + + - [Ubuntu](https://learn.microsoft.com/es-es/powershell/scripting/install/install-ubuntu?view=powershell-7.5#installation-via-package-repository-the-package-repository): The required version for installing PowerShell +7.4 on Ubuntu are Ubuntu 22.04 and Ubuntu 24.04. The recommended way to install it is downloading the package available on PMC. You just need to follow the following steps: + + ```console + ################################### + # Prerequisites + + # Update the list of packages + sudo apt-get update + + # Install pre-requisite packages. + sudo apt-get install -y wget apt-transport-https software-properties-common + + # Get the version of Ubuntu + source /etc/os-release + + # Download the Microsoft repository keys + wget -q https://packages.microsoft.com/config/ubuntu/$VERSION_ID/packages-microsoft-prod.deb + + # Register the Microsoft repository keys + sudo dpkg -i packages-microsoft-prod.deb + + # Delete the Microsoft repository keys file + rm packages-microsoft-prod.deb + + # Update the list of packages after we added packages.microsoft.com + sudo apt-get update + + ################################### + # Install PowerShell + sudo apt-get install -y powershell + + # Start PowerShell + pwsh + ``` + + - [Alpine](https://learn.microsoft.com/es-es/powershell/scripting/install/install-alpine?view=powershell-7.5#installation-steps): The only supported version for installing PowerShell +7.4 on Alpine is Alpine 3.20. The unique way to install it is downloading the tar.gz package available on [PowerShell github](https://github.com/PowerShell/PowerShell/releases/download/v7.5.0/powershell-7.5.0-linux-musl-x64.tar.gz). You just need to follow the following steps: + + ```console + # Install the requirements + sudo apk add --no-cache \ + ca-certificates \ + less \ + ncurses-terminfo-base \ + krb5-libs \ + libgcc \ + libintl \ + libssl3 \ + libstdc++ \ + tzdata \ + userspace-rcu \ + zlib \ + icu-libs \ + curl + + apk -X https://dl-cdn.alpinelinux.org/alpine/edge/main add --no-cache \ + lttng-ust \ + openssh-client \ + + # Download the powershell '.tar.gz' archive + curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.5.0/powershell-7.5.0-linux-musl-x64.tar.gz -o /tmp/powershell.tar.gz + + # Create the target folder where powershell will be placed + sudo mkdir -p /opt/microsoft/powershell/7 + + # Expand powershell to the target folder + sudo tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7 + + # Set execute permissions + sudo chmod +x /opt/microsoft/powershell/7/pwsh + + # Create the symbolic link that points to pwsh + sudo ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh + + # Start PowerShell + pwsh + ``` + + - [Debian](https://learn.microsoft.com/es-es/powershell/scripting/install/install-debian?view=powershell-7.5#installation-on-debian-11-or-12-via-the-package-repository): The required version for installing PowerShell +7.4 on Debian are Debian 11 and Debian 12. The recommended way to install it is downloading the package available on PMC. You just need to follow the following steps: + + ```console + ################################### + # Prerequisites + + # Update the list of packages + sudo apt-get update + + # Install pre-requisite packages. + sudo apt-get install -y wget + + # Get the version of Debian + source /etc/os-release + + # Download the Microsoft repository GPG keys + wget -q https://packages.microsoft.com/config/debian/$VERSION_ID/packages-microsoft-prod.deb + + # Register the Microsoft repository GPG keys + sudo dpkg -i packages-microsoft-prod.deb + + # Delete the Microsoft repository GPG keys file + rm packages-microsoft-prod.deb + + # Update the list of packages after we added packages.microsoft.com + sudo apt-get update + + ################################### + # Install PowerShell + sudo apt-get install -y powershell + + # Start PowerShell + pwsh + ``` + + - [Rhel](https://learn.microsoft.com/es-es/powershell/scripting/install/install-rhel?view=powershell-7.5#installation-via-the-package-repository): The required version for installing PowerShell +7.4 on Red Hat are RHEL 8 and RHEL 9. The recommended way to install it is downloading the package available on PMC. You just need to follow the following steps: + + ```console + ################################### + # Prerequisites + + # Get version of RHEL + source /etc/os-release + if [ ${VERSION_ID%.*} -lt 8 ] + then majorver=7 + elif [ ${VERSION_ID%.*} -lt 9 ] + then majorver=8 + else majorver=9 + fi + + # Download the Microsoft RedHat repository package + curl -sSL -O https://packages.microsoft.com/config/rhel/$majorver/packages-microsoft-prod.rpm + + # Register the Microsoft RedHat repository + sudo rpm -i packages-microsoft-prod.rpm + + # Delete the downloaded package after installing + rm packages-microsoft-prod.rpm + + # Update package index files + sudo dnf update + # Install PowerShell + sudo dnf install powershell -y + ``` + +- [Docker](https://learn.microsoft.com/es-es/powershell/scripting/install/powershell-in-docker?view=powershell-7.5#use-powershell-in-a-container): The following command download the latest stable versions of PowerShell: + + ```console + docker pull mcr.microsoft.com/dotnet/sdk:9.0 + ``` + + To start an interactive shell of Pwsh you just need to run: + + ```console + docker run -it mcr.microsoft.com/dotnet/sdk:9.0 pwsh + ``` + + +### Needed PowerShell modules + +To obtain the required data for this provider, we use several PowerShell cmdlets. +These cmdlets come from different modules that must be installed. + +The installation of these modules will be performed automatically if you run Prowler with the flag `--init-modules`. This an example way of running Prowler and installing the modules: + +```console +python3 prowler-cli.py m365 --verbose --log-level ERROR --env-auth --init-modules +``` + +If you already have them installed, there is no problem even if you use the flag because it will automatically check if the needed modules are already installed. + +???+ note + Prowler installs the modules using `-Scope CurrentUser`. + If you encounter any issues with services not working after the automatic installation, try installing the modules manually using `-Scope AllUsers` (administrator permissions are required for this). + The command needed to install a module manually is: + ```powershell + Install-Module -Name "ModuleName" -Scope AllUsers -Force + ``` + +The required modules are: + +- [ExchangeOnlineManagement](https://www.powershellgallery.com/packages/ExchangeOnlineManagement/3.6.0): Minimum version 3.6.0. Required for several checks across Exchange, Defender, and Purview. +- [MicrosoftTeams](https://www.powershellgallery.com/packages/MicrosoftTeams/6.6.0): Minimum version 6.6.0. Required for all Teams checks. diff --git a/docs/index.md b/docs/index.md index 1645b3d4fc..a92d4b0444 100644 --- a/docs/index.md +++ b/docs/index.md @@ -585,7 +585,7 @@ prowler m365 --browser-auth --tenant-id "XXXXXXXX" ``` -See more details about M365 Authentication in [Requirements](getting-started/requirements/#microsoft-365) +See more details about M365 Authentication in [Requirements](getting-started/requirements.md#microsoft-365) ## Prowler v2 Documentation For **Prowler v2 Documentation**, please check it out [here](https://github.com/prowler-cloud/prowler/blob/8818f47333a0c1c1a457453c87af0ea5b89a385f/README.md). diff --git a/docs/tutorials/microsoft365/getting-started-m365.md b/docs/tutorials/microsoft365/getting-started-m365.md new file mode 100644 index 0000000000..4cfaf1893f --- /dev/null +++ b/docs/tutorials/microsoft365/getting-started-m365.md @@ -0,0 +1,205 @@ +# Getting Started with M365 on Prowler Cloud + +Set up your M365 account to enable security scanning using Prowler Cloud. + +## Requirements + +To configure your M365 account, you’ll need: + +1. Obtain your `Default Domain` from the Entra ID portal. + +2. Access Prowler Cloud and add a new cloud provider `Microsoft 365`. + +3. Configure your M365 account: + + 3.1 Create the Service Principal app. + + 3.2 Grant the required API permissions. + + 3.3 Assign the required roles to your user. + + 3.4 Retrieve your encrypted password. + +4. Add the credentials to Prowler Cloud. + +## Step 1: Obtain your Domain + +Go to the Entra ID portal, then you can search for `Domain` or go to Identity > Settings > Domain Names. + +![Search Domain Names](./img/search-domain-names.png) + +
+ +![Custom Domain Names](./img/custom-domain-names.png) + +Once you are there just look for the `Default Domain` this should be something similar to `YourCompany.onmicrosoft.com`. To ensure that you are picking the correct domain just click on it and verify that the type is `Initial` and you can't delete it. + +![Search Default Domain](./img/search-default-domain.png) + +--- + +## Step 2: Access Prowler Cloud + +1. Go to [Prowler Cloud](https://cloud.prowler.com/) +2. Navigate to `Configuration` > `Cloud Providers` + + ![Cloud Providers Page](../img/cloud-providers-page.png) + +3. Click on `Add Cloud Provider` + + ![Add a Cloud Provider](../img/add-cloud-provider.png) + +4. Select `Microsoft 365` + + ![Select Microsoft 365](./img/select-m365-prowler-cloud.png) + +5. Add the Domain ID and an optional alias, then click `Next` + + ![Add Domain ID](./img/add-domain-id.png) + +--- + +## Step 3: Configure your M365 account + + +### Create the Service Principal app + +A Service Principal is required to grant Prowler the necessary privileges. + +1. Access **Microsoft Entra ID** + + ![Overview of Microsoft Entra ID](./img/microsoft-entra-id.png) + +2. Navigate to `Applications` > `App registrations` + + ![App Registration nav](./img/app-registration-menu.png) + +3. Click `+ New registration`, complete the form, and click `Register` + + ![New Registration](./img/new-registration.png) + +4. Go to `Certificates & secrets` > `+ New client secret` + + ![Certificate & Secrets nav](./img/certificates-and-secrets.png) + +5. Fill in the required fields and click `Add`, then copy the generated value (that value will be `AZURE_CLIENT_SECRET`) + + ![New Client Secret](./img/new-client-secret.png) + +With this done you will have all the needed keys, summarized in the following table + +| Value | Description | +|-------|-------------| +| Client ID | Application (client) ID | +| Client Secret | AZURE_CLIENT_SECRET | +| Tenant ID | Directory (tenant) ID | + +--- + +### Grant required API permissions + +Assign the following Microsoft Graph permissions: + +- `Directory.Read.All`: Required for all services. +- `Policy.Read.All`: Required for all services. +- `User.Read` (IMPORTANT: this is set as **delegated**): Required for the sign-in. +- `Sites.Read.All`: Required for SharePoint service. +- `SharePointTenantSettings.Read.All`: Required for SharePoint service. + +Follow these steps to assign the permissions: + +1. Go to your App Registration > Select your Prowler App created before > click on `API permissions` + + ![API Permission Page](./img/api-permissions-page.png) + +2. Click `+ Add a permission` > `Microsoft Graph` > `Application permissions` + + ![Add API Permission](./img/add-app-api-permission.png) + +3. Search and select every permission below and once all are selected click on `Add permissions`: + + - `Directory.Read.All` + - `Policy.Read.All` + - `Sites.Read.All` + - `SharePointTenantSettings.Read.All` + + ![Permission Screenshots](./img/directory-permission.png) + +4. Click `Add permissions`, then grant admin consent + + ![Grant Admin Consent](./img/grant-admin-consent.png) + +5. Click `+ Add a permission` > `Microsoft Graph` > `Delegated permissions` + + ![Add API Permission](./img/add-delegated-api-permission.png) + +6. Search and select: + + - `User.Read` + + ![Permission Screenshots](./img/directory-permission-delegated.png) + +7. Click `Add permissions`, then grant admin consent + + ![Grant Admin Consent](./img/grant-admin-consent-delegated.png) + +--- + +### Assign required roles to your user + +Assign one of the following roles to your User: + +- `Global Reader` (recommended): this allows you to read all roles needed. +- `Exchange Administrator` and `Teams Administrator`: user needs both roles but with this [roles](https://learn.microsoft.com/en-us/exchange/permissions-exo/permissions-exo#microsoft-365-permissions-in-exchange-online) you can access to the same information as a Global Reader (here you only read so that's why we recomend that role). + +Follow these steps to assign the role: + +1. Go to Users > All Users > Click on the email for the user you will use + + ![User Overview](./img/user-info-page.png) + +2. Click `Assigned Roles` + + ![User Roles](./img/user-role-page.png) + +3. Click on `Add assignments`, then search and select: + + - `Global Reader` This is the recommended, if you want to use the others just search for them + + ![Global Reader Screenshots](./img/global-reader.png) + +4. Click on next, then assign the role as `Active`, and click on `Assign` to grant admin consent + + ![Grant Admin Consent for Role](./img/grant-admin-consent-for-role.png) + +--- + +### Get your encrypted password + +For this step you will need to use PowerShell, here you will have to create your Encrypted Password based on the password of the User that you are going to use. For more information about how to generate this Password go [here](../../getting-started/requirements.md#service-principal-and-user-credentials-authentication-recommended) and follow the steps needed to obtain `M365_ENCRYPTED_PASSWORD`. + +--- + +## Step 4: Add credentials to Prowler Cloud + +1. Go to your App Registration overview and copy the `Client ID` and `Tenant ID` + + ![App Overview](./img/app-overview.png) + +2. Go to Prowler Cloud and paste: + + - `Client ID` + - `Tenant ID` + - `AZURE_CLIENT_SECRET` from earlier + - `M365_USER` your user using the default domain, more info [here](../../getting-started/requirements.md#service-principal-and-user-credentials-authentication-recommended) + - `M365_ENCRYPTED_PASSWORD` generated before + + ![Prowler Cloud M365 Credentials](./img/add-credentials-m365-prowler-cloud.png) + +3. Click `Next` + + ![Next Detail](./img/click-next-m365.png) + +4. Click `Launch Scan` + + ![Launch Scan M365](./img/launch-scan.png) diff --git a/docs/tutorials/microsoft365/img/add-app-api-permission.png b/docs/tutorials/microsoft365/img/add-app-api-permission.png new file mode 100644 index 0000000000000000000000000000000000000000..f05e113e9e564e88aba05a26892a477607572d72 GIT binary patch literal 158671 zcmeFYhg*|N6E_?>s0f0BiWEgaYUsU+NCyS!O?oHvUPVMyr1vVl2kAXh1Ocg`x6nfm z5FkK+eDQeBbIx?|PCe$!2$F%k1v#%x~t7c%ddwdhPx-002O$sPIe!0Kmru z0PwPj39&hanqvz9zztPfS=kqgva$>>TtQa04we9bLPUZNk*;PhRi=T4A~E^<;P~M* zhDS`n@#Ok|O*!&}XnbO(?zh=y^3-<>o8P~d(~-G7d+mprtdWQ1%bg0#uh~^qTvR)K zY2?yL0c(D6^!ftk%56Q%Z7{=t5b!))nz>)D7Vsl(z296GcZxDrb1IK37{Hs2iRKXi^{}k<#rd!}gz; z>IazFL)U~*x2bQ>`(wkqOI+W1_{H-H7>3!BL*feLpUaft0X`@{yS!ri*{AW2x#;qx z!Iw8g_Jq3RQJSmW2Slg3F$~-f%oyME`_e4PsPQOW1b8So*-#@H@2T2)ZZjub9o)|n1{kl z^*!Sq5tk)A$>K1*mLD?ojl9|kADOybzw$qpE{{sE{1IwSbm0YOC3Ndivrs&Z!8>&g z)b=lG(w<`ck}VaOe0_p3(Up?Wqw537t_}h)o3R{Sn4)X_3@PnQ{Cj9Wl1?RHW>;>R#s8jb2 z%f00>dHHCb;X;jGoT!I`cuNe_#_Z^XJlR{1-^fSDTrfVuad?_6%jHmV6*NRvWpa

|f(w-s@dFnfVKQn|C||Qoq7Zp~3EPh8 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

BR$4FV=D!am(?d+vY_?f>m3Z1k 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%0Ac&eiH@oV2X2dsMidg-vk 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 z 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 NxCYUWwhm%+TXciWpj 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 literal 0 HcmV?d00001 diff --git a/docs/tutorials/microsoft365/img/api-permissions-page.png b/docs/tutorials/microsoft365/img/api-permissions-page.png new file mode 100644 index 0000000000000000000000000000000000000000..32a7cf2e9e73ec0828ed119ca369790337baaddf GIT binary patch literal 332016 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

nX7dXsAj9(Dl!(q1NM%ZyE=H5 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

e7#R@TDy?QeaD*ev_dHgTsj=DmE-ko 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%0D|vilFar zEx%FO1ZQoGaVKTw!z`Tc!<>{5{6S`azj9=yhafY_`~_aoaqb|4dgFR}Mz}Ie$!^j@gmjnRK!5AEFQfPZd=#&#Kef zEtf+Z3*JApIY@x?aLzA0>9fm!J(b$;`UChV%0AYJ(H=fEXua4Ni%%*~#HK9-a7D!; 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 Mq#^_3;m%es!)o5^)JlBXR3g%G9I~p5oIi>_ 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 literal 0 HcmV?d00001 diff --git a/docs/tutorials/microsoft365/img/app-overview.png b/docs/tutorials/microsoft365/img/app-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..1a2cf7b2ab8c4f6a58c01fc397ae27404ef9f5a4 GIT binary patch literal 337670 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